Commit graph

52 commits

Author SHA1 Message Date
Alex Vanin
7f26542813 Add split_info field in object.GetRangeResponse body
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Alex Vanin
7995020a9d Add split_info field in object.HeadResponse body
Head operation returns SplitInfo structure if request has
raw flag and ID of virtual object.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Alex Vanin
a5a39257fc Add split_info field in object.GetResponse body
SplitInfo structure from split_info field contains meta information
to assembly the object that has been split into parts.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-12-10 10:43:42 +03:00
Stanislav Bogatyrev
289a6366fa [#51] Define Tombstone type and return it's address on object delete
- Define payload structure for Tombstone object type.
- Return address of the created TS on object delete. Useful for testing

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 19:38:16 +03:00
Stanislav Bogatyrev
b930782fd3 [#84] Clarify various types encoding formats
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-12-09 16:55:02 +03:00
Stanislav Bogatyrev
29c9e1d68b typo fix
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-25 16:37:08 +03:00
Stanislav Bogatyrev
73143ac362 Add split_id search attribute and remove childfree
After adding `split_id` there is no need to have $Object:CHILDFREE.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-25 13:43:20 +03:00
Stanislav Bogatyrev
2613670553 [nspcc-dev/neofs-node#151] Clarify $Object:ROOT filter description
* It's expected by app developers that ROOT filter will return the list of objects
created by user, without supplementary objects like split object parts,
tombstones and storage groups.

* Rename LEAF to PHY as it's purpose it to return physically existing objects.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-09 19:00:39 +03:00
Stanislav Bogatyrev
9a319905be [#87] Add object ID key in extended ACL filters
Extended ACL description lacks `objectID` key in filters. It's useful to control
access to specific object.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-11-09 17:33:19 +03:00
Alex Vanin
5916eb1170 [#80] Clarify well-known object filters parent and childfree
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-23 18:17:28 +03:00
Stanislav Bogatyrev
b063e5b910 Rename object search and ACL filters fields for consistency
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-23 16:27:34 +03:00
Stanislav Bogatyrev
8056035132 Clarify object search filter header name usage
Related: nspcc-dev/neofs-spec#12

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-23 15:29:37 +03:00
Stanislav Bogatyrev
a1d9527f34 [#73] Add JSON field names to object package
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-19 14:49:14 +03:00
Stanislav Bogatyrev
27f4b1ad63 Update object package docs
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-10-16 12:37:19 +03:00
Stanislav Bogatyrev
6014665fa6 [#67] Typo fixes
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-09-04 15:50:31 +03:00
Alex Vanin
4aea595cc6 [#67] Use tuple of header and signature in object head response
Object.Head method returns either full header or short header.
Since it can't return anything else, signature must be paired
with full header in explicit tuple message.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-04 13:27:05 +03:00
Stanislav Bogatyrev
a07a518a1e [#66] object: Add object_id signature to Head response
Object ID signature is needed to check Header authenticity.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-09-03 16:10:05 +03:00
Stanislav Bogatyrev
c8054c5daa [#58] netmap: Simplify Placement Policy
Proposed protobuf format for Placement Policy simplifies direct editing in
visual editors and import/export from other formats like JSON.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-09-01 21:15:09 +03:00
Stanislav Bogatyrev
fc170f56bf [#57] Merge service and session packages
Merging session and service packages to increase clarity and reduce
cross-dependencies.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-20 10:33:49 +03:00
Stanislav Bogatyrev
526792324d [#56] Add separate checksum type
NeoFS uses different checksum algorithms. It looks like we need to explicitly
define what algorithm is used in each particular case.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 18:36:31 +03:00
Stanislav Bogatyrev
7d72061fb3 Move BearerToken type to acl package
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 18:31:36 +03:00
Stanislav Bogatyrev
13a80df882 Use common signature type
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 15:04:15 +03:00
Stanislav Bogatyrev
a78b8a1ea5 Move all service types to types.proto
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-18 15:04:15 +03:00
Stanislav Bogatyrev
7555e166b2 [#49] Minor reformat
- Trying to move enums to the package level
- Trying to keep all definitions in types.proto

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-17 12:12:16 +03:00
Stanislav Bogatyrev
e63a482529 [#48] Add grpc suffix to go_package option
To simplify adding more transport level protocols to neofs-api-go in future, we
need to separate currently default gRPC.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-17 12:11:38 +03:00
Stanislav Bogatyrev
42e35fefff [#45] Fix linter errors
- Changed package names adding version
- Added documentation descriptions (sometimes useless) for all fields
- Changed enum format
- Made SessionToken and BearerToken field names more clear

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-13 22:57:00 +03:00
Stanislav Bogatyrev
cfd24944a4 [#38] Typo fixes
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-11 21:36:03 +03:00
Stanislav Bogatyrev
818ec7f0dc [#38] Change ObjectID format from UUID to Hash
NeoFS Object are now Content-addressed. It means the Object's address depends on
it's content. ObjectID is now calculated as hash of Header, which contains a
hash of payload. If either if Object's payload of Headers change, the ID will
also change.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-11 16:30:39 +03:00
Alex Vanin
60690a0f0b [#37] Add body message to object requests
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-11 12:37:06 +03:00
Stanislav Bogatyrev
327c476ecf [#41] Reindent according to Google Style Guide
Just a minor change to follow 2-space indent declared in Google Style Guide

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-11 12:08:37 +03:00
Stanislav Bogatyrev
e75ef53793 [#32] Rename fields according to Protobuf Style Guide
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-07 14:36:15 +03:00
Leonard Lyubich
05a885e142 object: Tidy up the format
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
0ca83fcef6 service: Tidy up the format
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
23f571f76f object: Remove response meta header
This commit removes ResponseMetaHeader from the repository since it is not
verifiable and its purpose is questionable. If needed, it can be added to
queries without losing compatibility with the API version.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
3518fc42bd object: Replace Raw flag
In previous version of the format RequestMetaHeader, which is included in
all requests, contained the boolean flag Raw. However, this option was
processed only in object.Head and object.Get rpc. Therefore, this commit
strips the field from the request meta header and adds it to the mentioned
requests.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
53299d7841 [#32] object: Remove gogoproto from typedef
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from object package.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
c88d1fdae3 query: Move Query to object
Move Query message definition to object package since it is only used there.
Package query is completely removed from the repository.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:11:16 +03:00
Leonard Lyubich
40420f3ab0 [#31] refs: Use OwnerID message in all services
Change the type of all fields for identifier of the container owner to
refs.OwnerID. This will allow you to follow a single format and not duplicate
its description.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 22:00:01 +03:00
Leonard Lyubich
fccd753a5d [#31] refs: Use ContainerID message in all services
Change the type of all fields for the container identifier to refs.ContainerID.
This will allow to follow a single format and not duplicate its description.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 22:00:01 +03:00
Leonard Lyubich
7ea4d475a0 [#26] object: Replace object.Range message definition
This commit replaces Range message definition closer to where it is used. In
the future, only the types associated with the structure of the object will
be defined in types.proto file.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-05 10:29:25 +03:00
Leonard Lyubich
738d521214 object: remove Token field from PutRequest.PutHeader and DeleteRequest
Session token is presented in RequestVerificationHeader, therefore its
presence in request bodies is redundant.
2020-04-27 13:17:16 +03:00
Leonard Lyubich
da3cb02936 object: remove redundant Raw field from GetRequest and HeadRequest 2020-04-27 11:00:03 +03:00
Leonard Lyubich
6b68940643 token: update structure
This commit:

  * moves Token message to service package;

  * updates token structure (new verb field, some renaming);

  * replaces VerificationHeader header with Token in object package;

  * removes no longer used VerificationHeader message.
2020-04-27 10:59:44 +03:00
Leonard Lyubich
17e7c3ae30 add PutRequest.PutHeader.CopiesNumber uint32 field 2020-04-15 18:26:03 +03:00
Evgeniy Kulikov
d8a0c287c4
Migrate to NeoFS API Go 2020-03-31 09:58:22 +03:00
Leonard Lyubich
afd6a5f69e Add ResponseMetaHeader to all Object service response messages 2020-02-13 17:22:25 +03:00
Evgeniy Kulikov
d1d9b75f49
Add CSharp namespace to proto files 2020-02-05 15:14:39 +03:00
Leonard Lyubich
8959621826 change GetRangeResponse type from 'repeated bytes' to 'bytes' 2020-02-05 14:21:15 +03:00
Leonard Lyubich
6bd0d99ddd make object.GetRange to be server-side streaming RPC 2020-02-05 13:38:53 +03:00
Leonard Lyubich
63b956e50c make object.Search to be server-side streaming RPC 2020-02-03 12:08:18 +03:00