mirror of
https://codeberg.org/davrot/forgejo.git
synced 2025-07-07 07:00:01 +02:00

Two pull requests were merged at the same time - https://codeberg.org/forgejo/forgejo/pulls/7699 - https://codeberg.org/forgejo/forgejo/pulls/7508 And added conflicting structs ActionRun modules/structs. That broke the forgejo development branch and a quick fix was made to resolve the name conflict. - https://codeberg.org/forgejo/forgejo/pulls/8066 However that creates an undesirable duplication of two structures that serve the same purpose but are different. - Remove RepoActionRun and replace it with ActionRun - convert.ToActionRun has one more argument, the doer, because it is determined differently in the context of webhooks or API ### Tests - No need because the two pull requests involved already have good coverage. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8250 Reviewed-by: Michael Kriese <michael.kriese@gmx.de> Reviewed-by: klausfyhn <klausfyhn@noreply.codeberg.org> Reviewed-by: Christopher Besch <mail@chris-besch.com> Co-authored-by: Earl Warren <contact@earl-warren.org> Co-committed-by: Earl Warren <contact@earl-warren.org>
49 lines
1.5 KiB
Go
49 lines
1.5 KiB
Go
// Copyright 2025 The Forgejo Authors. All rights reserved.
|
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
package convert
|
|
|
|
import (
|
|
"context"
|
|
|
|
actions_model "forgejo.org/models/actions"
|
|
access_model "forgejo.org/models/perm/access"
|
|
user_model "forgejo.org/models/user"
|
|
api "forgejo.org/modules/structs"
|
|
)
|
|
|
|
// ToActionRun convert actions_model.User to api.ActionRun
|
|
// the run needs all attributes loaded
|
|
func ToActionRun(ctx context.Context, run *actions_model.ActionRun, doer *user_model.User) *api.ActionRun {
|
|
if run == nil {
|
|
return nil
|
|
}
|
|
|
|
permissionInRepo, _ := access_model.GetUserRepoPermission(ctx, run.Repo, doer)
|
|
|
|
return &api.ActionRun{
|
|
ID: run.ID,
|
|
Title: run.Title,
|
|
Repo: ToRepo(ctx, run.Repo, permissionInRepo),
|
|
WorkflowID: run.WorkflowID,
|
|
Index: run.Index,
|
|
TriggerUser: ToUser(ctx, run.TriggerUser, doer),
|
|
ScheduleID: run.ScheduleID,
|
|
PrettyRef: run.PrettyRef(),
|
|
IsRefDeleted: run.IsRefDeleted,
|
|
CommitSHA: run.CommitSHA,
|
|
IsForkPullRequest: run.IsForkPullRequest,
|
|
NeedApproval: run.NeedApproval,
|
|
ApprovedBy: run.ApprovedBy,
|
|
Event: run.Event.Event(),
|
|
EventPayload: run.EventPayload,
|
|
TriggerEvent: run.TriggerEvent,
|
|
Status: run.Status.String(),
|
|
Started: run.Started.AsTime(),
|
|
Stopped: run.Stopped.AsTime(),
|
|
Created: run.Created.AsTime(),
|
|
Updated: run.Updated.AsTime(),
|
|
Duration: run.Duration(),
|
|
HTMLURL: run.HTMLURL(),
|
|
}
|
|
}
|