// Package handler provides HTTP handlers for various endpoints. package handler import ( "modelRT/constants" "modelRT/database" "modelRT/logger" "modelRT/network" "github.com/gin-gonic/gin" ) // AsyncTaskProgressUpdateHandler handles updating task progress (internal use, not exposed via API) func AsyncTaskProgressUpdateHandler(c *gin.Context) { ctx := c.Request.Context() var request network.AsyncTaskProgressUpdate if err := c.ShouldBindJSON(&request); err != nil { logger.Error(ctx, "failed to unmarshal async task progress update request", "error", err) renderRespFailure(c, constants.RespCodeInvalidParams, "invalid request parameters", nil) return } pgClient := database.GetPostgresDBClient() if pgClient == nil { logger.Error(ctx, "database connection not found in context") renderRespFailure(c, constants.RespCodeServerError, "database connection error", nil) return } err := database.UpdateAsyncTaskProgress(ctx, pgClient, request.TaskID, request.Progress) if err != nil { logger.Error(ctx, "failed to update async task progress", "task_id", request.TaskID, "error", err) renderRespFailure(c, constants.RespCodeServerError, "failed to update task progress", nil) return } renderRespSuccess(c, constants.RespCodeSuccess, "task progress updated successfully", nil) }