diff --git a/src/router.ts b/src/router.ts index 9b7af30..8e87e28 100755 --- a/src/router.ts +++ b/src/router.ts @@ -167,6 +167,7 @@ export async function init(): Promise { export async function registerAllListeners() { const services = await Services.getInstance(); + const tokenService = await TokenService.getInstance(); const errorResponse = (errorMsg: string, origin: string) => { window.parent.postMessage( @@ -214,7 +215,6 @@ export async function registerAllListeners() { } try { - const tokenService = await TokenService.getInstance(); const tokens = await tokenService.generateSessionToken(event.origin); const acceptedMsg: LinkAcceptedMessage = { type: MessageType.LINK_ACCEPTED, @@ -235,7 +235,6 @@ export async function registerAllListeners() { if (event.data.type !== MessageType.CREATE_PROFILE) { return; } - const tokenService = await TokenService.getInstance(); if (!services.isPaired()) { const errorMsg = 'Device not paired'; @@ -244,9 +243,8 @@ export async function registerAllListeners() { } try { - const { profileData, accessToken, refreshToken } = event.data; + const { profileData, accessToken } = event.data; - // Validate the session token if (!accessToken || await !tokenService.validateToken(accessToken, event.origin)) { throw new Error('Invalid or expired session token'); } @@ -278,8 +276,6 @@ export async function registerAllListeners() { return; } - const tokenService = await TokenService.getInstance(); - if (!services.isPaired()) { const errorMsg = 'Device not paired'; errorResponse(errorMsg, event.origin); @@ -289,7 +285,6 @@ export async function registerAllListeners() { try { const { accessToken } = event.data; - // Validate the session token if (!accessToken || await !tokenService.validateToken(accessToken, event.origin)) { throw new Error('Invalid or expired session token'); } @@ -336,8 +331,6 @@ export async function registerAllListeners() { return; } - const tokenService = await TokenService.getInstance(); - if (!services.isPaired()) { const errorMsg = 'Device not paired'; errorResponse(errorMsg, event.origin); @@ -345,9 +338,9 @@ export async function registerAllListeners() { } try { - const { folderData, token } = event.data; + const { folderData, accessToken } = event.data; - if (!token || await !tokenService.validateToken(token, event.origin)) { + if (!token || await !tokenService.validateToken(accessToken, event.origin)) { throw new Error('Invalid or expired session token'); } @@ -388,12 +381,15 @@ export async function registerAllListeners() { try { const { processId, stateId, token } = event.data; - if (!token || !tokenService.validateToken(token, event.origin)) { + if (!token || await !tokenService.validateToken(token, event.origin)) { throw new Error('Invalid or expired session token'); } // Retrieve the state for the process const process = await services.getProcess(processId); + if (!process) { + throw new Error('Can\'t find process'); + } const state = services.getStateFromId(process, stateId); let res: Record = {}; @@ -428,26 +424,13 @@ export async function registerAllListeners() { return; } - console.log('Received validate token msg'); - - const tokenService = await TokenService.getInstance(); - const accessToken = event.data.accessToken; const refreshToken = event.data.refreshToken; - try { - if (!accessToken || !refreshToken) { - // That's actually a different error - throw new Error('Missing access token or refresh token'); - } - } catch (e) { - console.error('❌ Erreur:', e); - errorResponse(`Failed to get profile: ${e}`, event.origin); + if (!accessToken || !refreshToken) { + errorResponse('Failed to validate token: missing access, refresh token or both', event.origin); } - let isValid = false; - if (await tokenService.validateToken(accessToken, event.origin)) { - isValid = true; - } + const isValid = await tokenService.validateToken(accessToken, event.origin); window.parent.postMessage( { @@ -466,7 +449,6 @@ export async function registerAllListeners() { } try { - const tokenService = await TokenService.getInstance(); const refreshToken = event.data.refreshToken; if (!refreshToken) { @@ -496,8 +478,6 @@ export async function registerAllListeners() { const handleGetPairingId = async (event: MessageEvent) => { if (event.data.type !== MessageType.GET_PAIRING_ID) return; - const tokenService = await TokenService.getInstance(); - if (!services.isPaired()) { const errorMsg = 'Device not paired'; errorResponse(errorMsg, event.origin); @@ -507,7 +487,6 @@ export async function registerAllListeners() { try { const { accessToken } = event.data; - // Validate the session token if (!accessToken || !tokenService.validateToken(accessToken, event.origin)) { throw new Error('Invalid or expired session token'); }