From 96bdcf187413fcffa363b54bafacfb07fa7216be Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 29 May 2025 08:58:58 -0500 Subject: [PATCH] Add QControllerV1 usage and setGotAuthenticationInAllControllers method to replace calling it on each controller instance --- .../useAnonymousAuthenticationModule.tsx | 2 +- .../auth0/useAuth0AuthenticationModule.tsx | 3 ++- .../oauth2/useOAuth2AuthenticationModule.tsx | 4 ++-- src/qqq/utils/qqq/Client.ts | 18 ++++++++++++++++++ 4 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/qqq/authorization/anonymous/useAnonymousAuthenticationModule.tsx b/src/qqq/authorization/anonymous/useAnonymousAuthenticationModule.tsx index 9511ece..61f2f50 100644 --- a/src/qqq/authorization/anonymous/useAnonymousAuthenticationModule.tsx +++ b/src/qqq/authorization/anonymous/useAnonymousAuthenticationModule.tsx @@ -48,7 +48,7 @@ export default function useAnonymousAuthenticationModule({setIsFullyAuthenticate { console.log("Generating random token..."); setIsFullyAuthenticated(true); - qController.setGotAuthentication(); + Client.setGotAuthenticationInAllControllers(); setCookie(SESSION_UUID_COOKIE_NAME, Md5.hashStr(`${new Date()}`), {path: "/"}); console.log("Token generation complete."); }; diff --git a/src/qqq/authorization/auth0/useAuth0AuthenticationModule.tsx b/src/qqq/authorization/auth0/useAuth0AuthenticationModule.tsx index aa1c256..ac2f5af 100644 --- a/src/qqq/authorization/auth0/useAuth0AuthenticationModule.tsx +++ b/src/qqq/authorization/auth0/useAuth0AuthenticationModule.tsx @@ -30,6 +30,7 @@ import {useCookies} from "react-cookie"; import {useNavigate, useSearchParams} from "react-router-dom"; const qController = Client.getInstance(); +const qControllerV1 = Client.getInstanceV1(); interface Props { @@ -131,7 +132,7 @@ export default function useAuth0AuthenticationModule({setIsFullyAuthenticated, s } setIsFullyAuthenticated(true); - qController.setGotAuthentication(); + Client.setGotAuthenticationInAllControllers(); setLoggedInUser(auth0User); console.log("Token load complete."); diff --git a/src/qqq/authorization/oauth2/useOAuth2AuthenticationModule.tsx b/src/qqq/authorization/oauth2/useOAuth2AuthenticationModule.tsx index 0bd58c7..c6e15e6 100644 --- a/src/qqq/authorization/oauth2/useOAuth2AuthenticationModule.tsx +++ b/src/qqq/authorization/oauth2/useOAuth2AuthenticationModule.tsx @@ -80,7 +80,7 @@ export default function useOAuth2AuthenticationModule({setIsFullyAuthenticated, console.log(`we have new session UUID: ${newSessionUuid}`); setIsFullyAuthenticated(true); - qController.setGotAuthentication(); + Client.setGotAuthenticationInAllControllers(); setLoggedInUser(values?.user); console.log("Token load complete."); @@ -109,7 +109,7 @@ export default function useOAuth2AuthenticationModule({setIsFullyAuthenticated, const {values} = await qController.manageSession(null, sessionUuid, null); setIsFullyAuthenticated(true); - qController.setGotAuthentication(); + Client.setGotAuthenticationInAllControllers(); setLoggedInUser(values?.user); console.log("Token load complete."); diff --git a/src/qqq/utils/qqq/Client.ts b/src/qqq/utils/qqq/Client.ts index 99f9d29..68fe98d 100644 --- a/src/qqq/utils/qqq/Client.ts +++ b/src/qqq/utils/qqq/Client.ts @@ -20,6 +20,7 @@ */ import {QController} from "@kingsrook/qqq-frontend-core/lib/controllers/QController"; +import {QControllerV1} from "@kingsrook/qqq-frontend-core/lib/controllers/QControllerV1"; import {QException} from "@kingsrook/qqq-frontend-core/lib/exceptions/QException"; /******************************************************************************* @@ -29,6 +30,7 @@ import {QException} from "@kingsrook/qqq-frontend-core/lib/exceptions/QException class Client { private static qController: QController; + private static qControllerV1: QControllerV1; private static unauthorizedCallback: () => void; private static handleException(exception: QException) @@ -54,6 +56,22 @@ class Client return this.qController; } + public static getInstanceV1(path: string = "/qqq/v1") + { + if (this.qControllerV1 == null) + { + this.qControllerV1 = new QControllerV1(path, this.handleException); + } + + return this.qControllerV1; + } + + public static setGotAuthenticationInAllControllers() + { + Client.getInstance().setGotAuthentication(); + Client.getInstanceV1().setGotAuthentication(); + } + static setUnauthorizedCallback(unauthorizedCallback: () => void) { Client.unauthorizedCallback = unauthorizedCallback;