package maintenancewindow

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) CountMaintenanceTasks(
	ctx context.Context,
	req *tidbmgmtservicev1.CountMaintenanceTasksRequest,
) (*tidbmgmtservicev1.CountMaintenanceTasksResponse, bizerr.BizError) {
	ctx, span := tracer.Start(ctx, "CountMaintenanceTasksSvc")
	defer span.End()

	_, count, err := svc.mtRepo.Query(
		ctx,
		req.GetFilter(),
		nil,
		nil,
		nil,
		nil,
		nil,
		nil,
	)
	if err != nil {
		return nil, err
	}

	return &tidbmgmtservicev1.CountMaintenanceTasksResponse{Count: uint64(count)}, nil
}
