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 ActivityExecuting (ActivityExecutingRequest) returns (CommonResponse); rpc ActivityExecuteAborted (ActivityExecuteAbortedRequest) returns (CommonResponse); rpc ActivityCompensateAborted (ActivityCompensateAbortedRequest) returns (CommonResponse); rpc ActivityExecuted (ActivityExecutedRequest) returns (CommonResponse); rpc ActivityCompensated (ActivityCompensatedRequest) returns (CommonResponse); rpc ActivityExecuteOvertime (ActivityExecuteOvertimeRequest) returns (CommonResponse); rpc ActivityRevoked (ActivityRevokedRequest) returns (CommonResponse); rpc ActivityCompensating (ActivityCompensatingRequest) returns (CommonResponse); rpc GetSagas (GetSagasRequest) returns (stream GetSagasResponse); } 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 ActivityExecutingRequest { string activityId = 1; string sagaId = 2; bytes parameterData = 3; int32 order = 4; string addTime = 5; string activityName = 6; int32 executeTimes = 7; } message ActivityExecuteAbortedRequest { string activityId = 1; } message ActivityCompensateAbortedRequest { string activityId = 1; string sagaId = 2; string errors = 3; } message ActivityExecutedRequest { string activityId = 1; } message ActivityCompensatedRequest { string activityId = 1; } message ActivityExecuteOvertimeRequest { string activityId = 1; string name = 2; bytes parameterData = 3; string addTime = 4; } message ActivityRevokedRequest { string activityId = 1; } message ActivityCompensatingRequest { string activityId = 1; int32 compensateTimes = 2; } message GetSagasRequest{ string serviceName = 1; int32 limit = 2; } message GetSagasResponse{ bool isSuccess = 1; string errors = 2; repeated Saga Sagas = 3; message Saga{ string id = 1; repeated Activity Activities = 2; message Activity{ string id = 1; string sagaId = 2; int32 order = 3; string status = 4; bytes parameterData = 5; int32 executeTimes = 6; int32 compensateTimes = 7; string name = 8; } } }