From df0737e55afeb5c01eb39909605970d1d3a73ffc Mon Sep 17 00:00:00 2001 From: Melodi <62381002+Melodi17@users.noreply.github.com> Date: Sun, 13 Sep 2026 13:22:20 +1000 Subject: refactor: cleanup; feat: connection to agent --- src/marlin.web/Data/ApplicationDbContext.cs | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'src/marlin.web/Data/ApplicationDbContext.cs') diff --git a/src/marlin.web/Data/ApplicationDbContext.cs b/src/marlin.web/Data/ApplicationDbContext.cs index 2e05835..cb6b05b 100644 --- a/src/marlin.web/Data/ApplicationDbContext.cs +++ b/src/marlin.web/Data/ApplicationDbContext.cs @@ -3,6 +3,7 @@ namespace marlin.web.Data; using System.Linq.Expressions; using System.Text.Json; using core; +using core.functional; using core.models; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; @@ -26,6 +27,7 @@ public class ApplicationDbContext : DbContext public DbSet Secrets => this.Set(); public DbSet Jobs => this.Set(); public DbSet Agents => this.Set(); + public DbSet WorkflowSnapshots => this.Set(); public ApplicationDbContext(DbContextOptions options) : base(options) { } @@ -35,9 +37,7 @@ public class ApplicationDbContext : DbContext modelBuilder .Entity() .Property(p => p.Capabilities) - .HasConversion( - v => JsonSerializer.Serialize(v, (JsonSerializerOptions?)null), - v => JsonSerializer.Deserialize(v, (JsonSerializerOptions?)null)!); + .HasJsonConversion(); modelBuilder .Entity() @@ -46,10 +46,19 @@ public class ApplicationDbContext : DbContext modelBuilder .Entity() .Property(p => p.Content) - .HasConversion( - v => JsonSerializer.Serialize(v, (JsonSerializerOptions?)null), - v => JsonSerializer.Deserialize>(v, (JsonSerializerOptions?)null)!); - + .HasJsonConversion(); + + modelBuilder + .Entity() + .HasOne(x => x.WorkflowSnapshot) + .WithOne(x => x.Commit) + .HasForeignKey(x => x.CommitId); + + modelBuilder + .Entity() + .Property(p => p.Workflow) + .HasJsonConversion(); + base.OnModelCreating(modelBuilder); } } \ No newline at end of file -- cgit v1.3.1