NeahFront7/types/next-auth.d.ts
2025-04-11 12:44:33 +02:00

68 lines
1.4 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;
}
}