Files
sxchnge/backend/edge/shared/storage/organization/organization.go
T

20 lines
764 B
Go

package organization
import (
"context"
"git.sendico.io/tech/sxchnge/bff/pkg/auth"
"git.sendico.io/tech/sxchnge/bff/pkg/model"
"go.mongodb.org/mongo-driver/v2/bson"
)
// DB is the interface which must be implemented by all db drivers
type DB interface {
auth.ProtectedDB[*model.Organization]
List(ctx context.Context, accountRef bson.ObjectID, cursor *model.ViewCursor) ([]model.Organization, error)
ListOwned(ctx context.Context, accountRef bson.ObjectID) ([]model.Organization, error)
SetArchived(ctx context.Context, accountRef, organizationRef bson.ObjectID, archived, cascade bool) error
IsMember(ctx context.Context, orgRef, callerRef bson.ObjectID) (bool, error)
AddMember(ctx context.Context, orgRef, accountRef bson.ObjectID) (bool, error)
}