package regionalserver

import (
	"context"
	"net/http"

	"github.com/go-resty/resty/v2"
	dataplanemanagerv1 "github.com/tidbcloud/cluster-service-ng/api/tidbcloud/dataplane-manager/v1"

	"github.com/tidbcloud/tidb-management-service/nextgen-global-service/domain/entity"
	"github.com/tidbcloud/tidb-management-service/utilities/bizerr"
)

func (s *regionalServerCliImpl) SetKongAuditLogSetting(
	ctx context.Context,
	region *entity.Region,
	req *dataplanemanagerv1.SetKongAuditLogSettingRequest,
) bizerr.BizError {
	body, err := marshalOptions.Marshal(req)
	if err != nil {
		return bizerr.New(bizerr.ErrCodeJsonMarshal, "%s", err.Error())
	}
	_, bErr := s.callRegion(
		ctx,
		region,
		http.MethodPut,
		operationMap["SetKongAuditLogSetting"],
		func(request *resty.Request) *resty.Request {
			request.SetBody(body)
			return request
		},
	)
	if bErr != nil {
		return bErr
	}

	return nil
}
