import * as plugins from '../plugins.js'; import type { MfaManager } from './classes.mfamanager.js'; @plugins.smartdata.Manager() export class TotpCredential extends plugins.smartdata.SmartDataDbDoc { @plugins.smartdata.unI() public id: string; @plugins.smartdata.svDb() public data = { userId: '', status: 'pending' as 'pending' | 'active' | 'disabled', secretCiphertext: '', secretIv: '', secretAuthTag: '', algorithm: 'sha1' as 'sha1' | 'sha256' | 'sha512', digits: 6 as 6 | 7 | 8, period: 30, backupCodes: [] as Array<{ id: string; codeHash: string; usedAt?: number | null; createdAt: number; }>, createdAt: 0, verifiedAt: null as number | null, disabledAt: null as number | null, lastUsedAt: null as number | null, }; }