Files
sxchnge/backend/pkg/model/ownerbound.go
T

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
}