Neah/types/next-auth.d.ts
2025-04-20 12:47:21 +02:00

68 lines
1.5 KiB
TypeScript

import NextAuth, { DefaultSession, DefaultUser } from "next-auth";
declare module "next-auth" {
interface Session {
user: {
id: string;
first_name: string;
last_name: string;
username: string;
email: string;
role: string[];
} & DefaultSession["user"];
accessToken?: string;
refreshToken?: string;
rocketChatToken?: string | null;
rocketChatUserId?: string | null;
error?: string;
}
interface JWT {
accessToken?: string;
refreshToken?: string;
accessTokenExpires?: number;
first_name?: string;
last_name?: string;
username?: string;
role?: string[];
rocketChatToken?: string | null;
rocketChatUserId?: string | null;
error?: string;
}
interface User extends DefaultUser {
id: string;
first_name: string;
last_name: string;
username: string;
email: string;
role: string[];
}
interface Profile {
sub: string;
email_verified: boolean;
name?: string | null;
preferred_username?: string | null;
given_name?: string | null;
family_name?: string | null;
email?: string | null;
groups?: string[];
}
}
declare module "next-auth/jwt" {
interface JWT {
accessToken?: string;
refreshToken?: string;
accessTokenExpires?: number;
first_name?: string;
last_name?: string;
username?: string;
role?: string[];
rocketChatToken?: string;
rocketChatUserId?: string;
error?: string;
}
}