create profile for expert

This commit is contained in:
2026-05-18 13:49:33 +03:30
parent f3a9b5e788
commit 86e353749a
6 changed files with 176 additions and 15 deletions

View File

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

View File

@@ -4,6 +4,8 @@ namespace App\User\Requests\Profile;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
use Illuminate\Validation\Validator;
class EditRequest extends FormRequest
{
@@ -22,10 +24,32 @@ class EditRequest extends FormRequest
*/
public function rules(): array
{
$user = $this->user();
$isKycApproved = (int) $user->kyc_status === 2;
return [
'first_name' => 'required|string',
'last_name' => 'required|string',
'national_id' => 'required',
'first_name' => [
Rule::prohibitedIf($isKycApproved),
'required',
'string',
'max:255',
],
'last_name' => [
Rule::prohibitedIf($isKycApproved),
'required',
'string',
'max:255',
],
'national_id' => [
Rule::prohibitedIf($isKycApproved),
'required',
'string',
'max:20',
Rule::unique('users', 'national_id')->ignore($user->id),
],
'address' => 'required',
'postal_code' => 'required',
'phone_number' => 'required',
@@ -33,4 +57,16 @@ class EditRequest extends FormRequest
'city_id' => 'required',
];
}
public function after(): array
{
return [
function (Validator $validator) {
$user = $this->user();
if ( $user->kyc_status === 1) {
if
}
},
];
}
}