diff --git a/src/ClaudeDo.Data/Models/ListConfigEntity.cs b/src/ClaudeDo.Data/Models/ListConfigEntity.cs index 90ba533..98ef1c6 100644 --- a/src/ClaudeDo.Data/Models/ListConfigEntity.cs +++ b/src/ClaudeDo.Data/Models/ListConfigEntity.cs @@ -6,4 +6,7 @@ public sealed class ListConfigEntity public string? Model { get; set; } public string? SystemPrompt { get; set; } public string? AgentPath { get; set; } + + // Navigation property + public ListEntity List { get; set; } = null!; } diff --git a/src/ClaudeDo.Data/Models/ListEntity.cs b/src/ClaudeDo.Data/Models/ListEntity.cs index 5c5809e..020494a 100644 --- a/src/ClaudeDo.Data/Models/ListEntity.cs +++ b/src/ClaudeDo.Data/Models/ListEntity.cs @@ -7,4 +7,9 @@ public sealed class ListEntity public required DateTime CreatedAt { get; init; } public string? WorkingDir { get; set; } public string DefaultCommitType { get; set; } = "chore"; + + // Navigation properties + public ListConfigEntity? Config { get; set; } + public ICollection Tasks { get; set; } = new List(); + public ICollection Tags { get; set; } = new List(); } diff --git a/src/ClaudeDo.Data/Models/SubtaskEntity.cs b/src/ClaudeDo.Data/Models/SubtaskEntity.cs index dbe0c4c..ac10e3f 100644 --- a/src/ClaudeDo.Data/Models/SubtaskEntity.cs +++ b/src/ClaudeDo.Data/Models/SubtaskEntity.cs @@ -8,4 +8,7 @@ public sealed class SubtaskEntity public bool Completed { get; set; } public int OrderNum { get; set; } public required DateTime CreatedAt { get; init; } + + // Navigation property + public TaskEntity Task { get; set; } = null!; } diff --git a/src/ClaudeDo.Data/Models/TagEntity.cs b/src/ClaudeDo.Data/Models/TagEntity.cs index 01c8684..626684a 100644 --- a/src/ClaudeDo.Data/Models/TagEntity.cs +++ b/src/ClaudeDo.Data/Models/TagEntity.cs @@ -4,4 +4,8 @@ public sealed class TagEntity { public long Id { get; init; } public required string Name { get; set; } + + // Navigation properties + public ICollection Lists { get; set; } = new List(); + public ICollection Tasks { get; set; } = new List(); } diff --git a/src/ClaudeDo.Data/Models/TaskEntity.cs b/src/ClaudeDo.Data/Models/TaskEntity.cs index 55af098..8decb96 100644 --- a/src/ClaudeDo.Data/Models/TaskEntity.cs +++ b/src/ClaudeDo.Data/Models/TaskEntity.cs @@ -26,4 +26,11 @@ public sealed class TaskEntity public string? Model { get; set; } public string? SystemPrompt { get; set; } public string? AgentPath { get; set; } + + // Navigation properties + public ListEntity List { get; set; } = null!; + public WorktreeEntity? Worktree { get; set; } + public ICollection Tags { get; set; } = new List(); + public ICollection Runs { get; set; } = new List(); + public ICollection Subtasks { get; set; } = new List(); } diff --git a/src/ClaudeDo.Data/Models/TaskRunEntity.cs b/src/ClaudeDo.Data/Models/TaskRunEntity.cs index 65dc3d2..7913cd9 100644 --- a/src/ClaudeDo.Data/Models/TaskRunEntity.cs +++ b/src/ClaudeDo.Data/Models/TaskRunEntity.cs @@ -18,4 +18,7 @@ public sealed class TaskRunEntity public string? LogPath { get; set; } public DateTime? StartedAt { get; set; } public DateTime? FinishedAt { get; set; } + + // Navigation property + public TaskEntity Task { get; set; } = null!; } diff --git a/src/ClaudeDo.Data/Models/WorktreeEntity.cs b/src/ClaudeDo.Data/Models/WorktreeEntity.cs index 6378b78..9ac26b9 100644 --- a/src/ClaudeDo.Data/Models/WorktreeEntity.cs +++ b/src/ClaudeDo.Data/Models/WorktreeEntity.cs @@ -18,4 +18,7 @@ public sealed class WorktreeEntity public string? DiffStat { get; set; } public WorktreeState State { get; set; } = WorktreeState.Active; public required DateTime CreatedAt { get; init; } + + // Navigation property + public TaskEntity Task { get; set; } = null!; }