From 2d530411575b5b35cf8113a103aa76a2611cbe2a Mon Sep 17 00:00:00 2001 From: chesterip Date: Tue, 23 Apr 2024 22:19:19 -0400 Subject: [PATCH] Return err in ToActionTask --- routers/api/v1/repo/actions.go | 7 ++++++- services/convert/convert.go | 6 +++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/routers/api/v1/repo/actions.go b/routers/api/v1/repo/actions.go index 4034cb19a6..6f0568f712 100644 --- a/routers/api/v1/repo/actions.go +++ b/routers/api/v1/repo/actions.go @@ -68,7 +68,12 @@ func ListActionTasks(ctx *context.APIContext) { res.Entries = make([]*api.ActionTask, len(tasks)) for i := range tasks { - res.Entries[i] = convert.ToActionTask(ctx, ctx.Repo.Repository, tasks[i]) + convertedTask, err := convert.ToActionTask(ctx, ctx.Repo.Repository, tasks[i]) + if err != nil { + ctx.Error(http.StatusInternalServerError, "ToActionTask", err) + return + } + res.Entries[i] = convertedTask } ctx.JSON(http.StatusOK, &res) diff --git a/services/convert/convert.go b/services/convert/convert.go index 1fd46f6bdc..37f203b116 100644 --- a/services/convert/convert.go +++ b/services/convert/convert.go @@ -196,9 +196,9 @@ func ToTag(repo *repo_model.Repository, t *git.Tag) *api.Tag { } // ToActionTask convert a actions_model.ActionTask to an api.ActionTask -func ToActionTask(ctx context.Context, repo *repo_model.Repository, t *actions_model.ActionTask) *api.ActionTask { +func ToActionTask(ctx context.Context, repo *repo_model.Repository, t *actions_model.ActionTask) (*api.ActionTask, error) { if err := t.LoadAttributes(ctx); err != nil { - panic(fmt.Sprintf("failed to execute ActionTask.LoadAttributes(): %v", err)) + return nil, err } url := strings.TrimSuffix(setting.AppURL, "/") + t.GetRunLink() @@ -217,7 +217,7 @@ func ToActionTask(ctx context.Context, repo *repo_model.Repository, t *actions_m CreatedAt: t.Created.AsLocalTime(), UpdatedAt: t.Updated.AsLocalTime(), RunStartedAt: t.Started.AsLocalTime(), - } + }, nil } // ToVerification convert a git.Commit.Signature to an api.PayloadCommitVerification