Commit graph

134 commits

Author SHA1 Message Date
Alex Vanin
10137b44dd [#126] v2: make stable marshal wrapper public
This wrapper can be used outside of v2 packages to
use SignDataWithHandler function. This function uses
DataSource interface and this wrapper implements
this interface based on stable marshal structures.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
86d56086e3 Rename unified client constructors
Client constructor `New` will be used as `package.New()`
in external packages. This definition is not very clear
since it can create new structure or new client or whatever.
`package.NewClient()` is quite unambiguous.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:08 +03:00
Leonard Lyubich
55a6509e8f v2: Define API service interfaces
Define interfaces that reflect service (Accounting, Container, Session)
declarations in the API.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:44:39 +03:00
Alex Vanin
ecb0a4be67 Split object service structs from types
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:36 +03:00
Alex Vanin
ae1c1a351c Fix unified client tests
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:33 +03:00
Alex Vanin
252b7036c7 Adopt service session removal in packages
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:30 +03:00
Alex Vanin
07f25bd012 Merge session and service packages into session package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:28 +03:00
Alex Vanin
933bcf300f Move bearer token to acl package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:25 +03:00
Alex Vanin
5f2770d522 Separate type definition in accounting/grpc
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:21 +03:00
Alex Vanin
db12420c99 Move version and signature structures to refs package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:19 +03:00
Alex Vanin
f1addc4cc5 Use checksum structure in object package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:16 +03:00
Alex Vanin
4405492640 Use checksum structure in storagegroup package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:13 +03:00
Alex Vanin
6787648027 Add unified checksum type in refs package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:09 +03:00
Alex Vanin
556be90818 Recompile proto files with neofs-api jindo-rc-1
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:06 +03:00
Alex Vanin
bcacfb9cf6 Add object service interface for external clients
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:04 +03:00
Alex Vanin
e55b59bde7 Use protocol-specific names for stream structures
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:44:01 +03:00
Alex Vanin
5e25c76f40 Add client for object service
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:59 +03:00
Leonard Lyubich
f4b734b58e v2/container: Cover universal client with unit test
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:56 +03:00
Leonard Lyubich
7b491829b9 v2/container: Add universal client
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:54 +03:00
Leonard Lyubich
cb7831b00c v2/container: Implement thin NeoFS gRPC client
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:52 +03:00
Leonard Lyubich
e046e3fd04 v2/session: Cover universal client with unit test
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:49 +03:00
Leonard Lyubich
c62cd5c5a9 v2/session: Add universal client
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:47 +03:00
Leonard Lyubich
8f48c9c2f7 v2/session: Implement thin NeoFS gRPC client
Define thin wrapper over the generated gRPC Accounting service client to
fix some of its options.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:44 +03:00
Leonard Lyubich
288b89630b v2/accounting: Cover universal client with unit test
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:41 +03:00
Leonard Lyubich
5206d14c16 v2/accounting: Add universal client
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:39 +03:00
Leonard Lyubich
9253dac753 v2: Add cross-service client package
Add package with cross-service client utilities for working with transport
protocols and basic network types.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:36 +03:00
Leonard Lyubich
28d8acc58a v2/accounting: Implement thin NeoFS gRPC client
Defines thin wrapper over the generated gRPC Accounting service client to
fix some of its options.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:33 +03:00
Leonard Lyubich
53ce0967c6 v2/signature: Support all service requests/responses
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:30 +03:00
Alex Vanin
dc91753206 Add stable marshal for object service
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:27 +03:00
Alex Vanin
93d2d12984 Add stable marshal for object structure
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:24 +03:00
Alex Vanin
e553843552 Update unified DeleteRequestBody structure after api update
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:21 +03:00
Alex Vanin
61c536148d Fix short header version setter stack overflow
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:19 +03:00
Leonard Lyubich
e0eb67bac8 v2/signature: Add test for BalanceResponse
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:16 +03:00
Leonard Lyubich
db97b782c0 v2/signature: Unify request and response signing
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:43:13 +03:00
Alex Vanin
82110751e7 Add stable marshal for container package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:11 +03:00
Alex Vanin
c94cb44b58 Update neofs-api to latest jindo version
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:07 +03:00
Alex Vanin
1592151621 Add stable marshal for session package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:43:01 +03:00
Leonard Lyubich
7a55865f74 v2/object: Implement uni-structures for ObjectService
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:59 +03:00
Alex Vanin
d4336d8d5b Simplify marshal with nested structure helper
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:57 +03:00
Alex Vanin
b47ec9e056 Add stable marshal for accounting package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:54 +03:00
Alex Vanin
08d3debc3a Fix SetBalance setter
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:49 +03:00
Alex Vanin
c214d4d763 Add stable marshal for service package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:46 +03:00
Alex Vanin
c96598713e Fix missed x-header set in converters
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:43 +03:00
Leonard Lyubich
b197e382ca v2/object: Implement uni-structures for Object
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:41 +03:00
Leonard Lyubich
7b93298263 v2/container: Implement remaining uni-structures
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:38 +03:00
Alex Vanin
d7c4dc333c Fix some lint warnings
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:35 +03:00
Alex Vanin
ddbeaa93b3 Add stable marshal of acl table
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:32 +03:00
Alex Vanin
6e42ba8d22 Add stable marshal of acl record
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:30 +03:00
Alex Vanin
64b456996e Sync acl enums with proto definition
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:28 +03:00
Alex Vanin
5880875bd9 Add stable marshal of target info in acl package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:25 +03:00
Alex Vanin
5623ce0124 Add stable marshal of header filter in acl package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:23 +03:00
Leonard Lyubich
e5faf622df v2/session: Implement session uni-structures
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:19 +03:00
Leonard Lyubich
57dcf01f6b v2/service: Fill SessionToken uni-structure
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:16 +03:00
Leonard Lyubich
ae2e951b77 v2/container: Implement Container uni-structure
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:14 +03:00
Leonard Lyubich
9f4d24b592 v2/container/grpc: Implement needed setters
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:11 +03:00
Leonard Lyubich
ddd3ba1bf2 v2/netmap: Define uni PlacementPolicy type
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:42:09 +03:00
Alex Vanin
1ae7f9b491 Fix lint warnings in storage group package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:05 +03:00
Alex Vanin
304103c6fa Add stable marshal for storage group package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:42:00 +03:00
Alex Vanin
b3cb483894 Adopt neofs-api structure changes
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:41:58 +03:00
Alex Vanin
8a94a6344a Recompile proto files with latest neofs-api
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:41:55 +03:00
Alex Vanin
2c33e22db5 Add stable marshal for refs package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:41:52 +03:00
Alex Vanin
65e5457a21 Fix pointer name in container id methods
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:41:46 +03:00
Leonard Lyubich
e599468420 v2/service: Rename header setters
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:44 +03:00
Leonard Lyubich
e84c8aee2c v2/accounting: Implement uni BalanceResponse
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:41 +03:00
Leonard Lyubich
9df86935f5 v2/accounting: Implement Decimal uni-structure
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:39 +03:00
Leonard Lyubich
890d8291e7 v2/service: Implement response uni-structures
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:36 +03:00
Leonard Lyubich
1d5773b6ff v2/service: Replace request header converters
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:34 +03:00
Leonard Lyubich
18737e128c v2/service: Fill BearerToken uni-structure
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:31 +03:00
Leonard Lyubich
c55a9fa9bd v2/service: Gather converters in one file
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:27 +03:00
Leonard Lyubich
01581443a3 v2/acl: Implement gRPC converters
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:25 +03:00
Leonard Lyubich
77962e1d39 v2/acl: Implement uni-types
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:22 +03:00
Leonard Lyubich
8ebca8eff3 v2/storagegroup: Implement gRPC converters
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:19 +03:00
Leonard Lyubich
4b7f532e52 v2/storagegroup: Implement uni-structure
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:15 +03:00
Leonard Lyubich
a3f0c5537c v2/refs: Implement gRPC converters
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:12 +03:00
Leonard Lyubich
1b262fc072 v2/refs: Implement remaining uni-structures
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:41:09 +03:00
Alex Vanin
51e1c3bbcb Remove empty v2/convert.go 2020-09-18 10:40:51 +03:00
Alex Vanin
60e9c3d0d3 Update structure with grpc subdir
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:40:48 +03:00
Leonard Lyubich
6191903326 Implement new request signing mechanism
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:40:45 +03:00
Alex Vanin
59858805a8 Update field names in setters and tests
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:40:40 +03:00
Alex Vanin
8aca8c5787 Update proto files from latest jindo 2020-09-18 10:40:36 +03:00
Alex Vanin
ca917e42d0 Fix marshaller test 2020-09-18 10:40:33 +03:00
Alex Vanin
12e7b5f16b Remove proto files from the repo 2020-09-18 10:40:28 +03:00
Alex Vanin
ff866195c4 Add version constsant to v2 2020-09-18 10:40:25 +03:00
Alex Vanin
1f143e54bd Move api-v2 files into v2 subdir
This subdir contains generated proto files
and small wrappers.
2020-09-18 10:40:17 +03:00