61 lines
1.2 KiB
TypeScript

export interface LoginResponse {
message: string;
phone: string;
code: string;
}
export interface VerifyOtpResponse {
message: string;
isNewUser: boolean;
accessToken: string;
refreshToken: string;
user: User;
}
export interface User {
id: string;
roleId: string;
roleEnum: RoleEnum;
name: string | null;
email: string | null;
phone: string;
profileImage: string | null;
status: UserStatus;
mfaEnabled: boolean;
createdAt: string;
updatedAt: string;
deletedAt: string | null;
isDeleted: boolean;
lastLogoutAt: string | null;
loginAt: string;
refreshTokenId: string;
refreshTokenHash: string;
refreshTokenExpiresAt: string;
categoryPreferences: CategoryPreference[];
gender: Gender | null;
dateOfBirth: string | null;
role: Role;
merchants: Merchant[];
}
export interface Role {
id: string;
code: string;
scope: string;
isSystem: boolean;
}
export interface CategoryPreference {
// Extend when backend starts returning data
}
export interface Merchant {
// Extend when backend starts returning data
}
export type RoleEnum = 'CUSTOMER';
export type UserStatus = 'ONBOARDING' | 'ACTIVE' | 'INACTIVE' | 'BLOCKED';
export type Gender = 'MALE' | 'FEMALE' | 'OTHER';