From 3a87ee5c93626f1e22b001fd1ac381da867c61ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B5=D0=BD=D0=B8=D1=81=20=D0=9A=D0=B0=D1=82=D0=B0?= =?UTF-8?q?=D0=B5=D0=B2?= Date: Sat, 4 May 2024 20:11:35 +0000 Subject: [PATCH] AW-58-newJWTTokenMethod --- src/api/api.ts | 1 + src/api/resources/AuthTokens.ts | 15 ++++++++++++++- src/components/App/index.tsx | 13 ++++++++----- src/routes.ts | 2 ++ 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/src/api/api.ts b/src/api/api.ts index ca2c811..6e18fb4 100644 --- a/src/api/api.ts +++ b/src/api/api.ts @@ -34,6 +34,7 @@ const api = { auth: createMethod(AuthTokens.createRequest), appleAuth: createMethod(AppleAuth.createRequest), googleAuth: createMethod(GoogleAuth.createRequest), + getRealToken: createMethod(AuthTokens.createGetRealTokenRequest), getAppConfig: createMethod(Apps.createRequest), getElement: createMethod(Element.createRequest), getElements: createMethod(Elements.createRequest), diff --git a/src/api/resources/AuthTokens.ts b/src/api/resources/AuthTokens.ts index 748631d..18c72f6 100644 --- a/src/api/resources/AuthTokens.ts +++ b/src/api/resources/AuthTokens.ts @@ -1,7 +1,7 @@ import routes from "@/routes"; import { AuthToken } from "../types"; import { User } from "./User"; -import { getBaseHeaders } from "../utils"; +import { getAuthHeaders, getBaseHeaders } from "../utils"; export interface PayloadRegisterByEmail { email: string; @@ -41,3 +41,16 @@ export const createRequest = (payload: Payload): Request => { const body = JSON.stringify({ auth: { ...payload } }); return new Request(url, { method: "POST", headers: getBaseHeaders(), body }); }; + +export interface PayloadGetRealToken { + token: string; +} + +export interface ResponseGetRealToken { + token: string; +} + +export const createGetRealTokenRequest = ({ token }: PayloadGetRealToken): Request => { + const url = new URL(routes.server.dApiGetRealToken()); + return new Request(url, { method: "POST", headers: getAuthHeaders(token) }); +} \ No newline at end of file diff --git a/src/components/App/index.tsx b/src/components/App/index.tsx index f834438..7147d62 100755 --- a/src/components/App/index.tsx +++ b/src/components/App/index.tsx @@ -198,11 +198,14 @@ function App(): JSX.Element { (async () => { if (!jwtToken) return; logout(); - const auth = await api.auth({ jwt: jwtToken }); - const { - auth: { token, user }, - } = auth; - signUp(token, user); + try { + const { token } = await api.getRealToken({ token: jwtToken }); + const { user } = await api.getUser({ token }); + signUp(token, user); + } catch (error) { + console.log("Error of get real token or get user: "); + console.error(error); + } })(); }, [api, jwtToken, logout, signUp]); diff --git a/src/routes.ts b/src/routes.ts index 574f62b..11aae84 100755 --- a/src/routes.ts +++ b/src/routes.ts @@ -216,6 +216,8 @@ const routes = { "/" ), + dApiGetRealToken: () => [dApiHost, "users", "auth", "token"].join("/"), + assistants: () => [apiHost, prefix, "ai", "assistants.json"].join("/"), setExternalChatIdAssistants: (chatId: string) => [apiHost, prefix, "ai", "assistants", chatId, "chats.json"].join("/"),