feat: add age and status

This commit is contained in:
2026-06-10 11:46:28 +03:30
parent 80ba523f92
commit 66e759f03a
2 changed files with 45 additions and 1 deletions
+19 -1
View File
@@ -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) {