Skip to content

Commit 0051da1

Browse files
Arta AsadiArta Asadi
Arta Asadi
authored and
Arta Asadi
committed
fix: update get task details outputs
1 parent 93533b1 commit 0051da1

File tree

2 files changed

+27
-56
lines changed

2 files changed

+27
-56
lines changed

services/tasks/db/db.go

+5-6
Original file line numberDiff line numberDiff line change
@@ -64,16 +64,15 @@ func (db Database) GetTask(id string) (*models.Task, error) {
6464
}
6565

6666
// GetTaskRunResult retrieves a task result by Task ID
67-
func (db Database) GetTaskRunResult(id string) ([]models.TaskRun, error) {
68-
var task []models.TaskRun
69-
tx := db.Orm.Where("id = ?", id).
70-
Order("created_at desc").
71-
Find(&task)
67+
func (db Database) GetTaskRunResult(id string) (*models.TaskRun, error) {
68+
var task models.TaskRun
69+
tx := db.Orm.Model(&models.TaskRun{}).Where("id = ?", id).
70+
First(&task)
7271
if tx.Error != nil {
7372
return nil, tx.Error
7473
}
7574

76-
return task, nil
75+
return &task, nil
7776
}
7877

7978
// ListTaskRunResult retrieves a task result by Task ID

services/tasks/http.go

+22-50
Original file line numberDiff line numberDiff line change
@@ -274,64 +274,36 @@ func (r *httpRoutes) RunTask(ctx echo.Context) error {
274274
// @Router /tasks/api/v1/tasks/run/:id [get]
275275
func (r *httpRoutes) GetTaskRunResult(ctx echo.Context) error {
276276
id := ctx.Param("id")
277-
var cursor, perPage int64
278-
taskResults, err := r.db.GetTaskRunResult(id)
277+
task, err := r.db.GetTaskRunResult(id)
279278
if err != nil {
280279
r.logger.Error("failed to get task results", zap.Error(err))
281280
return ctx.JSON(http.StatusInternalServerError, "failed to get task results")
282281
}
283-
cursorStr := ctx.QueryParam("cursor")
284-
if cursorStr != "" {
285-
cursor, err = strconv.ParseInt(cursorStr, 10, 64)
286-
if err != nil {
287-
return err
288-
}
289-
}
290-
perPageStr := ctx.QueryParam("per_page")
291-
if perPageStr != "" {
292-
perPage, err = strconv.ParseInt(perPageStr, 10, 64)
293-
if err != nil {
294-
return err
295-
}
282+
283+
var params map[string]interface{}
284+
err = json.Unmarshal(task.Params.Bytes, &params)
285+
if err != nil {
286+
r.logger.Error("failed to unmarshal params", zap.Error(err))
287+
return ctx.JSON(http.StatusInternalServerError, "failed to unmarshal params")
296288
}
297-
totalCount := len(taskResults)
298-
if perPage != 0 {
299-
if cursor == 0 {
300-
taskResults = utils.Paginate(1, perPage, taskResults)
301-
} else {
302-
taskResults = utils.Paginate(cursor, perPage, taskResults)
303-
}
289+
var result map[string]interface{}
290+
err = json.Unmarshal(task.Result.Bytes, &result)
291+
if err != nil {
292+
r.logger.Error("failed to unmarshal result", zap.Error(err))
293+
return ctx.JSON(http.StatusInternalServerError, "failed to unmarshal result")
304294
}
305-
var taskRunResponses []api.TaskRun
306-
for _, task := range taskResults {
307-
var params map[string]interface{}
308-
err := json.Unmarshal(task.Params.Bytes, &params)
309-
if err != nil {
310-
r.logger.Error("failed to unmarshal params", zap.Error(err))
311-
return ctx.JSON(http.StatusInternalServerError, "failed to unmarshal params")
312-
}
313-
var result map[string]interface{}
314-
err = json.Unmarshal(task.Result.Bytes, &result)
315-
if err != nil {
316-
r.logger.Error("failed to unmarshal result", zap.Error(err))
317-
return ctx.JSON(http.StatusInternalServerError, "failed to unmarshal result")
318-
}
319-
taskRunResponses = append(taskRunResponses, api.TaskRun{
320-
ID: task.ID,
321-
CreatedAt: task.CreatedAt,
322-
UpdatedAt: task.UpdatedAt,
323-
TaskID: task.TaskID,
324-
Status: string(task.Status),
325-
Result: result,
326-
Params: params,
327-
FailureMessage: task.FailureMessage,
328-
})
295+
taskRun := api.TaskRun{
296+
ID: task.ID,
297+
CreatedAt: task.CreatedAt,
298+
UpdatedAt: task.UpdatedAt,
299+
TaskID: task.TaskID,
300+
Status: string(task.Status),
301+
Result: result,
302+
Params: params,
303+
FailureMessage: task.FailureMessage,
329304
}
330305

331-
return ctx.JSON(http.StatusOK, api.ListTaskRunsResponse{
332-
TotalCount: totalCount,
333-
Items: taskRunResponses,
334-
})
306+
return ctx.JSON(http.StatusOK, taskRun)
335307

336308
}
337309

0 commit comments

Comments
 (0)