Ctrl K
ComunidadGuías…

internal/userapi/task_action_handler.go

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

Archivo original ↗Preguntar a KiBot
package userapi

import (
	"net/http"

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

type TaskActionHandler struct {
	TaskRunService  *task.TaskRunService
	TaskAuthService *task.TaskAuthService
}

func (taskActionHandler TaskActionHandler) HandleCancelOwnTaskRun(responseWriter http.ResponseWriter, request *http.Request) {
	taskSessionID := request.URL.Query().Get("taskSessionID")
	taskRunID := request.URL.Query().Get("taskRunID")
	taskSession, errorValue := taskActionHandler.TaskAuthService.ResolveTaskSession(taskSessionID)
	if errorValue != nil {
		http.Error(responseWriter, errorValue.Error(), http.StatusUnauthorized)
		return
	}

	taskRun, errorValue := taskActionHandler.TaskRunService.CancelTaskRun(taskRunID, taskSession.PersonID)
	if errorValue != nil {
		http.Error(responseWriter, errorValue.Error(), http.StatusBadRequest)
		return
	}

	writeJSON(responseWriter, http.StatusOK, taskRun)
}