const { Model } = require('flitter-orm') const bcrypt = require('bcrypt') class MFARecoveryCodeModel extends Model { static get schema() { return { code: String, used: { type: Boolean, default: false }, generated: { type: Date, default: () => new Date }, } } static async create(value) { const code = await bcrypt.hash(value, 10) return new this({ code }) } async verify(code) { return await bcrypt.compare(code, this.code) } } module.exports = exports = MFARecoveryCodeModel