Ctrl K
ComunidadGuías…

internal/adminapi/task_search_handler.go

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
package adminapi

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

	"github.com/yeomyeonggeori/blueclaw/internal/sessionquery"
)

type TaskSearchHandler struct {
	SessionQuery sessionquery.Service
}

func (handler TaskSearchHandler) HandleSearchTaskRuns(responseWriter http.ResponseWriter, request *http.Request) {
	query := request.URL.Query()
	result, errorValue := handler.SessionQuery.Search(sessionquery.Request{
		RequesterPersonID: strings.TrimSpace(query.Get("personID")),
		Text:              strings.TrimSpace(query.Get("q")),
		ConversationID:    strings.TrimSpace(query.Get("conversationID")),
		Limit:             requestedLimit(query.Get("limit")),
	})
	if errorValue != nil {
		http.Error(responseWriter, errorValue.Error(), http.StatusBadRequest)
		return
	}
	responseWriter.Header().Set("Content-Type", "application/json")
	_ = json.NewEncoder(responseWriter).Encode(result)
}

func requestedLimit(value string) int {
	limit, errorValue := strconv.Atoi(strings.TrimSpace(value))
	if errorValue != nil {
		return 0
	}
	return limit
}