package auditlog

import (
	"context"

	globaldedicatedv1 "github.com/tidbcloud/tidb-management-service/api/spec/global/dedicated/v1"
	"github.com/tidbcloud/tidb-management-service/utilities/bizerr"
)

type ConfigFilter struct {
	ClusterIDs []uint64
}

type ConfigRepo interface {
	Query(ctx context.Context, filter *ConfigFilter) ([]*globaldedicatedv1.AuditLogConfig, bizerr.BizError)
	GetByClusterID(ctx context.Context, clusterID uint64) (*globaldedicatedv1.AuditLogConfig, bizerr.BizError)
	Get(ctx context.Context, id uint64) (*globaldedicatedv1.AuditLogConfig, bizerr.BizError)
	Upsert(ctx context.Context, config *globaldedicatedv1.AuditLogConfig) bizerr.BizError
	DeleteByClusterID(ctx context.Context, clusterID uint64) bizerr.BizError
}
