feat(usermanagement): update user profile validation to handle nullable NIK and improve signature handling

This commit is contained in:
Sholahuddin Al Ayubi
2025-12-16 15:48:16 +07:00
parent 8b51a4f039
commit 5e0544f375

View File

@@ -286,15 +286,15 @@ class UsersController extends Controller
$validatedData = $request->validate([ $validatedData = $request->validate([
'name' => 'required|string|max:255', 'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users,email,' . $user->id, 'email' => 'required|string|email|max:255|unique:users,email,' . $user->id,
'nik' => 'nullable|string|max:255',
'sign' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', 'sign' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048',
]); ]);
$user->name = $validatedData['name']; $user->name = $validatedData['name'];
$user->email = $validatedData['email']; $user->email = $validatedData['email'];
$user->nik = $validatedData['nik']; $user->nik = $validatedData['nik'] ?? $user->nik;
if ($request->hasFile('sign')) { if ($request->hasFile('sign')) {
// Delete old e-sign if exists
if ($user->sign) { if ($user->sign) {
Storage::disk('public')->delete('signatures/' . $user->id . '/' . $user->sign); Storage::disk('public')->delete('signatures/' . $user->id . '/' . $user->sign);
} }
@@ -302,11 +302,9 @@ class UsersController extends Controller
$sign = $request->file('sign'); $sign = $request->file('sign');
$signName = time() . '.' . $sign->getClientOriginalExtension(); $signName = time() . '.' . $sign->getClientOriginalExtension();
// Make sure the directory exists
Storage::disk('public')->makeDirectory('signatures/' . $user->id); Storage::disk('public')->makeDirectory('signatures/' . $user->id);
// Store the file
$sign->storeAs('signatures/' . $user->id, $signName, 'public'); $sign->storeAs('signatures/' . $user->id, $signName, 'public');
$user->sign = $signName; $user->sign = $signName;
} }