mirror of
https://github.com/tiennm99/coolify.git
synced 2026-04-17 17:21:04 +00:00
fix(user): improve cache key and remove redundant route check
- Include sessionTeamId in currentTeam() cache key to prevent stale
team data when users switch teams
- Update refreshSession() to use new cache key format
- Remove redundant routeIs('settings.index') check since settings.*
already matches it
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -27,7 +27,7 @@ class DecideWhatToDoWithUser
|
|||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
// Instance admins can access settings and admin routes regardless of subscription
|
// Instance admins can access settings and admin routes regardless of subscription
|
||||||
if (isInstanceAdmin() && ($request->routeIs('settings.*') || $request->routeIs('settings.index') || $request->path() === 'admin')) {
|
if (isInstanceAdmin() && ($request->routeIs('settings.*') || $request->path() === 'admin')) {
|
||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
if (! auth()->user()->hasVerifiedEmail()) {
|
if (! auth()->user()->hasVerifiedEmail()) {
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ class User extends Authenticatable implements SendsEmail
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
return Cache::remember('team:'.$this->id, 3600, function () use ($sessionTeamId) {
|
return Cache::remember('user:'.$this->id.':team:'.$sessionTeamId, 3600, function () use ($sessionTeamId) {
|
||||||
return Team::find($sessionTeamId);
|
return Team::find($sessionTeamId);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,8 +182,11 @@ function refreshSession(?Team $team = null): void
|
|||||||
$team = User::find(Auth::id())->teams->first();
|
$team = User::find(Auth::id())->teams->first();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Clear old cache key format for backwards compatibility
|
||||||
Cache::forget('team:'.Auth::id());
|
Cache::forget('team:'.Auth::id());
|
||||||
Cache::remember('team:'.Auth::id(), 3600, function () use ($team) {
|
// Use new cache key format that includes team ID
|
||||||
|
Cache::forget('user:'.Auth::id().':team:'.$team->id);
|
||||||
|
Cache::remember('user:'.Auth::id().':team:'.$team->id, 3600, function () use ($team) {
|
||||||
return $team;
|
return $team;
|
||||||
});
|
});
|
||||||
session(['currentTeam' => $team]);
|
session(['currentTeam' => $team]);
|
||||||
|
|||||||
Reference in New Issue
Block a user