"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const sequelize_1=require("sequelize");class kycVerificationService extends sequelize_1.Model{static initModel(e){return kycVerificationService.init({id:{type:sequelize_1.DataTypes.STRING,primaryKey:!0,allowNull:!1,comment:"Unique identifier for the verification service provider"},name:{type:sequelize_1.DataTypes.STRING(191),allowNull:!1,validate:{notEmpty:{msg:"name: Name cannot be empty"}},comment:"Display name of the verification service provider"},description:{type:sequelize_1.DataTypes.TEXT,allowNull:!1,validate:{notEmpty:{msg:"description: Description cannot be empty"}},comment:"Description of the verification service and its capabilities"},type:{type:sequelize_1.DataTypes.STRING(50),allowNull:!1,validate:{notEmpty:{msg:"type: Type cannot be empty"}},comment:"Type of verification service (e.g., 'document', 'identity', 'address')"},integrationDetails:{type:sequelize_1.DataTypes.JSON,allowNull:!1,comment:"Configuration and API details for integrating with the service"}},{sequelize:e,modelName:"kycVerificationService",tableName:"kyc_verification_service",timestamps:!0,paranoid:!1,indexes:[{name:"PRIMARY",unique:!0,using:"BTREE",fields:[{name:"id"}]}]})}static associate(e){kycVerificationService.hasMany(e.kycVerificationResult,{as:"verificationResults",foreignKey:"serviceId",onDelete:"CASCADE",onUpdate:"CASCADE"});kycVerificationService.hasMany(e.kycLevel,{as:"levels",foreignKey:"serviceId",onDelete:"SET NULL",onUpdate:"CASCADE"})}}exports.default=kycVerificationService;