// using System; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; using marlin.web.Data; #nullable disable namespace marlin.web.Migrations { [DbContext(typeof(ApplicationDbContext))] [Migration("20260906082039_AddAgentToken")] partial class AddAgentToken { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "10.0.11") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("marlin.core.models.Agent", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AuthToken") .IsRequired() .HasColumnType("text") .HasColumnName("auth_token"); b.Property("Capabilities") .IsRequired() .HasColumnType("text") .HasColumnName("capabilities"); b.Property("LastSeen") .HasColumnType("timestamp with time zone") .HasColumnName("last_seen"); b.Property("MaxConcurrentJobs") .HasColumnType("integer") .HasColumnName("max_concurrent_jobs"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.HasKey("Id") .HasName("pk_agents"); b.ToTable("agents", (string)null); }); modelBuilder.Entity("marlin.core.models.Job", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AgentId") .HasColumnType("uuid") .HasColumnName("agent_id"); b.Property("Commit") .IsRequired() .HasColumnType("text") .HasColumnName("commit"); b.Property("CreatedAt") .HasColumnType("timestamp with time zone") .HasColumnName("created_at"); b.Property("CreatedReason") .IsRequired() .HasColumnType("text") .HasColumnName("created_reason"); b.Property("Recipe") .IsRequired() .HasColumnType("text") .HasColumnName("recipe"); b.Property("Ref") .IsRequired() .HasColumnType("text") .HasColumnName("ref"); b.Property("SourceId") .HasColumnType("uuid") .HasColumnName("source_id"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.HasKey("Id") .HasName("pk_jobs"); b.HasIndex("AgentId") .HasDatabaseName("ix_jobs_agent_id"); b.HasIndex("SourceId") .HasDatabaseName("ix_jobs_source_id"); b.ToTable("jobs", (string)null); }); modelBuilder.Entity("marlin.core.models.JobStatusUpdate", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("At") .HasColumnType("timestamp with time zone") .HasColumnName("at"); b.Property("JobId") .HasColumnType("uuid") .HasColumnName("job_id"); b.Property("Status") .HasColumnType("integer") .HasColumnName("status"); b.HasKey("Id") .HasName("pk_job_status_update"); b.HasIndex("JobId") .HasDatabaseName("ix_job_status_update_job_id"); b.ToTable("job_status_update", (string)null); }); modelBuilder.Entity("marlin.core.models.VersionControlSource", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("AccessSecretId") .HasColumnType("uuid") .HasColumnName("access_secret_id"); b.Property("BranchFilter") .IsRequired() .HasColumnType("text") .HasColumnName("branch_filter"); b.Property("MainBranch") .IsRequired() .HasColumnType("text") .HasColumnName("main_branch"); b.Property("MinPollingInterval") .HasColumnType("integer") .HasColumnName("min_polling_interval"); b.Property("UpstreamUrl") .IsRequired() .HasColumnType("text") .HasColumnName("upstream_url"); b.HasKey("Id") .HasName("pk_sources"); b.ToTable("sources", (string)null); }); modelBuilder.Entity("marlin.core.models.VersionControlledBlob", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CommitId") .HasColumnType("uuid") .HasColumnName("commit_id"); b.Property("Content") .IsRequired() .HasColumnType("bytea") .HasColumnName("content"); b.Property("Path") .IsRequired() .HasColumnType("text") .HasColumnName("path"); b.Property("SourceId") .HasColumnType("uuid") .HasColumnName("source_id"); b.HasKey("Id") .HasName("pk_source_blobs"); b.HasIndex("CommitId") .HasDatabaseName("ix_source_blobs_commit_id"); b.HasIndex("SourceId") .HasDatabaseName("ix_source_blobs_source_id"); b.ToTable("source_blobs", (string)null); }); modelBuilder.Entity("marlin.core.models.VersionControlledBranch", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CommitId") .HasColumnType("uuid") .HasColumnName("commit_id"); b.Property("Name") .IsRequired() .HasColumnType("text") .HasColumnName("name"); b.Property("SourceId") .HasColumnType("uuid") .HasColumnName("source_id"); b.HasKey("Id") .HasName("pk_source_branches"); b.HasIndex("CommitId") .HasDatabaseName("ix_source_branches_commit_id"); b.HasIndex("SourceId") .HasDatabaseName("ix_source_branches_source_id"); b.ToTable("source_branches", (string)null); }); modelBuilder.Entity("marlin.core.models.VersionControlledCommit", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("BlobsFetched") .HasColumnType("boolean") .HasColumnName("blobs_fetched"); b.Property("Hash") .IsRequired() .HasColumnType("text") .HasColumnName("hash"); b.Property("SourceId") .HasColumnType("uuid") .HasColumnName("source_id"); b.Property("WorkflowScanned") .HasColumnType("boolean") .HasColumnName("workflow_scanned"); b.HasKey("Id") .HasName("pk_source_commits"); b.HasAlternateKey("SourceId", "Hash") .HasName("ak_source_commits_source_id_hash"); b.ToTable("source_commits", (string)null); }); modelBuilder.Entity("marlin.core.models.WorkflowSnapshot", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("CommitId") .HasColumnType("uuid") .HasColumnName("commit_id"); b.Property("ScannedAt") .HasColumnType("timestamp with time zone") .HasColumnName("scanned_at"); b.Property("Workflow") .IsRequired() .HasColumnType("text") .HasColumnName("workflow"); b.HasKey("Id") .HasName("pk_workflow_snapshots"); b.HasIndex("CommitId") .IsUnique() .HasDatabaseName("ix_workflow_snapshots_commit_id"); b.ToTable("workflow_snapshots", (string)null); }); modelBuilder.Entity("marlin.web.Models.VersionControlSecret", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("uuid") .HasColumnName("id"); b.Property("Content") .IsRequired() .HasColumnType("text") .HasColumnName("content"); b.Property("Kind") .HasColumnType("text") .HasColumnName("kind"); b.Property("Label") .IsRequired() .HasColumnType("text") .HasColumnName("label"); b.Property("MayReveal") .HasColumnType("boolean") .HasColumnName("may_reveal"); b.Property("SourceId") .HasColumnType("uuid") .HasColumnName("source_id"); b.HasKey("Id") .HasName("pk_secrets"); b.HasIndex("SourceId") .HasDatabaseName("ix_secrets_source_id"); b.ToTable("secrets", (string)null); }); modelBuilder.Entity("marlin.core.models.Job", b => { b.HasOne("marlin.core.models.Agent", "Agent") .WithMany("Jobs") .HasForeignKey("AgentId") .HasConstraintName("fk_jobs_agents_agent_id"); b.HasOne("marlin.core.models.VersionControlSource", "Source") .WithMany() .HasForeignKey("SourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_jobs_sources_source_id"); b.Navigation("Agent"); b.Navigation("Source"); }); modelBuilder.Entity("marlin.core.models.JobStatusUpdate", b => { b.HasOne("marlin.core.models.Job", "Job") .WithMany("StatusUpdates") .HasForeignKey("JobId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_job_status_update_jobs_job_id"); b.Navigation("Job"); }); modelBuilder.Entity("marlin.core.models.VersionControlledBlob", b => { b.HasOne("marlin.core.models.VersionControlledCommit", "Commit") .WithMany("Blobs") .HasForeignKey("CommitId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_source_blobs_source_commits_commit_id"); b.HasOne("marlin.core.models.VersionControlSource", "Source") .WithMany() .HasForeignKey("SourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_source_blobs_sources_source_id"); b.Navigation("Commit"); b.Navigation("Source"); }); modelBuilder.Entity("marlin.core.models.VersionControlledBranch", b => { b.HasOne("marlin.core.models.VersionControlledCommit", "Commit") .WithMany("Branches") .HasForeignKey("CommitId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_source_branches_source_commits_commit_id"); b.HasOne("marlin.core.models.VersionControlSource", "Source") .WithMany("Branches") .HasForeignKey("SourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_source_branches_sources_source_id"); b.Navigation("Commit"); b.Navigation("Source"); }); modelBuilder.Entity("marlin.core.models.VersionControlledCommit", b => { b.HasOne("marlin.core.models.VersionControlSource", "Source") .WithMany() .HasForeignKey("SourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_source_commits_sources_source_id"); b.Navigation("Source"); }); modelBuilder.Entity("marlin.core.models.WorkflowSnapshot", b => { b.HasOne("marlin.core.models.VersionControlledCommit", "Commit") .WithOne("WorkflowSnapshot") .HasForeignKey("marlin.core.models.WorkflowSnapshot", "CommitId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_workflow_snapshots_source_commits_commit_id"); b.Navigation("Commit"); }); modelBuilder.Entity("marlin.web.Models.VersionControlSecret", b => { b.HasOne("marlin.core.models.VersionControlSource", "Source") .WithMany() .HasForeignKey("SourceId") .OnDelete(DeleteBehavior.Cascade) .IsRequired() .HasConstraintName("fk_secrets_sources_source_id"); b.Navigation("Source"); }); modelBuilder.Entity("marlin.core.models.Agent", b => { b.Navigation("Jobs"); }); modelBuilder.Entity("marlin.core.models.Job", b => { b.Navigation("StatusUpdates"); }); modelBuilder.Entity("marlin.core.models.VersionControlSource", b => { b.Navigation("Branches"); }); modelBuilder.Entity("marlin.core.models.VersionControlledCommit", b => { b.Navigation("Blobs"); b.Navigation("Branches"); b.Navigation("WorkflowSnapshot"); }); #pragma warning restore 612, 618 } } }