From 1d6b073ca5c5595c4e55fc60acff758c7719af10 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Sat, 8 Jul 2023 20:10:47 +0200 Subject: [PATCH] Make secrets with "/" in name editable / deletable (#1938) close #1937 --------- Co-authored-by: Anbraten --- web/src/lib/api/index.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/web/src/lib/api/index.ts b/web/src/lib/api/index.ts index 31d24d24f..3e64af3c7 100644 --- a/web/src/lib/api/index.ts +++ b/web/src/lib/api/index.ts @@ -145,11 +145,13 @@ export default class WoodpeckerClient extends ApiClient { } updateSecret(repoId: number, secret: Partial): Promise { - return this._patch(`/api/repos/${repoId}/secrets/${secret.name}`, secret); + const secretName = encodeURIComponent(secret.name ?? ''); + return this._patch(`/api/repos/${repoId}/secrets/${secretName}`, secret); } deleteSecret(repoId: number, secretName: string): Promise { - return this._delete(`/api/repos/${repoId}/secrets/${secretName}`); + const name = encodeURIComponent(secretName); + return this._delete(`/api/repos/${repoId}/secrets/${name}`); } getRegistryList(repoId: number, page: number): Promise { @@ -201,11 +203,13 @@ export default class WoodpeckerClient extends ApiClient { } updateOrgSecret(owner: string, secret: Partial): Promise { - return this._patch(`/api/orgs/${owner}/secrets/${secret.name}`, secret); + const secretName = encodeURIComponent(secret.name ?? ''); + return this._patch(`/api/orgs/${owner}/secrets/${secretName}`, secret); } deleteOrgSecret(owner: string, secretName: string): Promise { - return this._delete(`/api/orgs/${owner}/secrets/${secretName}`); + const name = encodeURIComponent(secretName); + return this._delete(`/api/orgs/${owner}/secrets/${name}`); } getGlobalSecretList(page: number): Promise { @@ -217,11 +221,13 @@ export default class WoodpeckerClient extends ApiClient { } updateGlobalSecret(secret: Partial): Promise { - return this._patch(`/api/secrets/${secret.name}`, secret); + const secretName = encodeURIComponent(secret.name ?? ''); + return this._patch(`/api/secrets/${secretName}`, secret); } deleteGlobalSecret(secretName: string): Promise { - return this._delete(`/api/secrets/${secretName}`); + const name = encodeURIComponent(secretName); + return this._delete(`/api/secrets/${name}`); } getSelf(): Promise {