Files
Jyotisha/frontend/src/modules/identity/contracts.ts
T
2026-08-06 20:15:08 +08:00

32 lines
570 B
TypeScript

export type EmailOtpType =
| "sign-in"
| "email-verification"
| "forget-password"
| "change-email";
export interface EmailOtpMessage {
email: string;
otp: string;
type: EmailOtpType;
idempotencyKey: string;
}
export interface EmailOtpSender {
send(message: EmailOtpMessage): Promise<void>;
}
export interface IdentityUser {
id: string;
email: string;
emailVerified: boolean;
twoFactorEnabled: boolean;
name: string;
image: string | null;
role: string[];
}
export interface IdentitySession {
user: IdentityUser;
expiresAt: Date;
}