From a5c17cad1f610f4e83f91d4effcd559fd2eab009 Mon Sep 17 00:00:00 2001 From: Cemal Kilic Date: Mon, 20 Oct 2025 18:32:24 +0300 Subject: [PATCH 1/3] fix(auth): handle 204 No Content response in OAuth client delete --- packages/core/auth-js/src/GoTrueAdminApi.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/core/auth-js/src/GoTrueAdminApi.ts b/packages/core/auth-js/src/GoTrueAdminApi.ts index 9c97f600b..31af3493f 100644 --- a/packages/core/auth-js/src/GoTrueAdminApi.ts +++ b/packages/core/auth-js/src/GoTrueAdminApi.ts @@ -465,17 +465,16 @@ export default class GoTrueAdminApi { */ private async _deleteOAuthClient(clientId: string): Promise { try { - return await _request( + await _request( this.fetch, 'DELETE', `${this.url}/admin/oauth/clients/${clientId}`, { headers: this.headers, - xform: (client: any) => { - return { data: client, error: null } - }, + noResolveJson: true, } ) + return { data: {}, error: null } } catch (error) { if (isAuthError(error)) { return { data: null, error } From e8316479fdc8022a68abfe3cf7bc160bccab2d4d Mon Sep 17 00:00:00 2001 From: Cemal Kilic Date: Mon, 20 Oct 2025 18:36:40 +0300 Subject: [PATCH 2/3] fix(auth): return null instead of empty object --- packages/core/auth-js/src/GoTrueAdminApi.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/auth-js/src/GoTrueAdminApi.ts b/packages/core/auth-js/src/GoTrueAdminApi.ts index 31af3493f..6d888c747 100644 --- a/packages/core/auth-js/src/GoTrueAdminApi.ts +++ b/packages/core/auth-js/src/GoTrueAdminApi.ts @@ -474,7 +474,7 @@ export default class GoTrueAdminApi { noResolveJson: true, } ) - return { data: {}, error: null } + return { data: null, error: null } } catch (error) { if (isAuthError(error)) { return { data: null, error } From 75f071eb3e720bc250aae27fc18d87c365cf3252 Mon Sep 17 00:00:00 2001 From: Cemal Kilic Date: Mon, 20 Oct 2025 18:41:02 +0300 Subject: [PATCH 3/3] fix(auth): update types --- packages/core/auth-js/src/GoTrueAdminApi.ts | 4 +++- packages/core/auth-js/src/lib/types.ts | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/core/auth-js/src/GoTrueAdminApi.ts b/packages/core/auth-js/src/GoTrueAdminApi.ts index 6d888c747..00658a48e 100644 --- a/packages/core/auth-js/src/GoTrueAdminApi.ts +++ b/packages/core/auth-js/src/GoTrueAdminApi.ts @@ -463,7 +463,9 @@ export default class GoTrueAdminApi { * * This function should only be called on a server. Never expose your `service_role` key in the browser. */ - private async _deleteOAuthClient(clientId: string): Promise { + private async _deleteOAuthClient( + clientId: string + ): Promise<{ data: null; error: AuthError | null }> { try { await _request( this.fetch, diff --git a/packages/core/auth-js/src/lib/types.ts b/packages/core/auth-js/src/lib/types.ts index 734d8ef0a..468fae5a7 100644 --- a/packages/core/auth-js/src/lib/types.ts +++ b/packages/core/auth-js/src/lib/types.ts @@ -1580,7 +1580,7 @@ export interface GoTrueAdminOAuthApi { * * This function should only be called on a server. Never expose your `service_role` key in the browser. */ - deleteClient(clientId: string): Promise + deleteClient(clientId: string): Promise<{ data: null; error: AuthError | null }> /** * Regenerates the secret for an OAuth client.