20 lines
764 B
Go
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)
|
|
}
|