MIF_E31230069/spk_kontrakan/app/Http/Controllers/AdminProfileController.php

49 lines
1.4 KiB
PHP

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class AdminProfileController extends Controller
{
public function edit(Request $request)
{
return view('admin.profile', [
'user' => $request->user(),
]);
}
public function update(Request $request)
{
$user = $request->user();
$validated = $request->validate([
'name' => 'required|string|min:3|max:255',
'email' => 'required|email|unique:admins,email,' . $user->id,
'phone' => 'nullable|string|min:8|max:20',
'password' => 'nullable|string|min:8|confirmed',
], [
'name.required' => 'Nama harus diisi',
'email.required' => 'Email harus diisi',
'email.unique' => 'Email sudah digunakan',
'password.min' => 'Password minimal 8 karakter',
'password.confirmed' => 'Konfirmasi password tidak cocok',
]);
$updateData = [
'name' => $validated['name'],
'email' => $validated['email'],
'phone' => $validated['phone'] ?? $user->phone,
];
if (!empty($validated['password'])) {
$updateData['password'] = Hash::make($validated['password']);
}
$user->update($updateData);
return redirect()->route('admin.profile')->with('success', 'Profil berhasil diperbarui');
}
}