package migrationcluster

import (
	"context"

	tidbmgmtservicev1 "github.com/tidbcloud/tidb-management-service/api/spec/tidb_mgmt_service/v1"
	"github.com/tidbcloud/tidb-management-service/utilities/bizerr"
)

func (svc *service) GetMigrationCluster(
	ctx context.Context,
	req *tidbmgmtservicev1.GetMigrationClusterRequest,
) (*tidbmgmtservicev1.MigrationCluster, error) {
	ctx, span := tracer.Start(ctx, "GetMigrationCluster")
	defer span.End()

	if req.GetId() == 0 {
		return nil, bizerr.New(bizerr.ErrCodeParams, "id is required")
	}

	migrationCluster, err := svc.migrationClusterRepo.Load(ctx, req.GetId())
	if err != nil {
		return nil, err
	}

	return migrationCluster, nil
}
