Files
app/ts/reception/classes.totpcredential.ts
T

31 lines
850 B
TypeScript

import * as plugins from '../plugins.js';
import type { MfaManager } from './classes.mfamanager.js';
@plugins.smartdata.Manager()
export class TotpCredential extends plugins.smartdata.SmartDataDbDoc<TotpCredential, any, MfaManager> {
@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,
};
}