summaryrefslogtreecommitdiff
path: root/src/marlin.core/models
diff options
context:
space:
mode:
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