From 365b5753419238bb96bc3f9b744d380ff20cbafc Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Mon, 7 Apr 2025 16:14:41 +0200 Subject: [feature] add TOTP two-factor authentication (2FA) (#3960) * [feature] add TOTP two-factor authentication (2FA) * use byteutil.S2B to avoid allocations when comparing + generating password hashes * don't bother with string conversion for consts * use io.ReadFull * use MustGenerateSecret for backup codes * rename util functions --- web/source/settings/lib/query/gts-api.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'web/source/settings/lib/query/gts-api.ts') diff --git a/web/source/settings/lib/query/gts-api.ts b/web/source/settings/lib/query/gts-api.ts index 540191132..9d38e435d 100644 --- a/web/source/settings/lib/query/gts-api.ts +++ b/web/source/settings/lib/query/gts-api.ts @@ -143,15 +143,20 @@ const gtsBaseQuery: BaseQueryFn< return headers; }, responseHandler: (response) => { - // Return just text if caller has - // set a custom accept content-type. - if (accept !== "application/json") { - return response.text(); + switch (true) { + case (accept === "application/json"): + // return good old + // fashioned JSON baby! + return response.json(); + case (accept.startsWith("image/")): + // It's an image, + // return the blob. + return response.blob(); + default: + // God knows what it + // is, just return text. + return response.text(); } - - // Else return good old - // fashioned JSON baby! - return response.json(); }, })(args, api, extraOptions); }; @@ -174,6 +179,7 @@ export const gtsApi = createApi({ "DomainPermissionExclude", "DomainPermissionSubscription", "TokenInfo", + "User", ], endpoints: (build) => ({ instanceV1: build.query({ -- cgit v1.2.3