forked from TrueCloudLab/frostfs-sdk-go
commit
0bc98456e3
9 changed files with 117 additions and 54 deletions
|
@ -127,21 +127,30 @@ func ActionFromV2(action v2acl.Action) (a Action) {
|
|||
return a
|
||||
}
|
||||
|
||||
// String returns string representation of Action.
|
||||
// EncodeToString returns string representation of Action.
|
||||
//
|
||||
// String mapping:
|
||||
// - ActionAllow: ALLOW;
|
||||
// - ActionDeny: DENY;
|
||||
// - ActionUnknown, default: ACTION_UNSPECIFIED.
|
||||
func (a Action) String() string {
|
||||
func (a Action) EncodeToString() string {
|
||||
return a.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses Action from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (a Action) String() string {
|
||||
return a.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses Action from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (a *Action) FromString(s string) bool {
|
||||
func (a *Action) DecodeString(s string) bool {
|
||||
var g v2acl.Action
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
@ -199,7 +208,7 @@ func OperationFromV2(operation v2acl.Operation) (o Operation) {
|
|||
return o
|
||||
}
|
||||
|
||||
// String returns string representation of Operation.
|
||||
// EncodeToString returns string representation of Operation.
|
||||
//
|
||||
// String mapping:
|
||||
// - OperationGet: GET;
|
||||
|
@ -210,15 +219,24 @@ func OperationFromV2(operation v2acl.Operation) (o Operation) {
|
|||
// - OperationRange: GETRANGE;
|
||||
// - OperationRangeHash: GETRANGEHASH;
|
||||
// - OperationUnknown, default: OPERATION_UNSPECIFIED.
|
||||
func (o Operation) String() string {
|
||||
func (o Operation) EncodeToString() string {
|
||||
return o.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses Operation from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (o Operation) String() string {
|
||||
return o.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses Operation from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (o *Operation) FromString(s string) bool {
|
||||
func (o *Operation) DecodeString(s string) bool {
|
||||
var g v2acl.Operation
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
@ -260,22 +278,31 @@ func RoleFromV2(role v2acl.Role) (r Role) {
|
|||
return r
|
||||
}
|
||||
|
||||
// String returns string representation of Role.
|
||||
// EncodeToString returns string representation of Role.
|
||||
//
|
||||
// String mapping:
|
||||
// - RoleUser: USER;
|
||||
// - RoleSystem: SYSTEM;
|
||||
// - RoleOthers: OTHERS;
|
||||
// - RoleUnknown, default: ROLE_UNKNOWN.
|
||||
func (r Role) String() string {
|
||||
func (r Role) EncodeToString() string {
|
||||
return r.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses Role from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (r Role) String() string {
|
||||
return r.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses Role from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (r *Role) FromString(s string) bool {
|
||||
func (r *Role) DecodeString(s string) bool {
|
||||
var g v2acl.Role
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
@ -313,21 +340,30 @@ func MatchFromV2(match v2acl.MatchType) (m Match) {
|
|||
return m
|
||||
}
|
||||
|
||||
// String returns string representation of Match.
|
||||
// EncodeToString returns string representation of Match.
|
||||
//
|
||||
// String mapping:
|
||||
// - MatchStringEqual: STRING_EQUAL;
|
||||
// - MatchStringNotEqual: STRING_NOT_EQUAL;
|
||||
// - MatchUnknown, default: MATCH_TYPE_UNSPECIFIED.
|
||||
func (m Match) String() string {
|
||||
func (m Match) EncodeToString() string {
|
||||
return m.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses Match from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (m Match) String() string {
|
||||
return m.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses Match from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (m *Match) FromString(s string) bool {
|
||||
func (m *Match) DecodeString(s string) bool {
|
||||
var g v2acl.MatchType
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
@ -369,21 +405,30 @@ func FilterHeaderTypeFromV2(header v2acl.HeaderType) (h FilterHeaderType) {
|
|||
return h
|
||||
}
|
||||
|
||||
// String returns string representation of FilterHeaderType.
|
||||
// EncodeToString returns string representation of FilterHeaderType.
|
||||
//
|
||||
// String mapping:
|
||||
// - HeaderFromRequest: REQUEST;
|
||||
// - HeaderFromObject: OBJECT;
|
||||
// - HeaderTypeUnknown, default: HEADER_UNSPECIFIED.
|
||||
func (h FilterHeaderType) String() string {
|
||||
func (h FilterHeaderType) EncodeToString() string {
|
||||
return h.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses FilterHeaderType from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (h FilterHeaderType) String() string {
|
||||
return h.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses FilterHeaderType from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (h *FilterHeaderType) FromString(s string) bool {
|
||||
func (h *FilterHeaderType) DecodeString(s string) bool {
|
||||
var g v2acl.HeaderType
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
|
|
@ -118,8 +118,8 @@ func TestFilterHeaderType(t *testing.T) {
|
|||
}
|
||||
|
||||
type enumIface interface {
|
||||
FromString(string) bool
|
||||
String() string
|
||||
DecodeString(string) bool
|
||||
EncodeToString() string
|
||||
}
|
||||
|
||||
type enumStringItem struct {
|
||||
|
@ -129,11 +129,11 @@ type enumStringItem struct {
|
|||
|
||||
func testEnumStrings(t *testing.T, e enumIface, items []enumStringItem) {
|
||||
for _, item := range items {
|
||||
require.Equal(t, item.str, item.val.String())
|
||||
require.Equal(t, item.str, item.val.EncodeToString())
|
||||
|
||||
s := item.val.String()
|
||||
s := item.val.EncodeToString()
|
||||
|
||||
require.True(t, e.FromString(s), s)
|
||||
require.True(t, e.DecodeString(s), s)
|
||||
|
||||
require.EqualValues(t, item.val, e, item.val)
|
||||
}
|
||||
|
@ -143,7 +143,7 @@ func testEnumStrings(t *testing.T, e enumIface, items []enumStringItem) {
|
|||
"some string",
|
||||
"UNSPECIFIED",
|
||||
} {
|
||||
require.False(t, e.FromString(str))
|
||||
require.False(t, e.DecodeString(str))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@ func (r *Record) AddObjectPayloadHashFilter(m Match, h checksum.Checksum) {
|
|||
|
||||
// AddObjectTypeFilter adds filter by object type.
|
||||
func (r *Record) AddObjectTypeFilter(m Match, t object.Type) {
|
||||
r.addObjectReservedFilter(m, fKeyObjType, staticStringer(t.String()))
|
||||
r.addObjectReservedFilter(m, fKeyObjType, staticStringer(t.EncodeToString()))
|
||||
}
|
||||
|
||||
// AddObjectHomomorphicHashFilter adds filter by object payload homomorphic hash value.
|
||||
|
|
|
@ -211,7 +211,7 @@ func TestReservedRecords(t *testing.T) {
|
|||
},
|
||||
{
|
||||
f: func(r *Record) {
|
||||
require.True(t, typ.FromString("REGULAR"))
|
||||
require.True(t, typ.DecodeString("REGULAR"))
|
||||
r.AddObjectTypeFilter(MatchStringEqual, *typ)
|
||||
},
|
||||
key: v2acl.FilterObjectType,
|
||||
|
@ -219,7 +219,7 @@ func TestReservedRecords(t *testing.T) {
|
|||
},
|
||||
{
|
||||
f: func(r *Record) {
|
||||
require.True(t, typ.FromString("TOMBSTONE"))
|
||||
require.True(t, typ.DecodeString("TOMBSTONE"))
|
||||
r.AddObjectTypeFilter(MatchStringEqual, *typ)
|
||||
},
|
||||
key: v2acl.FilterObjectType,
|
||||
|
@ -227,7 +227,7 @@ func TestReservedRecords(t *testing.T) {
|
|||
},
|
||||
{
|
||||
f: func(r *Record) {
|
||||
require.True(t, typ.FromString("STORAGE_GROUP"))
|
||||
require.True(t, typ.DecodeString("STORAGE_GROUP"))
|
||||
r.AddObjectTypeFilter(MatchStringEqual, *typ)
|
||||
},
|
||||
key: v2acl.FilterObjectType,
|
||||
|
|
|
@ -57,7 +57,7 @@ func SearchMatchFromV2(t v2object.MatchType) (m SearchMatchType) {
|
|||
return m
|
||||
}
|
||||
|
||||
// String returns string representation of SearchMatchType.
|
||||
// EncodeToString returns string representation of SearchMatchType.
|
||||
//
|
||||
// String mapping:
|
||||
// - MatchStringEqual: STRING_EQUAL;
|
||||
|
@ -65,15 +65,24 @@ func SearchMatchFromV2(t v2object.MatchType) (m SearchMatchType) {
|
|||
// - MatchNotPresent: NOT_PRESENT;
|
||||
// - MatchCommonPrefix: COMMON_PREFIX;
|
||||
// - MatchUnknown, default: MATCH_TYPE_UNSPECIFIED.
|
||||
func (m SearchMatchType) String() string {
|
||||
func (m SearchMatchType) EncodeToString() string {
|
||||
return m.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses SearchMatchType from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (m SearchMatchType) String() string {
|
||||
return m.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses SearchMatchType from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (m *SearchMatchType) FromString(s string) bool {
|
||||
func (m *SearchMatchType) DecodeString(s string) bool {
|
||||
var g v2object.MatchType
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
@ -282,7 +291,7 @@ func (f *SearchFilters) AddSplitIDFilter(m SearchMatchType, id *SplitID) {
|
|||
|
||||
// AddTypeFilter adds filter by object type.
|
||||
func (f *SearchFilters) AddTypeFilter(m SearchMatchType, typ Type) {
|
||||
f.addReservedFilter(m, fKeyType, staticStringer(typ.String()))
|
||||
f.addReservedFilter(m, fKeyType, staticStringer(typ.EncodeToString()))
|
||||
}
|
||||
|
||||
// MarshalJSON encodes SearchFilters to protobuf JSON format.
|
||||
|
|
|
@ -176,7 +176,7 @@ func TestSearchFilters_AddTypeFilter(t *testing.T) {
|
|||
require.Len(t, fsV2, 1)
|
||||
|
||||
require.Equal(t, v2object.FilterHeaderObjectType, fsV2[0].GetKey())
|
||||
require.Equal(t, typ.String(), fsV2[0].GetValue())
|
||||
require.Equal(t, typ.EncodeToString(), fsV2[0].GetValue())
|
||||
require.Equal(t, v2object.MatchStringEqual, fsV2[0].GetMatchType())
|
||||
})
|
||||
}
|
||||
|
|
|
@ -21,22 +21,31 @@ func TypeFromV2(t object.Type) Type {
|
|||
return Type(t)
|
||||
}
|
||||
|
||||
// String returns string representation of Type.
|
||||
// EncodeToString returns string representation of Type.
|
||||
//
|
||||
// String mapping:
|
||||
// - TypeTombstone: TOMBSTONE;
|
||||
// - TypeStorageGroup: STORAGE_GROUP;
|
||||
// - TypeLock: LOCK;
|
||||
// - TypeRegular, default: REGULAR.
|
||||
func (t Type) String() string {
|
||||
func (t Type) EncodeToString() string {
|
||||
return t.ToV2().String()
|
||||
}
|
||||
|
||||
// FromString parses Type from a string representation.
|
||||
// It is a reverse action to String().
|
||||
// String implements fmt.Stringer.
|
||||
//
|
||||
// String is designed to be human-readable, and its format MAY differ between
|
||||
// SDK versions. String MAY return same result as EncodeToString. String MUST NOT
|
||||
// be used to encode ID into NeoFS protocol string.
|
||||
func (t Type) String() string {
|
||||
return t.EncodeToString()
|
||||
}
|
||||
|
||||
// DecodeString parses Type from a string representation.
|
||||
// It is a reverse action to EncodeToString().
|
||||
//
|
||||
// Returns true if s was parsed successfully.
|
||||
func (t *Type) FromString(s string) bool {
|
||||
func (t *Type) DecodeString(s string) bool {
|
||||
var g object.Type
|
||||
|
||||
ok := g.FromString(s)
|
||||
|
|
|
@ -54,8 +54,8 @@ func TestType_String(t *testing.T) {
|
|||
}
|
||||
|
||||
type enumIface interface {
|
||||
FromString(string) bool
|
||||
String() string
|
||||
DecodeString(string) bool
|
||||
EncodeToString() string
|
||||
}
|
||||
|
||||
type enumStringItem struct {
|
||||
|
@ -65,11 +65,11 @@ type enumStringItem struct {
|
|||
|
||||
func testEnumStrings(t *testing.T, e enumIface, items []enumStringItem) {
|
||||
for _, item := range items {
|
||||
require.Equal(t, item.str, item.val.String())
|
||||
require.Equal(t, item.str, item.val.EncodeToString())
|
||||
|
||||
s := item.val.String()
|
||||
s := item.val.EncodeToString()
|
||||
|
||||
require.True(t, e.FromString(s), s)
|
||||
require.True(t, e.DecodeString(s), s)
|
||||
|
||||
require.EqualValues(t, item.val, e, item.val)
|
||||
}
|
||||
|
@ -79,6 +79,6 @@ func testEnumStrings(t *testing.T, e enumIface, items []enumStringItem) {
|
|||
"some string",
|
||||
"undefined",
|
||||
} {
|
||||
require.False(t, e.FromString(str))
|
||||
require.False(t, e.DecodeString(str))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -252,7 +252,7 @@ func (sg *StorageGroup) UnmarshalJSON(data []byte) error {
|
|||
// error if object is not of TypeStorageGroup type.
|
||||
func ReadFromObject(sg *StorageGroup, o objectSDK.Object) error {
|
||||
if typ := o.Type(); typ != objectSDK.TypeStorageGroup {
|
||||
return fmt.Errorf("object is not of StorageGroup type: %s", typ)
|
||||
return fmt.Errorf("object is not of StorageGroup type: %v", typ)
|
||||
}
|
||||
|
||||
err := sg.Unmarshal(o.Payload())
|
||||
|
|
Loading…
Reference in a new issue