// using System; using Managing.Infrastructure.Databases.PostgreSql; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace Managing.Infrastructure.Databases.Migrations { [DbContext(typeof(ManagingDbContext))] partial class ManagingDbContextModelSnapshot : ModelSnapshot { protected override void BuildModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "8.0.11") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.AccountEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Exchange") .IsRequired() .HasColumnType("text"); b.Property("IsGmxInitialized") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false); b.Property("Key") .IsRequired() .HasMaxLength(500) .HasColumnType("character varying(500)"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("Secret") .HasMaxLength(500) .HasColumnType("character varying(500)"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("Name") .IsUnique(); b.HasIndex("UserId"); b.ToTable("Accounts"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.AgentSummaryEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ActiveStrategiesCount") .HasColumnType("integer"); b.Property("AgentName") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("BacktestCount") .HasColumnType("integer"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Losses") .HasColumnType("integer"); b.Property("NetPnL") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("Runtime") .HasColumnType("timestamp with time zone"); b.Property("TotalBalance") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("TotalFees") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("TotalPnL") .HasColumnType("decimal(18,8)"); b.Property("TotalROI") .HasColumnType("decimal(18,8)"); b.Property("TotalVolume") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.Property("Wins") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("AgentName") .IsUnique(); b.HasIndex("TotalPnL"); b.HasIndex("UserId") .IsUnique(); b.ToTable("AgentSummaries"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.BacktestEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("ConfigJson") .IsRequired() .HasColumnType("jsonb"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Duration") .ValueGeneratedOnAdd() .HasColumnType("interval") .HasDefaultValue(new TimeSpan(0, 0, 0, 0, 0)); b.Property("EndDate") .HasColumnType("timestamp with time zone"); b.Property("Fees") .HasColumnType("decimal(18,8)"); b.Property("FinalPnl") .HasColumnType("decimal(18,8)"); b.Property("GrowthPercentage") .HasColumnType("decimal(18,8)"); b.Property("HodlPercentage") .HasColumnType("decimal(18,8)"); b.Property("Identifier") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("IndicatorsCount") .HasColumnType("integer"); b.Property("IndicatorsCsv") .IsRequired() .HasColumnType("text"); b.Property("InitialBalance") .HasColumnType("decimal(18,8)"); b.Property("MaxDrawdown") .ValueGeneratedOnAdd() .HasColumnType("decimal(18,8)") .HasDefaultValue(0m); b.Property("MaxDrawdownRecoveryTime") .ValueGeneratedOnAdd() .HasColumnType("interval") .HasDefaultValue(new TimeSpan(0, 0, 0, 0, 0)); b.Property("Metadata") .HasColumnType("text"); b.Property("MoneyManagementJson") .IsRequired() .HasColumnType("jsonb"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("NetPnl") .HasColumnType("decimal(18,8)"); b.Property("PositionCount") .HasColumnType("integer"); b.Property("PositionsJson") .IsRequired() .HasColumnType("jsonb"); b.Property("RequestId") .HasMaxLength(255) .HasColumnType("uuid"); b.Property("Score") .HasColumnType("double precision"); b.Property("ScoreMessage") .IsRequired() .HasMaxLength(1000) .HasColumnType("text"); b.Property("SharpeRatio") .ValueGeneratedOnAdd() .HasColumnType("decimal(18,8)") .HasDefaultValue(0m); b.Property("SignalsJson") .IsRequired() .HasColumnType("jsonb"); b.Property("StartDate") .HasColumnType("timestamp with time zone"); b.Property("StatisticsJson") .HasColumnType("jsonb"); b.Property("Ticker") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("Timeframe") .HasColumnType("integer"); b.Property("TradingType") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.Property("WinRate") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("Identifier") .IsUnique(); b.HasIndex("RequestId"); b.HasIndex("Score"); b.HasIndex("UserId"); b.HasIndex("RequestId", "Score"); b.HasIndex("UserId", "Name"); b.HasIndex("UserId", "Score"); b.HasIndex("UserId", "Ticker"); b.HasIndex("UserId", "Timeframe"); b.ToTable("Backtests"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.BotEntity", b => { b.Property("Identifier") .ValueGeneratedOnAdd() .HasMaxLength(255) .HasColumnType("uuid"); b.Property("AccumulatedRunTimeSeconds") .HasColumnType("bigint"); b.Property("CreateDate") .HasColumnType("timestamp with time zone"); b.Property("Fees") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("LastStartTime") .HasColumnType("timestamp with time zone"); b.Property("LastStopTime") .HasColumnType("timestamp with time zone"); b.Property("LongPositionCount") .HasColumnType("integer"); b.Property("MasterBotUserId") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("NetPnL") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("Pnl") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("Roi") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.Property("ShortPositionCount") .HasColumnType("integer"); b.Property("StartupTime") .HasColumnType("timestamp with time zone"); b.Property("Status") .IsRequired() .HasColumnType("text"); b.Property("Ticker") .IsRequired() .HasColumnType("text"); b.Property("TradeLosses") .HasColumnType("integer"); b.Property("TradeWins") .HasColumnType("integer"); b.Property("TradingType") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.Property("Volume") .HasPrecision(18, 8) .HasColumnType("numeric(18,8)"); b.HasKey("Identifier"); b.HasIndex("Identifier") .IsUnique(); b.HasIndex("MasterBotUserId"); b.HasIndex("Status"); b.HasIndex("UserId"); b.ToTable("Bots"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.BundleBacktestRequestEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CompletedAt") .HasColumnType("timestamp with time zone"); b.Property("CompletedBacktests") .HasColumnType("integer"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CurrentBacktest") .HasMaxLength(500) .HasColumnType("character varying(500)"); b.Property("DateTimeRangesJson") .IsRequired() .HasColumnType("text"); b.Property("ErrorMessage") .HasColumnType("text"); b.Property("EstimatedTimeRemainingSeconds") .HasColumnType("integer"); b.Property("FailedBacktests") .HasColumnType("integer"); b.Property("MoneyManagementVariantsJson") .IsRequired() .HasColumnType("text"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("ProgressInfo") .HasColumnType("text"); b.Property("RequestId") .HasMaxLength(255) .HasColumnType("uuid"); b.Property("ResultsJson") .IsRequired() .HasColumnType("jsonb"); b.Property("Status") .IsRequired() .HasColumnType("text"); b.Property("TickerVariantsJson") .IsRequired() .HasColumnType("text"); b.Property("TotalBacktests") .HasColumnType("integer"); b.Property("UniversalConfigJson") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.Property("Version") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(1); b.HasKey("Id"); b.HasIndex("RequestId") .IsUnique(); b.HasIndex("Status"); b.HasIndex("UserId"); b.HasIndex("UserId", "CreatedAt"); b.HasIndex("UserId", "Name", "Version"); b.ToTable("BundleBacktestRequests"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.FundingRateEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Date") .HasColumnType("timestamp with time zone"); b.Property("Direction") .HasColumnType("integer"); b.Property("Exchange") .HasColumnType("integer"); b.Property("OpenInterest") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.Property("Rate") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.Property("Ticker") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("Date"); b.HasIndex("Exchange"); b.HasIndex("Ticker"); b.HasIndex("Exchange", "Date"); b.HasIndex("Ticker", "Exchange"); b.HasIndex("Ticker", "Exchange", "Date") .IsUnique(); b.ToTable("FundingRates"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.GeneticRequestEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Balance") .HasColumnType("decimal(18,8)"); b.Property("BestChromosome") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property("BestFitness") .HasColumnType("double precision"); b.Property("BestFitnessSoFar") .HasColumnType("double precision"); b.Property("BestIndividual") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property("CompletedAt") .HasColumnType("timestamp with time zone"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CrossoverMethod") .IsRequired() .HasColumnType("text"); b.Property("CurrentGeneration") .HasColumnType("integer"); b.Property("EligibleIndicatorsJson") .HasMaxLength(2000) .HasColumnType("character varying(2000)"); b.Property("ElitismPercentage") .HasColumnType("integer"); b.Property("EndDate") .HasColumnType("timestamp with time zone"); b.Property("ErrorMessage") .HasMaxLength(2000) .HasColumnType("character varying(2000)"); b.Property("Generations") .HasColumnType("integer"); b.Property("MaxTakeProfit") .HasColumnType("double precision"); b.Property("MutationMethod") .IsRequired() .HasColumnType("text"); b.Property("MutationRate") .HasColumnType("double precision"); b.Property("PopulationSize") .HasColumnType("integer"); b.Property("ProgressInfo") .HasMaxLength(4000) .HasColumnType("character varying(4000)"); b.Property("RequestId") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("SelectionMethod") .IsRequired() .HasColumnType("text"); b.Property("StartDate") .HasColumnType("timestamp with time zone"); b.Property("Status") .IsRequired() .HasMaxLength(50) .HasColumnType("character varying(50)"); b.Property("Ticker") .IsRequired() .HasColumnType("text"); b.Property("Timeframe") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("RequestId") .IsUnique(); b.HasIndex("Status"); b.HasIndex("UserId"); b.ToTable("GeneticRequests"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.IndicatorEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("CyclePeriods") .HasColumnType("integer"); b.Property("FastPeriods") .HasColumnType("integer"); b.Property("MinimumHistory") .HasColumnType("integer"); b.Property("Multiplier") .HasColumnType("double precision"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("Period") .HasColumnType("integer"); b.Property("SignalPeriods") .HasColumnType("integer"); b.Property("SignalType") .IsRequired() .HasColumnType("text"); b.Property("SlowPeriods") .HasColumnType("integer"); b.Property("SmoothPeriods") .HasColumnType("integer"); b.Property("StochPeriods") .HasColumnType("integer"); b.Property("Timeframe") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("UserId"); b.HasIndex("UserId", "Name"); b.ToTable("Indicators"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.JobEntity", b => { b.Property("Id") .HasColumnType("uuid"); b.Property("AssignedWorkerId") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("BundleRequestId") .HasColumnType("uuid"); b.Property("CompletedAt") .HasColumnType("timestamp with time zone"); b.Property("ConfigJson") .IsRequired() .HasColumnType("jsonb"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("EndDate") .HasColumnType("timestamp with time zone"); b.Property("ErrorMessage") .HasColumnType("text"); b.Property("FailureCategory") .HasColumnType("integer"); b.Property("GeneticRequestId") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("IsRetryable") .HasColumnType("boolean"); b.Property("JobType") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(0); b.Property("LastHeartbeat") .HasColumnType("timestamp with time zone"); b.Property("MaxRetries") .HasColumnType("integer"); b.Property("Priority") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(0); b.Property("ProgressPercentage") .ValueGeneratedOnAdd() .HasColumnType("integer") .HasDefaultValue(0); b.Property("RequestId") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("ResultJson") .HasColumnType("jsonb"); b.Property("RetryAfter") .HasColumnType("timestamp with time zone"); b.Property("RetryCount") .HasColumnType("integer"); b.Property("StartDate") .HasColumnType("timestamp with time zone"); b.Property("StartedAt") .HasColumnType("timestamp with time zone"); b.Property("Status") .HasColumnType("integer"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("BundleRequestId") .HasDatabaseName("idx_bundle_request"); b.HasIndex("GeneticRequestId") .HasDatabaseName("idx_genetic_request"); b.HasIndex("AssignedWorkerId", "Status") .HasDatabaseName("idx_assigned_worker"); b.HasIndex("UserId", "Status") .HasDatabaseName("idx_user_status"); b.HasIndex("Status", "JobType", "Priority", "CreatedAt") .HasDatabaseName("idx_status_jobtype_priority_created"); b.ToTable("Jobs", (string)null); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.MoneyManagementEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Leverage") .HasColumnType("decimal(18,8)"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("StopLoss") .HasColumnType("decimal(18,8)"); b.Property("TakeProfit") .HasColumnType("decimal(18,8)"); b.Property("Timeframe") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.Property("UserName") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.HasKey("Id"); b.HasIndex("UserId"); b.HasIndex("UserName"); b.HasIndex("UserName", "Name"); b.ToTable("MoneyManagements"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.PositionEntity", b => { b.Property("Identifier") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("AccountId") .HasColumnType("integer"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Date") .HasColumnType("timestamp with time zone"); b.Property("GasFees") .HasColumnType("decimal(18,8)"); b.Property("Initiator") .IsRequired() .HasColumnType("text"); b.Property("InitiatorIdentifier") .HasColumnType("uuid"); b.Property("MoneyManagementJson") .HasColumnType("text"); b.Property("NetPnL") .HasColumnType("decimal(18,8)"); b.Property("OpenTradeId") .HasColumnType("integer"); b.Property("OriginDirection") .IsRequired() .HasColumnType("text"); b.Property("ProfitAndLoss") .HasColumnType("decimal(18,8)"); b.Property("SignalIdentifier") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("Status") .IsRequired() .HasColumnType("text"); b.Property("StopLossTradeId") .HasColumnType("integer"); b.Property("TakeProfit1TradeId") .HasColumnType("integer"); b.Property("TakeProfit2TradeId") .HasColumnType("integer"); b.Property("Ticker") .IsRequired() .HasColumnType("text"); b.Property("TradingType") .HasColumnType("integer"); b.Property("UiFees") .HasColumnType("decimal(18,8)"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Identifier"); b.HasIndex("Identifier") .IsUnique(); b.HasIndex("InitiatorIdentifier"); b.HasIndex("OpenTradeId"); b.HasIndex("Status"); b.HasIndex("StopLossTradeId"); b.HasIndex("TakeProfit1TradeId"); b.HasIndex("TakeProfit2TradeId"); b.HasIndex("UserId"); b.HasIndex("UserId", "Identifier"); b.ToTable("Positions"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.ScenarioEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("LoopbackPeriod") .HasColumnType("integer"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("UserId"); b.HasIndex("UserId", "Name"); b.ToTable("Scenarios"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.ScenarioIndicatorEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("IndicatorId") .HasColumnType("integer"); b.Property("ScenarioId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("IndicatorId"); b.HasIndex("ScenarioId", "IndicatorId") .IsUnique(); b.ToTable("ScenarioIndicators"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.SignalEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CandleJson") .HasColumnType("text"); b.Property("Confidence") .IsRequired() .HasColumnType("text"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Date") .HasColumnType("timestamp with time zone"); b.Property("Direction") .IsRequired() .HasColumnType("text"); b.Property("Identifier") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("IndicatorName") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("SignalType") .IsRequired() .HasColumnType("text"); b.Property("Status") .IsRequired() .HasColumnType("text"); b.Property("Ticker") .IsRequired() .HasColumnType("text"); b.Property("Timeframe") .IsRequired() .HasColumnType("text"); b.Property("Type") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("UserId") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("Date"); b.HasIndex("Identifier"); b.HasIndex("Status"); b.HasIndex("Ticker"); b.HasIndex("UserId"); b.HasIndex("UserId", "Date"); b.HasIndex("Identifier", "Date", "UserId") .IsUnique(); b.ToTable("Signals"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.SpotlightOverviewEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("DateTime") .HasColumnType("timestamp with time zone"); b.Property("Identifier") .HasColumnType("uuid"); b.Property("ScenarioCount") .HasColumnType("integer"); b.Property("SpotlightsJson") .IsRequired() .HasColumnType("jsonb"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("DateTime"); b.HasIndex("Identifier") .IsUnique(); b.HasIndex("DateTime", "ScenarioCount"); b.ToTable("SpotlightOverviews"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.SynthMinersLeaderboardEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Asset") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("CacheKey") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("IsBacktest") .HasColumnType("boolean"); b.Property("MinersData") .IsRequired() .HasColumnType("jsonb"); b.Property("SignalDate") .HasColumnType("timestamp with time zone"); b.Property("TimeIncrement") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("CacheKey") .IsUnique(); b.ToTable("SynthMinersLeaderboards"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.SynthPredictionEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid"); b.Property("Asset") .IsRequired() .HasMaxLength(32) .HasColumnType("character varying(32)"); b.Property("CacheKey") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("IsBacktest") .HasColumnType("boolean"); b.Property("MinerUid") .HasColumnType("integer"); b.Property("PredictionData") .IsRequired() .HasColumnType("jsonb"); b.Property("SignalDate") .HasColumnType("timestamp with time zone"); b.Property("TimeIncrement") .HasColumnType("integer"); b.Property("TimeLength") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("CacheKey") .IsUnique(); b.ToTable("SynthPredictions"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.TopVolumeTickerEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Date") .HasColumnType("timestamp with time zone"); b.Property("Exchange") .HasColumnType("integer"); b.Property("Rank") .HasColumnType("integer"); b.Property("Ticker") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("Volume") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.HasKey("Id"); b.HasIndex("Date"); b.HasIndex("Exchange"); b.HasIndex("Ticker"); b.HasIndex("Date", "Rank"); b.HasIndex("Exchange", "Date"); b.ToTable("TopVolumeTickers"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.TradeEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("Date") .HasColumnType("timestamp with time zone"); b.Property("Direction") .IsRequired() .HasColumnType("text"); b.Property("ExchangeOrderId") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("Leverage") .HasColumnType("decimal(18,8)"); b.Property("Message") .HasColumnType("text"); b.Property("Price") .HasColumnType("decimal(18,8)"); b.Property("Quantity") .HasColumnType("decimal(18,8)"); b.Property("Status") .IsRequired() .HasColumnType("text"); b.Property("Ticker") .IsRequired() .HasColumnType("text"); b.Property("TradeType") .IsRequired() .HasColumnType("text"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("Date"); b.HasIndex("ExchangeOrderId"); b.HasIndex("Status"); b.ToTable("Trades"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.TraderEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Address") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("AverageLoss") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.Property("AverageWin") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("IsBestTrader") .HasColumnType("boolean"); b.Property("Pnl") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.Property("Roi") .HasPrecision(18, 8) .HasColumnType("decimal(18,8)"); b.Property("TradeCount") .HasColumnType("integer"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.Property("Winrate") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("Address"); b.HasIndex("IsBestTrader"); b.HasIndex("Pnl"); b.HasIndex("Roi"); b.HasIndex("Winrate"); b.HasIndex("Address", "IsBestTrader") .IsUnique(); b.HasIndex("IsBestTrader", "Roi"); b.HasIndex("IsBestTrader", "Winrate"); b.ToTable("Traders"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("AgentName") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("AvatarUrl") .HasMaxLength(500) .HasColumnType("character varying(500)"); b.Property("IsAdmin") .HasColumnType("boolean"); b.Property("LastConnectionDate") .HasColumnType("timestamp with time zone"); b.Property("Name") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("OwnerWalletAddress") .HasColumnType("text"); b.Property("TelegramChannel") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.HasKey("Id"); b.HasIndex("AgentName"); b.HasIndex("Name") .IsUnique(); b.ToTable("Users"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.WhitelistAccountEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CreatedAt") .HasColumnType("timestamp with time zone"); b.Property("EmbeddedWallet") .IsRequired() .HasMaxLength(42) .HasColumnType("character varying(42)"); b.Property("ExternalEthereumAccount") .HasMaxLength(42) .HasColumnType("character varying(42)"); b.Property("IsWhitelisted") .ValueGeneratedOnAdd() .HasColumnType("boolean") .HasDefaultValue(false); b.Property("PrivyCreationDate") .HasColumnType("timestamp with time zone"); b.Property("PrivyId") .IsRequired() .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("TwitterAccount") .HasMaxLength(255) .HasColumnType("character varying(255)"); b.Property("UpdatedAt") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.HasIndex("CreatedAt"); b.HasIndex("EmbeddedWallet") .IsUnique(); b.HasIndex("ExternalEthereumAccount"); b.HasIndex("PrivyId") .IsUnique(); b.HasIndex("TwitterAccount"); b.ToTable("WhitelistAccounts"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.WorkerEntity", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("DelayTicks") .HasColumnType("bigint"); b.Property("ExecutionCount") .HasColumnType("integer"); b.Property("IsActive") .HasColumnType("boolean"); b.Property("LastRunTime") .HasColumnType("timestamp with time zone"); b.Property("StartTime") .HasColumnType("timestamp with time zone"); b.Property("WorkerType") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("WorkerType") .IsUnique(); b.ToTable("Workers"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.AccountEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany("Accounts") .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.AgentSummaryEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.BacktestEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.BotEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "MasterBotUser") .WithMany() .HasForeignKey("MasterBotUserId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull) .IsRequired(); b.Navigation("MasterBotUser"); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.BundleBacktestRequestEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.GeneticRequestEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.IndicatorEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.JobEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.MoneyManagementEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.PositionEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.TradeEntity", "OpenTrade") .WithMany() .HasForeignKey("OpenTradeId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.TradeEntity", "StopLossTrade") .WithMany() .HasForeignKey("StopLossTradeId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.TradeEntity", "TakeProfit1Trade") .WithMany() .HasForeignKey("TakeProfit1TradeId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.TradeEntity", "TakeProfit2Trade") .WithMany() .HasForeignKey("TakeProfit2TradeId") .OnDelete(DeleteBehavior.SetNull); b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("OpenTrade"); b.Navigation("StopLossTrade"); b.Navigation("TakeProfit1Trade"); b.Navigation("TakeProfit2Trade"); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.ScenarioEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull) .IsRequired(); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.ScenarioIndicatorEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.IndicatorEntity", "Indicator") .WithMany("ScenarioIndicators") .HasForeignKey("IndicatorId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.ScenarioEntity", "Scenario") .WithMany("ScenarioIndicators") .HasForeignKey("ScenarioId") .OnDelete(DeleteBehavior.Cascade) .IsRequired(); b.Navigation("Indicator"); b.Navigation("Scenario"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.SignalEntity", b => { b.HasOne("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", "User") .WithMany() .HasForeignKey("UserId") .OnDelete(DeleteBehavior.SetNull); b.Navigation("User"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.IndicatorEntity", b => { b.Navigation("ScenarioIndicators"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.ScenarioEntity", b => { b.Navigation("ScenarioIndicators"); }); modelBuilder.Entity("Managing.Infrastructure.Databases.PostgreSql.Entities.UserEntity", b => { b.Navigation("Accounts"); }); #pragma warning restore 612, 618 } } }