package repository

import (
	"context"

	"haixun-backend/internal/model/publish_inventory/domain/entity"
)

type Repository interface {
	EnsureIndexes(ctx context.Context) error
	Get(ctx context.Context, tenantID, ownerUID, accountID string) (*entity.Policy, error)
	Upsert(ctx context.Context, policy *entity.Policy) (*entity.Policy, error)
	ListEnabled(ctx context.Context, limit int) ([]entity.Policy, error)
	DeleteByAccount(ctx context.Context, tenantID, ownerUID, accountID string) error
}
