summaryrefslogtreecommitdiff
path: root/src/marlin.core/contracts
diff options
context:
space:
mode:
Diffstat (limited to 'src/marlin.core/contracts')
-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