@alisdigital/types-library
Version:
TypeScript type definitions for Papilet ecosystem with session soft delete and event management features
33 lines (32 loc) • 922 B
TypeScript
import { IImageModelAttributes } from "../../Base/entities/image.entity";
import { IEventModelAttributes } from "./event.entity";
export type RoleType = "admin" | "organizer" | "officer" | "client" | "entry_staff";
export interface IUserModelAttributes {
_id: string;
name: string;
email: string;
phoneNumber: string;
password: string;
googlePassword: string;
applePassword: string;
otpSecret: string;
image: IImageModelAttributes;
roles: RoleType[];
favorites: (string | IEventModelAttributes)[];
isActive?: boolean;
isTFAEnabled?: boolean;
papiPoint: number;
shareCount: number;
loginAttempts?: number;
lockUntil?: number;
birthDate?: Date;
notificationPreferences: {
email: boolean;
sms: boolean;
newsletter: boolean;
};
lastLogin?: Date;
lastLoginIP?: string;
createdAt?: Date;
updatedAt?: Date;
}