"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const sequelize_1=require("sequelize");class copyTradingLeaderStats extends sequelize_1.Model{static initModel(e){return copyTradingLeaderStats.init({id:{type:sequelize_1.DataTypes.UUID,defaultValue:sequelize_1.DataTypes.UUIDV4,primaryKey:!0,allowNull:!1},leaderId:{type:sequelize_1.DataTypes.UUID,allowNull:!1,validate:{notNull:{msg:"leaderId: Leader ID is required"}}},date:{type:sequelize_1.DataTypes.DATEONLY,allowNull:!1},trades:{type:sequelize_1.DataTypes.INTEGER,allowNull:!1,defaultValue:0},winningTrades:{type:sequelize_1.DataTypes.INTEGER,allowNull:!1,defaultValue:0},losingTrades:{type:sequelize_1.DataTypes.INTEGER,allowNull:!1,defaultValue:0},volume:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},profit:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},fees:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},startEquity:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},endEquity:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},highEquity:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},lowEquity:{type:sequelize_1.DataTypes.FLOAT,allowNull:!1,defaultValue:0},createdAt:{type:sequelize_1.DataTypes.DATE,allowNull:!1,defaultValue:sequelize_1.DataTypes.NOW},updatedAt:{type:sequelize_1.DataTypes.DATE,allowNull:!1,defaultValue:sequelize_1.DataTypes.NOW}},{sequelize:e,modelName:"copyTradingLeaderStats",tableName:"copy_trading_leader_stats",timestamps:!0,indexes:[{name:"PRIMARY",unique:!0,fields:[{name:"id"}]},{name:"copy_trading_leader_stats_leader_date_idx",unique:!0,fields:[{name:"leaderId"},{name:"date"}]},{name:"copy_trading_leader_stats_leader_id_idx",fields:[{name:"leaderId"}]},{name:"copy_trading_leader_stats_date_idx",fields:[{name:"date"}]}]})}static associate(e){copyTradingLeaderStats.belongsTo(e.copyTradingLeader,{foreignKey:"leaderId",as:"leader",onDelete:"CASCADE",onUpdate:"CASCADE"})}}exports.default=copyTradingLeaderStats;