forked from TrueCloudLab/frostfs-node
fddc50fd85
ErrEACLNotFound error was defined in implementation package. EACL validator checked this error after the call of eACL storage interface method. Replace ErrEACLNotFound to core container library. in order to: on the one hand not use an implementation error, on the other hand, to be able to reuse a generic type error (404). Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
28 lines
930 B
Go
28 lines
930 B
Go
package container
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/nspcc-dev/neofs-api-go/pkg/container"
|
|
)
|
|
|
|
// Source is an interface that wraps
|
|
// basic container receiving method.
|
|
type Source interface {
|
|
// Get reads the container from the storage by identifier.
|
|
// It returns the pointer to requested container and any error encountered.
|
|
//
|
|
// Get must return exactly one non-nil value.
|
|
// Get must return ErrNotFound if the container is not in storage.
|
|
//
|
|
// Implementations must not retain the container pointer and modify
|
|
// the container through it.
|
|
Get(*container.ID) (*container.Container, error)
|
|
}
|
|
|
|
// ErrNotFound is the error returned when container was not found in storage.
|
|
var ErrNotFound = errors.New("container not found")
|
|
|
|
// ErrEACLNotFound is returned by eACL storage implementations when
|
|
// requested eACL table is not in storage.
|
|
var ErrEACLNotFound = errors.New("extended ACL table is not set for this container")
|