61 lines
1.2 KiB
TypeScript
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';
|