diff --git a/server/SHServ/Controllers/AuthController.php b/server/SHServ/Controllers/AuthController.php index 59713ca..1d43669 100644 --- a/server/SHServ/Controllers/AuthController.php +++ b/server/SHServ/Controllers/AuthController.php @@ -228,6 +228,7 @@ 'avatar_url' => $user['avatar_url'], 'system_role' => $user['system_role'], 'status' => $user['status'], + 'timezone' => $user['timezone'] ?? null, 'gauth_profile_url' => $gauthBase ? rtrim($gauthBase, '/') . '/account/profile' : '', ], 'permissions' => $permissions, diff --git a/server/SHServ/Integrations/GAuth/AuthControllerTrait.php b/server/SHServ/Integrations/GAuth/AuthControllerTrait.php index b8b5332..f79e866 100644 --- a/server/SHServ/Integrations/GAuth/AuthControllerTrait.php +++ b/server/SHServ/Integrations/GAuth/AuthControllerTrait.php @@ -146,7 +146,7 @@ $tb = app()->thin_builder; $result = $tb->select( 'shserv_users', - ['id', 'gauth_user_id', 'email', 'display_name', 'avatar_url', 'system_role', 'status'], + ['id', 'gauth_user_id', 'email', 'display_name', 'avatar_url', 'system_role', 'status', 'timezone'], [['id', '=', $userId]] ); if (!$result) { diff --git a/server/SHServ/Integrations/GAuth/UserResolver.php b/server/SHServ/Integrations/GAuth/UserResolver.php index 80b0c23..a9177cd 100644 --- a/server/SHServ/Integrations/GAuth/UserResolver.php +++ b/server/SHServ/Integrations/GAuth/UserResolver.php @@ -27,12 +27,15 @@ $displayName = $user->profile['display_name'] ?? ($user->profile['username'] ?? $user->email); $avatarUrl = $user->profile['avatar_url'] ?? ($user->profile['avatar'] ?? ''); + $timezone = $user->profile['timezone'] ?? ($user->rawPayload['timezone'] ?? null); + $data = [ 'email' => $user->email, 'display_name' => $displayName, 'avatar_url' => $avatarUrl, 'system_role' => $systemRole, 'status' => $status, + 'timezone' => $timezone, ]; if ($existing) { diff --git a/server/database/migrations/2026_06_09_000001_add_user_timezone.php b/server/database/migrations/2026_06_09_000001_add_user_timezone.php new file mode 100644 index 0000000..b2e5e53 --- /dev/null +++ b/server/database/migrations/2026_06_09_000001_add_user_timezone.php @@ -0,0 +1,16 @@ +query(" + ALTER TABLE shserv_users + ADD COLUMN timezone VARCHAR(64) NULL DEFAULT NULL + "); + + return true; +};