From 7447bdceee4b985e638f6fa6225a22457580089b Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Tue, 11 Aug 2020 11:47:04 +0300 Subject: [PATCH] [#37] Add body message to container requests Signed-off-by: Alex Vanin --- container/service.proto | 238 ++++++++++++++++++++++++++++++++++------ 1 file changed, 204 insertions(+), 34 deletions(-) diff --git a/container/service.proto b/container/service.proto index 485c872..dddb38c 100644 --- a/container/service.proto +++ b/container/service.proto @@ -8,6 +8,8 @@ option csharp_namespace = "NeoFS.API.Container"; import "acl/types.proto"; import "container/types.proto"; import "refs/types.proto"; +import "service/meta.proto"; +import "service/verify.proto"; // Service provides API to access container smart-contract in morph chain // via NeoFS node. @@ -42,74 +44,242 @@ service Service { } message PutRequest { - // Container to create in NeoFS. - container.Container container = 1; + message Body { + // Container to create in NeoFS. + container.Container container = 1; - // Public Key of container owner. It can be public key of the owner - // or it can be public key that bound in neofs.id smart-contract. - bytes public_key = 2; + // Public Key of container owner. It can be public key of the owner + // or it can be public key that bound in neofs.id smart-contract. + bytes public_key = 2; - // Signature of stable-marshalled container according to RFC-6979. - bytes signature = 3; + // Signature of stable-marshalled container according to RFC-6979. + bytes signature = 3; + } + + // Body of container put request message. + Body body = 1; + + // Carries request meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.RequestMetaHeader meta_header = 2; + + // Carries request verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.RequestVerificationHeader verify_header = 3; } message PutResponse { - // container_id carries identifier of the new container. - refs.ContainerID container_id = 1; + message Body { + // container_id carries identifier of the new container. + refs.ContainerID container_id = 1; + } + + // Body of container put response message. + Body body = 1; + + // Carries response meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.ResponseMetaHeader meta_header = 2; + + // Carries response verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.ResponseVerificationHeader verify_header = 3; } message DeleteRequest { - // container_id carries identifier of the container to delete from NeoFS. - refs.ContainerID container_id = 1; + message Body { + // container_id carries identifier of the container to delete + // from NeoFS. + refs.ContainerID container_id = 1; - // Signature of container id according to RFC-6979. - bytes signature = 2; + // Signature of container id according to RFC-6979. + bytes signature = 2; + } + + // Body of container delete request message. + Body body = 1; + + // Carries request meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.RequestMetaHeader meta_header = 2; + + // Carries request verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.RequestVerificationHeader verify_header = 3; } // DeleteResponse is empty because delete operation is asynchronous and done // via consensus in inner ring nodes -message DeleteResponse {} +message DeleteResponse { + message Body {} + + // Body of container delete response message. + Body body = 1; + + // Carries response meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.ResponseMetaHeader meta_header = 2; + + // Carries response verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.ResponseVerificationHeader verify_header = 3; +} message GetRequest { - // container_id carries identifier of the container to get. - refs.ContainerID container_id = 1; + message Body { + // container_id carries identifier of the container to get. + refs.ContainerID container_id = 1; + } + + // Body of container get request message. + Body body = 1; + + // Carries request meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.RequestMetaHeader meta_header = 2; + + // Carries request verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.RequestVerificationHeader verify_header = 3; } message GetResponse { - // Container that has been requested. - container.Container container = 1; + message Body { + // Container that has been requested. + container.Container container = 1; + } + + // Body of container get response message. + Body body = 1; + + // Carries response meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.ResponseMetaHeader meta_header = 2; + + // Carries response verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.ResponseVerificationHeader verify_header = 3; } message ListRequest { - // owner_id carries identifier of the container owner. - refs.OwnerID owner_id = 1; + message Body { + // owner_id carries identifier of the container owner. + refs.OwnerID owner_id = 1; + } + + // Body of list containers request message. + Body body = 1; + + // Carries request meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.RequestMetaHeader meta_header = 2; + + // Carries request verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.RequestVerificationHeader verify_header = 3; } message ListResponse { - // ContainerIDs carries list of identifiers of the containers that belong - // to the owner. - repeated refs.ContainerID container_ids = 1; + message Body { + // ContainerIDs carries list of identifiers of the containers that belong to the owner. + repeated refs.ContainerID container_ids = 1; + } + + // Body of list containers response message. + Body body = 1; + + // Carries response meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.ResponseMetaHeader meta_header = 2; + + // Carries response verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.ResponseVerificationHeader verify_header = 3; } message SetExtendedACLRequest { - // Extended ACL to set for the container. - acl.EACLTable eacl = 1; + message Body { + // Extended ACL to set for the container. + acl.EACLTable eacl = 1; - // Signature of stable-marshalled Extended ACL according to RFC-6979. - bytes signature = 2; + // Signature of stable-marshalled Extended ACL according to RFC-6979. + bytes signature = 2; + } + + // Body of set extended acl request message. + Body body = 1; + + // Carries request meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.RequestMetaHeader meta_header = 2; + + // Carries request verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.RequestVerificationHeader verify_header = 3; } -message SetExtendedACLResponse {} +message SetExtendedACLResponse { + message Body { } + + // Body of set extended acl response message. + Body body = 1; + + // Carries response meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.ResponseMetaHeader meta_header = 2; + + // Carries response verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.ResponseVerificationHeader verify_header = 3; +} message GetExtendedACLRequest { - // container_id carries identifier of the container that has Extended ACL. - refs.ContainerID container_id = 1; + message Body { + // container_id carries identifier of the container that has Extended ACL. + refs.ContainerID container_id = 1; + } + + // Body of get extended acl request message. + Body body = 1; + + // Carries request meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.RequestMetaHeader meta_header = 2; + + // Carries request verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.RequestVerificationHeader verify_header = 3; } message GetExtendedACLResponse { - // Extended ACL that has been requested if it was set up. - acl.EACLTable eacl = 1; + message Body { + // Extended ACL that has been requested if it was set up. + acl.EACLTable eacl = 1; - // Signature of stable-marshalled Extended ACL according to RFC-6979. - bytes signature = 2; + // Signature of stable-marshalled Extended ACL according to RFC-6979. + bytes signature = 2; + } + + // Body of get extended acl response message. + Body body = 1; + + // Carries response meta information. Header data is used only to regulate + // message transport and does not affect request execution. + service.ResponseMetaHeader meta_header = 2; + + // Carries response verification information. This header is used to + // authenticate the nodes of the message route and check the correctness + // of transmission. + service.ResponseVerificationHeader verify_header = 3; }