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/ISecret.cs11
-rw-r--r--src/marlin.core/models/ISourceSecretStore.cs9
-rw-r--r--src/marlin.core/models/Job.cs2
-rw-r--r--src/marlin.core/models/SecretKind.cs7
-rw-r--r--src/marlin.core/models/VersionControlSource.cs13
-rw-r--r--src/marlin.core/models/VersionControlledBlob.cs15
-rw-r--r--src/marlin.core/models/VersionControlledBranch.cs14
-rw-r--r--src/marlin.core/models/VersionControlledCommit.cs15
8 files changed, 74 insertions, 12 deletions
diff --git a/src/marlin.core/models/ISecret.cs b/src/marlin.core/models/ISecret.cs
new file mode 100644
index 0000000..e41a3b9
--- /dev/null
+++ b/src/marlin.core/models/ISecret.cs
@@ -0,0 +1,11 @@
+namespace marlin.web.Models;
+
+public interface ISecret
+{
+ Guid Id { get; set; }
+ string Label { get; set; }
+ string? Kind { get; set; }
+ bool MayReveal { get; set; }
+
+ Dictionary<string, string> Content { get; set; }
+} \ No newline at end of file
diff --git a/src/marlin.core/models/ISourceSecretStore.cs b/src/marlin.core/models/ISourceSecretStore.cs
new file mode 100644
index 0000000..0d5053e
--- /dev/null
+++ b/src/marlin.core/models/ISourceSecretStore.cs
@@ -0,0 +1,9 @@
+namespace marlin.web.Models;
+
+using core.functional;
+using core.models;
+
+public interface ISourceSecretStore
+{
+ Task<ISecret?> GetAsync(Guid id, CancellationToken ct);
+} \ No newline at end of file
diff --git a/src/marlin.core/models/Job.cs b/src/marlin.core/models/Job.cs
index 6b09597..a8c7c5d 100644
--- a/src/marlin.core/models/Job.cs
+++ b/src/marlin.core/models/Job.cs
@@ -14,7 +14,7 @@ public class Job
public JobStatus Status { get; set; }
public ICollection<JobStatusUpdate> StatusUpdates { get; set; }
- public Guid AgentId { get; set; }
+ public Guid? AgentId { get; set; }
public Agent? Agent { get; set; }
public string Recipe { get; set; }
diff --git a/src/marlin.core/models/SecretKind.cs b/src/marlin.core/models/SecretKind.cs
new file mode 100644
index 0000000..02652d5
--- /dev/null
+++ b/src/marlin.core/models/SecretKind.cs
@@ -0,0 +1,7 @@
+namespace marlin.web.Models;
+
+public static class SecretKind
+{
+ public const string HTTPToken = "http-token";
+ public const string SSHKey = "ssh-key";
+} \ No newline at end of file
diff --git a/src/marlin.core/models/VersionControlSource.cs b/src/marlin.core/models/VersionControlSource.cs
index 1d50ef3..daa8d51 100644
--- a/src/marlin.core/models/VersionControlSource.cs
+++ b/src/marlin.core/models/VersionControlSource.cs
@@ -9,16 +9,7 @@ public class VersionControlSource
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 Guid? AccessSecretId { get; set; }
- public string Name { get; set; }
- public string HeadCommit { get; set; }
+ public ICollection<VersionControlledBranch> Branches { get; set; }
} \ No newline at end of file
diff --git a/src/marlin.core/models/VersionControlledBlob.cs b/src/marlin.core/models/VersionControlledBlob.cs
new file mode 100644
index 0000000..03915be
--- /dev/null
+++ b/src/marlin.core/models/VersionControlledBlob.cs
@@ -0,0 +1,15 @@
+namespace marlin.core.models;
+
+public class VersionControlledBlob
+{
+ public Guid Id { get; set; }
+
+ public Guid SourceId { get; set; }
+ public VersionControlSource Source { get; set; }
+
+ public Guid CommitId { get; set; }
+ public VersionControlledCommit Commit { get; set; }
+
+ public string Path { get; set; }
+ public byte[] Content { get; set; }
+} \ No newline at end of file
diff --git a/src/marlin.core/models/VersionControlledBranch.cs b/src/marlin.core/models/VersionControlledBranch.cs
new file mode 100644
index 0000000..601f527
--- /dev/null
+++ b/src/marlin.core/models/VersionControlledBranch.cs
@@ -0,0 +1,14 @@
+namespace marlin.core.models;
+
+public class VersionControlledBranch
+{
+ public Guid Id { get; set; }
+
+ public Guid SourceId { get; set; }
+ public VersionControlSource Source { get; set; }
+
+ public Guid CommitId { get; set; }
+ public VersionControlledCommit Commit { get; set; }
+
+ public string Name { get; set; }
+} \ No newline at end of file
diff --git a/src/marlin.core/models/VersionControlledCommit.cs b/src/marlin.core/models/VersionControlledCommit.cs
new file mode 100644
index 0000000..a7b5e9e
--- /dev/null
+++ b/src/marlin.core/models/VersionControlledCommit.cs
@@ -0,0 +1,15 @@
+namespace marlin.core.models;
+
+public class VersionControlledCommit
+{
+ public Guid Id { get; set; }
+
+ public Guid SourceId { get; set; }
+ public VersionControlSource Source { get; set; }
+ public bool BlobsFetched { get; set; }
+
+ public string Hash { get; set; }
+
+ public ICollection<VersionControlledBranch> Branches { get; set; }
+ public ICollection<VersionControlledBlob> Blobs { get; set; }
+} \ No newline at end of file