From fee0ef211b7286773233400dc37dd0d6f8135aeb Mon Sep 17 00:00:00 2001 From: Timm Fitschen <t.fitschen@indiscale.com> Date: Wed, 28 Jul 2021 10:43:07 +0200 Subject: [PATCH] WIP: insert delete --- proto/caosdb/entity/v1alpha1/main.proto | 32 ++++++++++++++++++------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/proto/caosdb/entity/v1alpha1/main.proto b/proto/caosdb/entity/v1alpha1/main.proto index 04ed3c2..4e35a4e 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); } -- GitLab