package integration

import (
	"context"

	"github.com/pingcap/errcode"
	"github.com/pingcap/errors"
	"github.com/tidbcloud/metrics-server/idl/pbgen/proto/central"
)

func (i integrationService) ValidateDatadogAPIKey(
	ctx context.Context,
	req *central.IntegrationDatadogValidateReq) (*central.IntegrationDatadogValidateResp, error) {
	v, err := i.model.ValidateDatadogAPIKey(ctx, req.DatadogApiKey, req.DatadogSite)
	if err != nil {
		err = errcode.NewInternalErr(errors.Annotate(err, "validate datadog api key failed"))
		return nil, err
	}
	resp := &central.IntegrationDatadogValidateResp{
		OrgId:     req.OrgId,
		ProjectId: req.ProjectId,
		Valid:     v,
	}
	return resp, nil
}
