From 7cae6e58f80632640b3a3eb4fa1d5da0ec628998 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 9 Jun 2024 07:36:31 +0200 Subject: [PATCH 1/3] fix(deps): update codeberg.org/mvdkleijn/forgejo-sdk/forgejo digest to 168c988 (#3776) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index c156fa9bef..c5fe5c9764 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( code.gitea.io/sdk/gitea v0.18.0 codeberg.org/6543/go-yaml2json v1.0.0 codeberg.org/6543/xyaml v1.1.0 - codeberg.org/mvdkleijn/forgejo-sdk/forgejo v0.0.0-20240503154913-d2f7239d0250 + codeberg.org/mvdkleijn/forgejo-sdk/forgejo v0.0.0-20240607215151-168c988b82c1 github.com/6543/logfile-open v1.2.1 github.com/adrg/xdg v0.4.0 github.com/alessio/shellescape v1.4.2 diff --git a/go.sum b/go.sum index 978b2e6359..98eb541969 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ codeberg.org/6543/go-yaml2json v1.0.0 h1:heGqo9VEi7gY2yNqjj7X4ADs5nzlFIbGsJtgYDL codeberg.org/6543/go-yaml2json v1.0.0/go.mod h1:mz61q14LWF4ZABrgMEDMmk3t9dPi6zgR1uBh2VKV2RQ= codeberg.org/6543/xyaml v1.1.0 h1:0PWTy8OUqshshjrrnAXFWXSPUEa8R49DIh2ah07SxFc= codeberg.org/6543/xyaml v1.1.0/go.mod h1:jI7afXLZUxeL4rNNsG1SlHh78L+gma9lK1bIebyFZwA= -codeberg.org/mvdkleijn/forgejo-sdk/forgejo v0.0.0-20240503154913-d2f7239d0250 h1:VyMtcK3K2ltTQlpMPFueqcnt0NOyU8RSaEwUuCIoYoM= -codeberg.org/mvdkleijn/forgejo-sdk/forgejo v0.0.0-20240503154913-d2f7239d0250/go.mod h1:09wAYX9H0+wBo1baX9DdSqdfreZc6ji5aELsnu9m14M= +codeberg.org/mvdkleijn/forgejo-sdk/forgejo v0.0.0-20240607215151-168c988b82c1 h1:fwiekuoe+B8uz+Jpk0URaIOfklb2MWM8Pe0lNQck32A= +codeberg.org/mvdkleijn/forgejo-sdk/forgejo v0.0.0-20240607215151-168c988b82c1/go.mod h1:09wAYX9H0+wBo1baX9DdSqdfreZc6ji5aELsnu9m14M= filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= From 9bc15a5f3bbfc079cefce82ba311a483fc138a29 Mon Sep 17 00:00:00 2001 From: Anbraten <6918444+anbraten@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:13:13 +0200 Subject: [PATCH 2/3] Fix web api client (#3779) --- web/src/lib/api/client.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web/src/lib/api/client.ts b/web/src/lib/api/client.ts index 905119be45..ca3d1dc89a 100644 --- a/web/src/lib/api/client.ts +++ b/web/src/lib/api/client.ts @@ -40,7 +40,7 @@ export default class ApiClient { this.csrf = csrf; } - private async _request(method: string, path: string, data: unknown): Promise { + private async _request(method: string, path: string, data?: unknown): Promise { const res = await fetch(`${this.server}${path}`, { method, headers: { @@ -71,7 +71,7 @@ export default class ApiClient { } _get(path: string) { - return this._request('GET', path, null); + return this._request('GET', path); } _post(path: string, data?: unknown) { @@ -83,7 +83,7 @@ export default class ApiClient { } _delete(path: string) { - return this._request('DELETE', path, null); + return this._request('DELETE', path); } _subscribe(path: string, callback: (data: T) => void, opts = { reconnect: true }) { From 1953a0ec5af91cd35dea2a6d099dae97670bb994 Mon Sep 17 00:00:00 2001 From: Anbraten <6918444+anbraten@users.noreply.github.com> Date: Mon, 10 Jun 2024 12:28:54 +0200 Subject: [PATCH 3/3] Fix repo creation (#3756) --- server/api/repo.go | 51 +++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 25 deletions(-) diff --git a/server/api/repo.go b/server/api/repo.go index eb76bf1a20..b5cefa699f 100644 --- a/server/api/repo.go +++ b/server/api/repo.go @@ -117,23 +117,6 @@ func PostRepo(c *gin.Context) { ) } - // creates the jwt token used to verify the repository - t := token.New(token.HookToken) - t.Set("repo-id", strconv.FormatInt(repo.ID, 10)) - sig, err := t.Sign(repo.Hash) - if err != nil { - msg := "could not generate new jwt token." - log.Error().Err(err).Msg(msg) - c.String(http.StatusInternalServerError, msg) - return - } - - hookURL := fmt.Sprintf( - "%s/api/hook?access_token=%s", - server.Config.Server.WebhookHost, - sig, - ) - // find org of repo var org *model.Org org, err = _store.OrgFindByName(repo.Owner) @@ -164,14 +147,6 @@ func PostRepo(c *gin.Context) { repo.OrgID = org.ID - err = _forge.Activate(c, user, repo, hookURL) - if err != nil { - msg := "could not create webhook in forge." - log.Error().Err(err).Msg(msg) - c.String(http.StatusInternalServerError, msg) - return - } - if enabledOnce { err = _store.UpdateRepo(repo) } else { @@ -184,6 +159,32 @@ func PostRepo(c *gin.Context) { c.String(http.StatusInternalServerError, msg) return } + + // creates the jwt token used to verify the repository + t := token.New(token.HookToken) + t.Set("repo-id", strconv.FormatInt(repo.ID, 10)) + sig, err := t.Sign(repo.Hash) + if err != nil { + msg := "could not generate new jwt token." + log.Error().Err(err).Msg(msg) + c.String(http.StatusInternalServerError, msg) + return + } + + hookURL := fmt.Sprintf( + "%s/api/hook?access_token=%s", + server.Config.Server.WebhookHost, + sig, + ) + + err = _forge.Activate(c, user, repo, hookURL) + if err != nil { + msg := "could not create webhook in forge." + log.Error().Err(err).Msg(msg) + c.String(http.StatusInternalServerError, msg) + return + } + repo.Perm = from.Perm repo.Perm.Synced = time.Now().Unix() repo.Perm.UserID = user.ID