package run

import (
	"net/http"
	"strconv"
	"strings"

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

func requestRunID(request api.WorkspaceScopedRequest) (string, error) {
	value := strings.TrimSpace(request.Gin.Param("runId"))
	if value == "" {
		return "", publicError(http.StatusBadRequest, "run_invalid_request", "runId is required")
	}
	return value, nil
}

func pageLimit(request api.WorkspaceScopedRequest) (int, error) {
	raw := strings.TrimSpace(request.Gin.Query("limit"))
	if raw == "" {
		return 0, nil
	}
	value, err := strconv.Atoi(raw)
	if err != nil || value < 1 || value > 100 {
		return 0, publicError(http.StatusBadRequest, "run_invalid_request", "limit must be between 1 and 100")
	}
	return value, nil
}
