summaryrefslogtreecommitdiff
path: root/src/marlin.core/contracts/InstanceService.cs
diff options
context:
space:
mode:
authorMelodi <62381002+Melodi17@users.noreply.github.com>2026-10-27 23:04:59 +1000
committerMelodi <62381002+Melodi17@users.noreply.github.com>2026-10-27 23:04:59 +1000
commitecd5f5d13936dd097b12766cb95a568ad5b073a9 (patch)
treef360b08e656a98faca4f2b9f10dc44602e6ca289 /src/marlin.core/contracts/InstanceService.cs
parent88ee626cb3686dc176cd7911b073c4e65fa54d34 (diff)
feat: lots of stuff
Diffstat (limited to 'src/marlin.core/contracts/InstanceService.cs')
-rw-r--r--src/marlin.core/contracts/InstanceService.cs43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/marlin.core/contracts/InstanceService.cs b/src/marlin.core/contracts/InstanceService.cs
new file mode 100644
index 0000000..73e7229
--- /dev/null
+++ b/src/marlin.core/contracts/InstanceService.cs
@@ -0,0 +1,43 @@
+namespace marlin.core.contracts;
+
+using System.Runtime.Serialization;
+using System.ServiceModel;
+using models;
+using ProtoBuf.Grpc;
+
+[ServiceContract]
+public interface IInstanceService
+{
+ [OperationContract]
+ Task SendLogEvent(LogEventRequest request, CallContext context = default);
+
+ [OperationContract]
+ Task SendStatusUpdate(StatusUpdateRequest request, CallContext context = default);
+}
+
+[DataContract]
+public class LogEventRequest
+{
+ [DataMember(Order = 1)]
+ public DateTime At
+ {
+ get => field;
+ set => field = DateTime.SpecifyKind(value, DateTimeKind.Utc);
+ }
+
+ [DataMember(Order = 2)]
+ public string Message { get; set; }
+
+ [DataMember(Order = 3)]
+ public bool Error { get; set; }
+
+ [DataMember(Order = 4)]
+ public string StepId { get; set; }
+}
+
+[DataContract]
+public class StatusUpdateRequest
+{
+ [DataMember(Order = 1)]
+ public JobStatus Status { get; set; }
+} \ No newline at end of file