package repo

import (
	"context"

	"github.com/tidbcloud/chaos-svc/idl/pbgen/proto/chaos"
	"github.com/tidbcloud/chaos-svc/pkg/domain/entity"
	"github.com/tidbcloud/pkgv2/bizerr"
)

type BackendRepo interface {
	Load(ctx context.Context, projectID uint64, networkName string) (*entity.Backend, bizerr.BizError)
	Save(ctx context.Context, backend *entity.Backend) bizerr.BizError
	QueryBackends(ctx context.Context, filter BackendFilter) ([]*entity.Backend, bizerr.BizError)
}

type BackendFilter struct {
	Statuses []chaos.ChaosBackendStatus
}
