Commit graph

28 commits

Author SHA1 Message Date
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
4e908a17b1 [#50] Add version fields where it makes sense
Some pieces of data (container, object, etc) may be stored for a long time and
there will be a need in the future to understand which obscure format from the
past was used to create it.

Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2020-08-17 12:12:30 +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
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
7447bdceee [#37] Add body message to container 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
12dd5e07ba container: Tidy up the format
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:50 +03:00
Leonard Lyubich
f9c865eb53 [#34] container: Import PlacementRule from netmap
Replaces import of PlacementRule message from netmap repository with a message
from the internal netmap package.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:45:33 +03:00
Leonard Lyubich
0046e8fb14 [#32] container: 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 container package.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2020-08-06 23:34:03 +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
Alex Vanin
62cc321c3e [#23] Update comments for autogenerated docs
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
5928fa9bea [#23] Use rich field names instead of abbreviations
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
21f51c8c8b [#23] Reorganize container message fields
Capacity field is obsolete and removed. Salt field renamed to
Nonce so it shows better the purpose of the field.

Remaining fields are reorded to have fixed size fields on top.
It affects stable-marshaller implementation.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
ebf96fea9e [#23] Remove meta and verify headers from requests
Neofs-node doesn't use these headers in any way. They are
obsolete since container API provides proxy between client
and morph chain.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
cd6db41fe3 [#22] Add signature field to container delete request
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
72618c4e49 [#22] Update fields in container put request
With explicit signature field, that contains signature of
stable-marshalled container message, there is no need to have
separate fields of the container in request.

Public key will be stored in neofs.id smart-contract for later
signature verifications.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
9510aaee5d [#21] Return signature in GetEACL response
With EACLTable signature client can verify if EACLTable is
not corrupted by malicious node.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
944cf1ff47 [#21] Use EACLTable in EACL related requests
With EACLTable in requests and container id in EACLTable there
is no need in extra messages such as ExtendedACLKey and
ExtendedACLValue.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-08-03 18:03:34 +03:00
Alex Vanin
6a2c66cbd8 [#20] Add attributes in container definition
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2020-07-31 17:11:48 +03:00
Leonard Lyubich
17e07df8d9 container: add Get/Set extended ACL rpc 2020-06-18 10:42:37 +03:00
alexvanin
18b698d429 container: Replace AccessGroup with BasicACL
With new ACL conception, access control lists in NeoFS
defined as a required basic ACL and optional extended ACL.

Basic ACL must be set up in container structure. It is a bit
mask stored in 32-bit unsigned integer.

Seven nibbles represent seven object operations: get, put,
head, search, delete, range, range-hash.

Every nibble defines access rules for three targets: user,
owner, others and has permission bit for bearer token.

There is a permission bit for extended ACL and three unused
bits.
2020-04-01 21:06:54 +03:00
Evgeniy Kulikov
d8a0c287c4
Migrate to NeoFS API Go 2020-03-31 09:58:22 +03:00
Evgeniy Kulikov
d1d9b75f49
Add CSharp namespace to proto files 2020-02-05 15:14:39 +03:00
Evgeniy Kulikov
cc35580700
rename gopackage from neofs-proto to neofs-api 2020-01-30 16:29:38 +03:00
Evgeniy Kulikov
fe877a169f
initialize 2020-01-30 14:43:09 +03:00