Files
module-farmasi/types/auth.ts
T
2026-03-31 11:11:39 +07:00

60 lines
1.0 KiB
TypeScript

// types/auth.ts
export interface ExtendedUser {
id: string;
name: string;
email: string;
preferred_username: string;
email_verified: boolean;
roles: string[];
client_roles: string[];
permissions?: string[];
given_name?: string;
family_name?: string;
username?: string;
}
export interface ExtendedSession {
user: ExtendedUser;
accessToken: string;
refreshToken: string;
expiresAt: number;
}
export interface AuthInfoData {
auth_provider: string;
email: string;
name: string;
role: any;
user_id: string;
username: string;
}
export interface AuthInfoResponse {
data: AuthInfoData;
message: string;
}
export interface LogoutResponse {
success: boolean;
logoutUrl?: string;
}
export interface SessionData {
user: AuthInfoData;
accessToken: string;
idToken?: string;
refreshToken: string;
expiresAt: number;
}
export interface LoginResponse {
data : {
provider: string;
access_token: string;
refresh_token: string;
expires_in: number;
token_type: string;
}
}