diff --git a/proto/caosdb/entity/v1alpha1/main.proto b/proto/caosdb/entity/v1alpha1/main.proto index 04ed3c23db09930b6912da8e28bdf74258ec0368..4e35a4ec4969178ee7b741a94c5785ca4c4ac7e3 100644 --- a/proto/caosdb/entity/v1alpha1/main.proto +++ b/proto/caosdb/entity/v1alpha1/main.proto @@ -201,6 +201,15 @@ message TransactionResponse { } } +message TransactionRequest { + oneof wrapped_requests { + QueryOrIdRequest retrieve_request = 1; + FullEntityRequest update_request = 2; + FullEntityRequest insert_request = 3; + QueryOrIdRequest delete_request = 4; + } +} + message SingleTransactionResponse { TransactionResponse response = 1; // Transaction errors. @@ -221,6 +230,10 @@ message MultiTransactionResponse { repeated Message transaction_infos = 4; } +message MultiTransactionRequest { + repeated TransactionRequest requests = 1; +} + message IdResponse { string id = 1; // Entity errors. @@ -297,12 +310,15 @@ service EntityTransactionService { // Issue a single update request rpc SingleUpdate(SingleUpdateRequest) returns (SingleUpdateResponse); - // Issue a single retrieve request - rpc MultiRetrieve(MultiRetrieveRequest) returns (MultiRetrieveResponse); - // Issue a single retrieve request - /*rpc Insert(MultiInsertRequest) returns (MultiInsertResponse);*/ - /*// Issue a single delete request*/ - /*rpc Delete(MultiDeleteRequest) returns (MultiDeleteResponse);*/ - /*// Issue a single update request*/ - /*rpc Update(MultiUpdateRequest) returns (MultiUpdateResponse);*/ + //// Issue multiple retrieve requests + //rpc MultiRetrieve(MultiRetrieveRequest) returns (MultiRetrieveResponse); + //// Issue multiple retrieve requests + //rpc MultiInsert(MultiInsertRequest) returns (MultiInsertResponse); + //// Issue multiple delete requests + //rpc MultiDelete(MultiDeleteRequest) returns (MultiDeleteResponse); + //// Issue multiple update requests + //rpc MultiUpdate(MultiUpdateRequest) returns (MultiUpdateResponse); + + //// Issue multiple mixed requests + //rpc MultiTransaction(MultiTransactionRequest) returns (MultiTransactionResponse); }