Commit graph

183 commits

Author SHA1 Message Date
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