22 lines
715 B
Go
22 lines
715 B
Go
package model
|
|
|
|
import (
|
|
"git.sendico.io/tech/sxchnge/bff/pkg/db/storable"
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
)
|
|
|
|
// OwnerBound is implemented by resources that follow the personal-vs-org
|
|
// ownership model (ownerKind + ownerRef). It is the type constraint for
|
|
// ScopedDB and the canonical contract for scoped-access resources.
|
|
//
|
|
// permissionRef is deliberately absent: it is only meaningful for org-owned
|
|
// resources and is supplied separately (as OrgPolicyRef) to the enforcement
|
|
// layer. Mixing it here would re-introduce the very coupling this interface
|
|
// is meant to eliminate.
|
|
type OwnerBound interface {
|
|
storable.Storable
|
|
OrganizationBound
|
|
GetOwnerKind() OwnerKind
|
|
GetOwnerRef() bson.ObjectID
|
|
}
|