"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const sequelize_1=require("sequelize");class oneTimeToken extends sequelize_1.Model{static initModel(e){return oneTimeToken.init({id:{type:sequelize_1.DataTypes.UUID,defaultValue:sequelize_1.DataTypes.UUIDV4,primaryKey:!0,allowNull:!1},tokenId:{type:sequelize_1.DataTypes.STRING(60),allowNull:!1,validate:{notEmpty:{msg:"tokenId: Token ID cannot be empty"}}},tokenType:{type:sequelize_1.DataTypes.ENUM("RESET"),allowNull:!0,validate:{isIn:{args:[["RESET"]],msg:"tokenType: Token type must be RESET"}}},expiresAt:{type:sequelize_1.DataTypes.DATE,allowNull:!1,validate:{isDate:{msg:"expiresAt: Expires At must be a valid date",args:!0}}}},{sequelize:e,modelName:"oneTimeToken",tableName:"one_time_token",timestamps:!0,indexes:[{name:"PRIMARY",unique:!0,using:"BTREE",fields:[{name:"id"}]},{name:"tokenId",unique:!0,using:"BTREE",fields:[{name:"tokenId"}]}]})}static associate(e){}}exports.default=oneTimeToken;