package policy

import (
	"context"

	"github.com/tech/sendico/pkg/db/template"
	"github.com/tech/sendico/pkg/model"
	"github.com/tech/sendico/pkg/mservice"
	"go.mongodb.org/mongo-driver/bson/primitive"
)

type DB interface {
	template.DB[*model.PolicyDescription]
	All(ctx context.Context, organizationRef primitive.ObjectID) ([]model.PolicyDescription, error)
	Policies(ctx context.Context, refs []primitive.ObjectID) ([]model.PolicyDescription, error)
	GetBuiltInPolicy(ctx context.Context, resourceType mservice.Type, policy *model.PolicyDescription) error
}
