burdy
Version:
Open Source Headless Platform
27 lines (26 loc) • 920 B
TypeScript
import { BaseEntity } from 'typeorm';
import UserMeta from '@server/models/user-meta.model';
import UserSession from '@server/models/user-session.model';
import UserToken from '@server/models/user-token.model';
import { IUser, UserStatus } from '@shared/interfaces/model';
import Group from '@server/models/group.model';
export default class User extends BaseEntity implements IUser {
id: number;
email: string;
password: string;
firstName?: string;
lastName?: string;
status: UserStatus;
createdAt: Date;
updatedAt: Date;
groups: Group[];
meta: UserMeta[];
sessions: UserSession[];
tokens: UserToken[];
sanitizeEmail(): void;
applyMeta(meta: object): void;
comparePasswordSync(password: string): boolean;
comparePassword(password: string): Promise<boolean>;
setPasswordSync(password: string): void;
setPassword(password: string): Promise<void>;
}