package schedule

import (
	"strings"

	"github.com/tidbcloud/AgentTeam/internal/api"
	"github.com/tidbcloud/AgentTeam/internal/api/dto"
	"github.com/tidbcloud/AgentTeam/internal/api/dto/converter"
)

// Validate handles POST /api/v1/workspaces/:workspaceId/schedules:validate.
func (handler *ValidationHandler) Validate(r api.WorkspaceScopedJSON[dto.ScheduleValidateRequest]) (api.Response, error) {
	result, err := handler.scheduleService.ValidateScheduleForOwner(r.Context(), r.UserID(), r.WorkspaceID(), converter.FromScheduleMutationRequest(r.Body.ScheduleMutationRequest), strings.TrimSpace(r.Body.ExistingID()))
	if err != nil {
		return api.Response{}, err
	}
	return api.OK(result), nil
}
