"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const sequelize_1=require("sequelize");class NftCreatorFollow extends sequelize_1.Model{static initModel(e){return NftCreatorFollow.init({id:{type:sequelize_1.DataTypes.UUID,defaultValue:sequelize_1.DataTypes.UUIDV4,primaryKey:!0},followerId:{type:sequelize_1.DataTypes.UUID,allowNull:!1,onDelete:"CASCADE",onUpdate:"CASCADE"},followingId:{type:sequelize_1.DataTypes.UUID,allowNull:!1,onDelete:"CASCADE",onUpdate:"CASCADE"}},{sequelize:e,modelName:"nftCreatorFollow",tableName:"nft_creator_follows",timestamps:!0,indexes:[{unique:!0,fields:["followerId","followingId"],name:"unique_creator_follow"},{fields:["followerId"],name:"idx_creator_follow_follower"},{fields:["followingId"],name:"idx_creator_follow_following"},{fields:["createdAt"],name:"idx_creator_follow_created"}]})}static associate(e){NftCreatorFollow.belongsTo(e.user,{as:"follower",foreignKey:"followerId",onDelete:"CASCADE",onUpdate:"CASCADE"});NftCreatorFollow.belongsTo(e.user,{as:"following",foreignKey:"followingId",onDelete:"CASCADE",onUpdate:"CASCADE"})}}exports.default=NftCreatorFollow;