From c2436610bdf43f90e0eb7fb422ac7e1d0d5cead9 Mon Sep 17 00:00:00 2001 From: Amirmahdi Nourkazemi Date: Tue, 16 Sep 2025 12:51:39 +0330 Subject: [PATCH] feat: profile & leader board changes fix: google login verified at --- app/Http/Controllers/UserController.php | 22 ++++++++++------------ app/Models/User.php | 5 ++++- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index f271286..9130f07 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -431,19 +431,10 @@ public function updateProfile(Request $request) public function profile() { - $user = auth()->user(); - $templates = BreathingTemplate::where('user_id', $user->id)->get(); - $sessions = UserBreathingSession::with('template')->where('user_id', $user->id)->get(); + $user = auth()->user()->load(['breathingSessions.template']); return response()->json([ - 'email' => $user->email, - 'name' => $user->name, - // 'last_name' => $user->last_name, - 'mobile'=> $user->mobile, - 'birthday' => $user ->birthday, - 'xp' => $user->xp, - 'templates' => $templates, - 'sessions' => $sessions + 'user' => $user ]); } public function status(Request $request) @@ -544,6 +535,7 @@ public function googleLogin(Request $request) 'first_name' => $response['given_name'] ?? null, 'last_name' => $response['family_name'] ?? null, 'password' => config('app.default_password'), + 'email_verified_at' => now(), ]); if (!$user->packageNames()->where('package_names.id', $packageName->id)->exists()) { @@ -552,6 +544,12 @@ public function googleLogin(Request $request) 'source' => $data['source'] ?? 0, ]); } + }else { + if (!$user->email_verified_at) { + $user->update([ + 'email_verified_at' => now(), + ]); + } } $token = $user->createToken('token', ['user'])->plainTextToken; @@ -563,7 +561,7 @@ public function googleLogin(Request $request) } public function leaderBoard(){ - $users = User::where('xp', '>', 0) + $users = User::with(['breathingSessions.template'])->where('xp', '>', 0) ->orderBy('xp', 'desc') ->get(); diff --git a/app/Models/User.php b/app/Models/User.php index e292dce..f7e5c66 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -101,5 +101,8 @@ public function breathingExercises() { return $this->hasMany(BreathingExercise::class); } - +public function breathingSessions() +{ + return $this->hasMany(UserBreathingSession::class, 'user_id'); +} } \ No newline at end of file