[#70] container: Add ListStream method

Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
This commit is contained in:
Ekaterina Lebedeva 2024-10-16 17:36:52 +03:00
parent 4c51a9b9d6
commit 1a6bb369ec

View file

@ -61,6 +61,17 @@ service ContainerService {
// - **CONTAINER_ACCESS_DENIED** (3074, SECTION_CONTAINER): \ // - **CONTAINER_ACCESS_DENIED** (3074, SECTION_CONTAINER): \
// container list access denied. // container list access denied.
rpc List(ListRequest) returns (ListResponse); rpc List(ListRequest) returns (ListResponse);
// Returns all owner's containers from `Container` smart contract' storage
// via stream.
//
// Statuses:
// - **OK** (0, SECTION_SUCCESS): \
// container list has been successfully read;
// - Common failures (SECTION_FAILURE_COMMON);
// - **CONTAINER_ACCESS_DENIED** (3074, SECTION_CONTAINER): \
// container list access denied.
rpc ListStream(ListStreamRequest) returns (stream ListStreamResponse);
} }
// New FrostFS Container creation request // New FrostFS Container creation request
@ -245,3 +256,44 @@ message ListResponse {
// transmission. // transmission.
neo.fs.v2.session.ResponseVerificationHeader verify_header = 3; neo.fs.v2.session.ResponseVerificationHeader verify_header = 3;
} }
// List containers stream
message ListStreamRequest {
// List containers stream request body.
message Body {
// Identifier of the container owner.
neo.fs.v2.refs.OwnerID owner_id = 1;
}
// Body of list containers stream request message.
Body body = 1;
// Carries request meta information. Header data is used only to regulate
// message transport and does not affect request execution.
neo.fs.v2.session.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.
neo.fs.v2.session.RequestVerificationHeader verify_header = 3;
}
// List containers stream
message ListStreamResponse {
// List containers stream response body.
message Body {
// List of `ContainerID`s belonging to the requested `OwnerID`
repeated refs.ContainerID container_ids = 1;
}
// Body of list containers stream response message.
Body body = 1;
// Carries response meta information. Header data is used only to regulate
// message transport and does not affect request execution.
neo.fs.v2.session.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.
neo.fs.v2.session.ResponseVerificationHeader verify_header = 3;
}