package cluster

import (
	"context"

	"github.com/pingcap/dbaas/central/db/dbutil"
	"github.com/pingcap/dbaas/central/db/entity"
)

type ClusterDaoFacade interface {
	GetCluster(clusterID entity.ID) (entity.Cluster, error)
	FindClusters(filter dbutil.ClusterFilter) (clusters []entity.Cluster, err error)
	GetClusterRegion(ctx context.Context, cluster entity.Cluster) (*entity.Region, error)
	UpdateCluster(cluster entity.Cluster, schemas []entity.ClusterDBSchemaField, forceSync bool) error
	GetProjectCIDRByClusterID(projectID, clusterID entity.ID) (*entity.ProjectNetwork, error)
}
