package converter import ( "fmt" "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/container/acl" nativeschema "git.frostfs.info/TrueCloudLab/policy-engine/schema/native" ) func SchemaRoleFromACLRole(role acl.Role) (string, error) { switch role { case acl.RoleOwner: return nativeschema.PropertyValueContainerRoleOwner, nil case acl.RoleContainer: return nativeschema.PropertyValueContainerRoleContainer, nil case acl.RoleInnerRing: return nativeschema.PropertyValueContainerRoleIR, nil case acl.RoleOthers: return nativeschema.PropertyValueContainerRoleOthers, nil default: return "", fmt.Errorf("failed to convert %s", role.String()) } } func SchemaMethodFromACLOperation(op acl.Op) (string, error) { switch op { case acl.OpObjectGet: return nativeschema.MethodGetObject, nil case acl.OpObjectHead: return nativeschema.MethodHeadObject, nil case acl.OpObjectPut: return nativeschema.MethodPutObject, nil case acl.OpObjectDelete: return nativeschema.MethodDeleteObject, nil case acl.OpObjectSearch: return nativeschema.MethodSearchObject, nil case acl.OpObjectRange: return nativeschema.MethodRangeObject, nil case acl.OpObjectHash: return nativeschema.MethodHashObject, nil default: return "", fmt.Errorf("operation cannot be converted: %d", op) } }