package auditlog

import (
	"context"

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

type SettingFilter struct {
	ClusterIDs []uint64
}

type SettingRepo interface {
	Query(ctx context.Context, filter *SettingFilter) ([]*globalngv1.AuditLogSetting, bizerr.BizError)
	GetByClusterID(ctx context.Context, clusterID uint64) (*globalngv1.AuditLogSetting, bizerr.BizError)
	Get(ctx context.Context, id uint64) (*globalngv1.AuditLogSetting, bizerr.BizError)
	Upsert(ctx context.Context, config *globalngv1.AuditLogSetting) bizerr.BizError
	DeleteByClusterID(ctx context.Context, clusterID uint64) bizerr.BizError
}
