This commit is contained in:
2026-05-18 14:10:45 +03:30
parent 3c61e279ec
commit d04637b1ef
4 changed files with 22 additions and 70 deletions

View File

@@ -23,7 +23,6 @@ class ProfileController extends Controller
public function edit(EditRequest $request): JsonResponse public function edit(EditRequest $request): JsonResponse
{ {
$expert = $request->user('expert'); $expert = $request->user('expert');
// $expert->update($request->validated());
$expert->update([ $expert->update([
'username' => $request->username, 'username' => $request->username,

View File

@@ -26,53 +26,14 @@ class EditRequest extends FormRequest
{ {
$user = $this->user(); $user = $this->user();
return [ return [
'first_name' => [
Rule::prohibitedIf($user->kyc_status == 1), 'string',
],
'last_name' => [
Rule::prohibitedIf($user->kyc_status == 1), 'string',
],
'national_id' => [
Rule::prohibitedIf($user->kyc_status == 1), 'string',
],
'username' => 'string|max:255', 'username' => 'string|max:255',
'first_name' => 'required|string',
'last_name' => 'required|string',
'national_id' => 'required',
'email' => 'string|email|max:255', 'email' => 'string|email|max:255',
'phone_number' => 'string', 'phone_number' => 'string',
'province_id' => 'string', 'province_id' => 'string',
'city_id' => 'string', 'city_id' => 'string',
]; ];
} }
public function after(): array
{
return [
function (Validator $validator) {
$user = $this->user();
if (! $user) {
return;
}
if ($user->kyc_status == 1) {
$lockedFields = [
'first_name',
'last_name',
'national_id',
];
foreach ($lockedFields as $field) {
if ($this->filled($field)) {
$validator->errors()->add(
$field,
'After KYC approval, you cannot change this field.'
);
}
}
}
},
];
}
} }

View File

@@ -24,13 +24,7 @@ class ProfileController extends Controller
{ {
$user = Auth::user(); $user = Auth::user();
$data = $request->validated(); $user->update($request->validated());
if ($user->kyc_status === 2) {
$data->safe()->except(['first_name', 'last_name' ,'national_id']);
}
$user->update($data);
return $this->successResponse(); return $this->successResponse();
} }

View File

@@ -25,31 +25,17 @@ class EditRequest extends FormRequest
public function rules(): array public function rules(): array
{ {
$user = $this->user(); $user = $this->user();
$isKycApproved = (int) $user->kyc_status === 2;
return [ return [
'first_name' => [ 'first_name' => [
Rule::prohibitedIf($isKycApproved), Rule::prohibitedIf($user->kyc_status == 1), 'string',
'required',
'string',
'max:255',
], ],
'last_name' => [ 'last_name' => [
Rule::prohibitedIf($isKycApproved), Rule::prohibitedIf($user->kyc_status == 1), 'string',
'required',
'string',
'max:255',
], ],
'national_id' => [ 'national_id' => [
Rule::prohibitedIf($isKycApproved), Rule::prohibitedIf($user->kyc_status == 1), 'string',
'required',
'string',
'max:20',
Rule::unique('users', 'national_id')->ignore($user->id),
], ],
'address' => 'required', 'address' => 'required',
'postal_code' => 'required', 'postal_code' => 'required',
'phone_number' => 'required', 'phone_number' => 'required',
@@ -62,9 +48,21 @@ class EditRequest extends FormRequest
return [ return [
function (Validator $validator) { function (Validator $validator) {
$user = $this->user(); $user = $this->user();
if ($user->kyc_status == 1) {
$lockedFields = [
'first_name',
'last_name',
'national_id',
];
if ( $user->kyc_status === 1) { foreach ($lockedFields as $field) {
if if ($this->filled($field)) {
$validator->errors()->add(
$field,
'you cannot change this field.'
);
}
}
} }
}, },
]; ];