diff options
Diffstat (limited to 'src/marlin.core/contracts')
| -rw-r--r-- | src/marlin.core/contracts/InstanceService.cs | 43 |
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 |
