summaryrefslogtreecommitdiff
path: root/src/marlin.core/models
diff options
context:
space:
mode:
authorMelodi <62381002+Melodi17@users.noreply.github.com>2026-09-03 23:07:57 +1000
committerMelodi <62381002+Melodi17@users.noreply.github.com>2026-09-03 23:07:57 +1000
commitc00992ffad24212c4398736efd6d707d4cb0cc0d (patch)
treedb954f836b6b8375f6fedcff0377910b9e281091 /src/marlin.core/models
parent7c33b3f334cf91918add7af08866f2ea37ed9c3f (diff)
chore: fix initial commit
Diffstat (limited to 'src/marlin.core/models')
-rw-r--r--src/marlin.core/models/Agent.cs2
-rw-r--r--src/marlin.core/models/CapabilitySet.cs7
-rw-r--r--src/marlin.core/models/Job.cs38
-rw-r--r--src/marlin.core/models/VersionControlSource.cs18
4 files changed, 60 insertions, 5 deletions
diff --git a/src/marlin.core/models/Agent.cs b/src/marlin.core/models/Agent.cs
index 783f6d6..2903131 100644
--- a/src/marlin.core/models/Agent.cs
+++ b/src/marlin.core/models/Agent.cs
@@ -1,4 +1,4 @@
-namespace marlin.core;
+namespace marlin.core.models;
public class Agent
{
diff --git a/src/marlin.core/models/CapabilitySet.cs b/src/marlin.core/models/CapabilitySet.cs
index f569ee5..ac7da46 100644
--- a/src/marlin.core/models/CapabilitySet.cs
+++ b/src/marlin.core/models/CapabilitySet.cs
@@ -1,3 +1,6 @@
-namespace marlin.core;
+namespace marlin.core.models;
-public class CapabilitySet : Dictionary<string, string>; \ No newline at end of file
+public class CapabilitySet
+{
+ public Dictionary<string, string> Items { get; set; } = new();
+} \ No newline at end of file
diff --git a/src/marlin.core/models/Job.cs b/src/marlin.core/models/Job.cs
index 269677d..6b09597 100644
--- a/src/marlin.core/models/Job.cs
+++ b/src/marlin.core/models/Job.cs
@@ -1,6 +1,42 @@
-namespace marlin.core;
+namespace marlin.core.models;
public class Job
{
+ public Guid Id { get; set; }
+ public Guid SourceId { get; set; }
+ public VersionControlSource Source { get; set; }
+ public string Ref { get; set; }
+ public string Commit { get; set; }
+
+ public string CreatedReason { get; set; }
+ public DateTime CreatedAt { get; set; }
+ public JobStatus Status { get; set; }
+ public ICollection<JobStatusUpdate> StatusUpdates { get; set; }
+
+ public Guid AgentId { get; set; }
+ public Agent? Agent { get; set; }
+
+ public string Recipe { get; set; }
+ // plan
+}
+
+public class JobStatusUpdate
+{
+ public Guid Id { get; set; }
+
+ public Guid JobId { get; set; }
+ public Job Job { get; set; }
+
+ public DateTime At { get; set; }
+ public JobStatus Status { get; set; }
+}
+
+public enum JobStatus
+{
+ Pending,
+ Active,
+ Cancelled,
+ Success,
+ Failed
} \ No newline at end of file
diff --git a/src/marlin.core/models/VersionControlSource.cs b/src/marlin.core/models/VersionControlSource.cs
index f3880de..1d50ef3 100644
--- a/src/marlin.core/models/VersionControlSource.cs
+++ b/src/marlin.core/models/VersionControlSource.cs
@@ -1,8 +1,24 @@
-namespace marlin.core;
+namespace marlin.core.models;
public class VersionControlSource
{
public Guid Id { get; set; }
+
public string UpstreamUrl { get; set; }
+ public string MainBranch { get; set; }
public string BranchFilter { get; set; }
+ public int MinPollingInterval { get; set; }
+
+ public ICollection<VersionControlledBranch> Branches { get; set; }
+}
+
+public class VersionControlledBranch
+{
+ public Guid Id { get; set; }
+
+ public Guid SourceId { get; set; }
+ public VersionControlSource Source { get; set; }
+
+ public string Name { get; set; }
+ public string HeadCommit { get; set; }
} \ No newline at end of file