Minor fixes and refactor in router

This commit is contained in:
Sosthene 2025-06-12 14:33:24 +02:00 committed by NicolasCantu
parent f4d8f8652f
commit 18e82de549

View File

@ -167,6 +167,7 @@ export async function init(): Promise<void> {
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<string, string> = {};
@ -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');
}