syntax = "proto3"; option csharp_namespace = "Pole.Sagas.Server.Grpc"; package pole.Sagas.Server.Grpc; service Saga { rpc SagaStarted (SagaStartedRequest) returns (CommonResponse); rpc SagaEnded (SagaEndedRequest) returns (CommonResponse); rpc ActivityExecuteStarted (ActivityExecuteStartedRequest) returns (CommonResponse); rpc ActivityRetried (ActivityRetriedRequest) returns (CommonResponse); rpc ActivityExecuteAborted (ActivityExecuteAbortedRequest) returns (CommonResponse); rpc ActivityCompensateAborted (ActivityCompensateAbortedRequest) returns (CommonResponse); rpc ActivityEnded (ActivityEndedRequest) returns (CommonResponse); rpc ActivityCompensated (ActivityCompensatedRequest) returns (CommonResponse); rpc ActivityExecuteOvertime (ActivityExecuteOvertimeRequest) returns (CommonResponse); rpc ActivityRevoked (ActivityRevokedRequest) returns (CommonResponse); } message CommonResponse{ bool isSuccess = 1; string message = 2; string errors = 3; } message SagaStartedRequest { string sagaId = 1; string serviceName = 2; string addTime = 3; } message SagaEndedRequest { string sagaId = 1; string ExpiresAt = 2; } message ActivityExecuteStartedRequest { string activityId = 1; string sagaId = 2; int32 timeOutSeconds = 3; bytes parameterData = 4; int32 order = 5; string addTime = 6; } message ActivityRetriedRequest { string activityId = 1; string status = 2; int32 retries = 3; ActivityRetryType activityRetryType = 4; enum ActivityRetryType{ Execute = 0; Compensate = 1; } } message ActivityExecuteAbortedRequest { string activityId = 1; string errors = 2; } message ActivityCompensateAbortedRequest { string activityId = 1; string sagaId = 2; string errors = 3; } message ActivityEndedRequest { string activityId = 1; bytes resultData = 2; } message ActivityCompensatedRequest { string activityId = 1; } message ActivityExecuteOvertimeRequest { string activityId = 1; string sagaId = 2; string errors = 3; } message ActivityRevokedRequest { string activityId = 1; }