import { DyFM_Metadata } from '@futdevpro/fsm-dynamo'; import { DyFM_DataModel_Params } from '@futdevpro/fsm-dynamo'; /** * Default User Model * Basic user model for authentication and user management * Can be extended or replaced with custom user models */ export class DyNTS_Default_User extends DyFM_Metadata { username: string; email: string; passwordHash?: string; displayName?: string; avatarUrl?: string; roles: string[]; isActive: boolean; lastLoginAt?: Date; constructor(set?: DyNTS_Default_User) { super(set); if (set) { Object.assign(this, set); } } } export const DyNTS_defaultUser_dataParams: DyFM_DataModel_Params = new DyFM_DataModel_Params({ dataName: 'default-user RENAME OR EXTEND THIS DONT USE AS IS', properties: { username: { key: 'username', type: 'string', required: true, unique: true, index: true, }, email: { key: 'email', type: 'string', required: true, unique: true, index: true, }, passwordHash: { key: 'passwordHash', type: 'string', }, displayName: { key: 'displayName', type: 'string', }, avatarUrl: { key: 'avatarUrl', type: 'string', }, roles: { key: 'roles', type: 'string[]', required: true, }, isActive: { key: 'isActive', type: 'boolean', required: true, }, lastLoginAt: { key: 'lastLoginAt', type: 'date', }, }, });