forked from TrueCloudLab/frostfs-node
923f84722a
Signed-off-by: Pavel Karpy <p.karpy@yadro.com>
28 lines
829 B
Go
28 lines
829 B
Go
package v2
|
|
|
|
import (
|
|
"github.com/TrueCloudLab/frostfs-sdk-go/user"
|
|
)
|
|
|
|
// ACLChecker is an interface that must provide
|
|
// ACL related checks.
|
|
type ACLChecker interface {
|
|
// CheckBasicACL must return true only if request
|
|
// passes basic ACL validation.
|
|
CheckBasicACL(RequestInfo) bool
|
|
// CheckEACL must return non-nil error if request
|
|
// doesn't pass extended ACL validation.
|
|
CheckEACL(interface{}, RequestInfo) error
|
|
// StickyBitCheck must return true only if sticky bit
|
|
// is disabled or enabled but request contains correct
|
|
// owner field.
|
|
StickyBitCheck(RequestInfo, user.ID) bool
|
|
}
|
|
|
|
// InnerRingFetcher is an interface that must provide
|
|
// Inner Ring information.
|
|
type InnerRingFetcher interface {
|
|
// InnerRingKeys must return list of public keys of
|
|
// the actual inner ring.
|
|
InnerRingKeys() ([][]byte, error)
|
|
}
|