Commit graph

203 commits

Author SHA1 Message Date
Leonard Lyubich
8f8e977a3e [#168] session: Implement binary/JSON encoders/decoders on RequestMeta
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
7e3e9e1cba [#168] session: Implement binary/JSON encoders/decoders on XHeader
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
85d4713348 [#168] session: Implement binary/JSON encoders/decoders on SessionToken
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
4e163617d1 [#168] session: Implement binary/JSON encoders/decoders on TokenBody
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
20bf21e5e4 [#168] session: Implement binary/JSON encoders/decoders on TokenLifetime
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
86351a8f90 [#168] session: Implement binary/JSON encoders/decoders on SessionContext
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
93df2fd765 [#168] refs: Implement binary/JSON encoders/decoders on Checksum
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
4b55b06780 [#168] refs: Implement binary/JSON encoders/decoders on Signature
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
1519a02d63 [#168] refs: Implement binary/JSON encoders/decoders on Version
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
9ec57ee9f8 [#168] refs: Implement binary/JSON encoders/decoders on OwnerID
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
c0f3ac51d4 [#168] refs: Implement binary/JSON encoders/decoders on ContainerID
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
7289ff6c64 [#168] refs: Implement binary/JSON encoders/decoders on ObjectID
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
4ce751f13c [#168] refs: Implement binary/JSON encoders/decoders on Address
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
9325e22871 [#168] object: Implement binary/JSON encoders/decoders on Object
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
9cdd14841a [#168] object: Implement binary/JSON encoders/decoders on HeaderWithSig
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
b8f86f1a60 [#168] object: Implement binary/JSON encoders/decoders on Header
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
78374caa41 [#168] object: Implement binary/JSON encoders/decoders on SplitHeader
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
0caff85fb7 [#168] object: Implement binary/JSON encoders/decoders on Attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
ce0d70fa02 [#168] object: Implement binary/JSON encoders/decoders on ShortHeader
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
a684da6118 [#168] container: Implement binary/JSON encoders/decoders on Container
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
bc5d9dcce5 [#168] container: Implement binary/JSON encoders/decoders on Attribute
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
ec957be60c [#168] acl: Implement binary/JSON encoders/decoders on BearerToken
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
d8fa8df442 [#168] acl: Implement binary/JSON encoders/decoders on BearerTokenBody
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
0f4d5d5f1e [#168] acl: Implement binary/JSON encoders/decoders on TokenLifetime
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
233756ca8f [#168] acl: Implement binary/JSON encoders/decoders on Table
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
ae68790bbd [#168] acl: Implement binary/JSON encoders/decoders on Record
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
9ddc4c1f48 [#168] acl: Implement binary/JSON encoders/decoders on Target
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
7f42156201 [#168] acl: Implement binary/JSON encoders/decoders on HeaderFilter
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
9bebc1247d [#168] accounting: Implement binary/JSON encoders/decoders on Decimal
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Leonard Lyubich
e721734599 [#168] netmap: Implement binary and JSON encoders/decoders on Filter
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-11-13 18:07:26 +03:00
Alex Vanin
7894749060 [#192] v2/netmap: Fix client error messages
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-11 14:07:01 +03:00
Alex Vanin
abed8a9156 [#191] v2: Add ObjectID filters for ACL and Object packages
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-11 10:35:34 +03:00
Alex Vanin
91eade02cd [#191] v2/object: Rename leaf filter to phy
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-11 10:35:34 +03:00
Alex Vanin
ef31dec43a [#191] Recompile latest neofs-api repository
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-11 10:35:34 +03:00
Alex Vanin
e4d94bbe03 [#186] v2/netmap: Add JSON converter for placement policy
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-11-05 10:38:04 +03:00
Alex Vanin
352e99d9b9 [#185] v2: Return errors in JSON converters
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-29 10:15:28 +03:00
Leonard Lyubich
6b54019148 [#182] v2/object: Define boolean property values
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-28 14:11:49 +03:00
Leonard Lyubich
309c39481e [#182] v2/acl: Define filter keys for object headers
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-28 14:11:49 +03:00
Leonard Lyubich
31b1bed5d7 [#182] v2/object: Define reserved search filter keys
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-28 14:11:49 +03:00
Leonard Lyubich
dc9fcd5d98 [#182] Rename methods to match updated field names
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-28 14:11:49 +03:00
Leonard Lyubich
5be034ab80 [#182] Regenerate proto-compiled files
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-28 14:11:49 +03:00
Leonard Lyubich
ad0b01e892 [#172] Improve the readability of named attribute constants
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-22 19:15:45 +03:00
Leonard Lyubich
342eeb47a8 [#172] v2/object: Define well-known system attributes
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-22 19:15:45 +03:00
Leonard Lyubich
634f7e92e8 [#172] v2/container: Define well-known system attributes
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-10-22 19:15:45 +03:00
Alex Vanin
c8f46f7d97 [#178] v2: Print default values in JSON
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 18:24:48 +03:00
Alex Vanin
e6035a3249 [#172] v2: Use protojson package
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
8351c78f58 [#172] Use protobuf v2 API for go
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
b681b28e33 [#172] v2/netmap: Add JSON converter for node info
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
2e1096200e [#172] v2/container: Add JSON converter for container
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
cb188e63b7 [#172] v2/acl: Add JSON converters for EACL and bearer token
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
5f6720f456 [#172] v2/acl: Rename target keyList field to keys
According to new neofs-api target filed `key_list`
rename to `keys`.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
80b7033606 [#172] Update neofs-api with rich docs and JSON attributes
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-20 13:45:14 +03:00
Alex Vanin
a29b615522 [#166] v2/netmap: add v2 structures for netmap service
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-10-08 15:38:57 +03:00
Alex Vanin
81975017b2 sdk/v2: Remove unused marshallers
All default marshallers defined on unified structure
in `v2` package

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-21 17:56:22 +03:00
Alex Vanin
f21cecfc43 sdk/v2: Fix typo found by golangci-lint
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-21 17:56:22 +03:00
Alex Vanin
790add6538 [#139] v2/object: Fix string conversion errors for go1.15
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
182a3af9b8 [#139] v2/acl: Rename TargetInfo to Target
Corresponds with proto definition.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
581cb2d2ba [#138] v2/object: Update to neofs-api jindo release
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
c0cc4a4374 [#138] v2/netmap: Update to neofs-api jindo release
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
59f804faa2 [#136] v2/acl: Fix record stable size 2020-09-18 10:45:11 +03:00
Alex Vanin
148618b5b3 [#134] v2/netmap: Update unified structures
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
505ef59dd6 [#134] v2/netmap: Regenerate proto files
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
94c4e05aa2 [#134] v2/netmap: Remove prototype of stable marshaller
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
7a6c5eac1e [#134] v2/acl: Update unified structures
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
09cc2a5037 [#134] v2/acl: Regenerate proto files
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Leonard Lyubich
e222c441e5 [#132] v2/object: Implement stable unmarshaler on Object
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:45:11 +03:00
Leonard Lyubich
104604acae [#132] v2/refs: Implement stable unmarshaler on Address
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
edd0004b93 [#129] v2: Add unified structure for NodeInfo
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
Alex Vanin
ac0d57cc9b [#129] v2: Regenerate NodeInfo struct from API
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-09-18 10:45:11 +03:00
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