feat: add age and status
This commit is contained in:
@@ -209,6 +209,7 @@ public function register(Request $request)
|
||||
'package_name' => 'string|required',
|
||||
'method' => 'string|in:code,link|nullable',
|
||||
'birthday' => 'date|nullable',
|
||||
'age' => 'integer|nullable|min:0|max:120',
|
||||
'gender' => ['integer', 'nullable', Rule::in(User::GENDERS)],
|
||||
'referrer_code' => ['string', 'nullable', 'exists:users,referral_code'],
|
||||
]);
|
||||
@@ -534,12 +535,18 @@ public function updateProfile(Request $request)
|
||||
'first_name' => 'string|nullable',
|
||||
'last_name' => 'string|nullable',
|
||||
'birthday' => 'date|nullable',
|
||||
'age' => 'integer|nullable|min:0|max:120',
|
||||
'gender' => ['integer', 'nullable', Rule::in(User::GENDERS)],
|
||||
'email' => 'email|nullable',
|
||||
'mobile' => [new MobileNumber, 'string'],
|
||||
'avatar' => 'image'
|
||||
'avatar' => 'image',
|
||||
'referrer_code' => ['string', 'nullable', 'exists:users,referral_code'],
|
||||
]);
|
||||
|
||||
// referrer_code (کد معرف) is not a column — resolve it to referred_by below
|
||||
$referrerCode = $data['referrer_code'] ?? null;
|
||||
unset($data['referrer_code']);
|
||||
|
||||
$packageNameData = $request->validate([
|
||||
'package_name' => 'string',
|
||||
'fcm_token' => 'string',
|
||||
@@ -574,6 +581,17 @@ public function updateProfile(Request $request)
|
||||
$data['avatar'] = "storage/avatars/$user->uuid.png";
|
||||
}
|
||||
|
||||
// Set the referrer (کد معرف) once: only if not already referred, and never self-referral
|
||||
if ($referrerCode && !$user->referred_by) {
|
||||
$referrer = User::where('referral_code', $referrerCode)->first();
|
||||
if ($referrer && $referrer->id === $user->id) {
|
||||
return response()->json(['message' => 'you cannot use your own referral code'], 400);
|
||||
}
|
||||
if ($referrer) {
|
||||
$data['referred_by'] = $referrer->id;
|
||||
}
|
||||
}
|
||||
|
||||
$user->update($data);
|
||||
|
||||
if ($packageName ?? null) {
|
||||
|
||||
Reference in New Issue
Block a user