fix: resolve frontend lint errors and cleanup types
CI Pipeline / Backend Build & Test (pull_request) Successful in 53s
CI Pipeline / Frontend Lint, Test & Build (pull_request) Successful in 36s
CI Pipeline / Infrastructure Validation (pull_request) Successful in 4s

This commit is contained in:
WorkClub Automation
2026-03-18 09:15:02 +01:00
parent 821459966c
commit d30895c94a
5 changed files with 33 additions and 19 deletions
+7 -7
View File
@@ -47,14 +47,14 @@ export const { handlers, signIn, signOut, auth } = NextAuth({
async jwt({ token, account }) {
if (account && account.access_token) {
// Add clubs claim from Keycloak access token
token.clubs = (account as any).clubs as Record<string, string> || {}
token.accessToken = account.access_token as string
token.clubs = (account as { clubs?: Record<string, string> }).clubs || {}
token.accessToken = account.access_token
try {
const payload = JSON.parse(Buffer.from((token.accessToken as string).split('.')[1], 'base64').toString());
const roles = payload.realm_access?.roles || [];
const roles = (payload.realm_access?.roles as string[]) || [];
token.isAdmin = roles.includes('admin');
} catch (e) {
} catch {
token.isAdmin = false;
}
}
@@ -63,10 +63,10 @@ export const { handlers, signIn, signOut, auth } = NextAuth({
async session({ session, token }) {
// Expose clubs to client
if (session.user) {
session.user.clubs = (token as any).clubs as Record<string, string> | undefined
session.user.isAdmin = (token as any).isAdmin as boolean | undefined
session.user.clubs = token.clubs as Record<string, string> | undefined
session.user.isAdmin = token.isAdmin as boolean | undefined
}
session.accessToken = (token as any).accessToken as string | undefined
session.accessToken = token.accessToken as string | undefined
return session
}
}