Add handleCreatePairing
This commit is contained in:
parent
48194dd2de
commit
8a0a8e2df2
@ -207,19 +207,8 @@ export async function registerAllListeners() {
|
||||
cancelText: 'Annuler'
|
||||
}, true);
|
||||
|
||||
try {
|
||||
if (!result) {
|
||||
throw new Error('User refused to link');
|
||||
}
|
||||
|
||||
if (!services.isPaired()) {
|
||||
// New device - do pairing process
|
||||
console.log('🚀 The device is not paired');
|
||||
await prepareAndSendPairingTx();
|
||||
await services.confirmPairing();
|
||||
}
|
||||
} catch (error) {
|
||||
const errorMsg = `Failed to pair device: ${error}`;
|
||||
if (!result) {
|
||||
const errorMsg = 'Failed to pair device: User refused to link';
|
||||
errorResponse(errorMsg, event.origin, event.data.messageId);
|
||||
}
|
||||
|
||||
@ -241,6 +230,47 @@ export async function registerAllListeners() {
|
||||
}
|
||||
}
|
||||
|
||||
const handleCreatePairing = async (event: MessageEvent) => {
|
||||
if (event.data.type !== MessageType.CREATE_PAIRING) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (services.isPaired()) {
|
||||
const errorMsg = 'Device already paired';
|
||||
errorResponse(errorMsg, event.origin, event.data.messageId);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const { accessToken } = event.data;
|
||||
|
||||
if (!accessToken || !(await tokenService.validateToken(accessToken, event.origin))) {
|
||||
throw new Error('Invalid or expired session token');
|
||||
}
|
||||
|
||||
console.log('🚀 Starting pairing process');
|
||||
await prepareAndSendPairingTx();
|
||||
await services.confirmPairing();
|
||||
|
||||
const pairingId = services.getPairingProcessId();
|
||||
|
||||
if (!pairingId) {
|
||||
throw new Error('Failed to get pairing process id');
|
||||
}
|
||||
|
||||
// Send success response
|
||||
const successMsg = {
|
||||
type: MessageType.PAIRING_CREATED,
|
||||
pairingId,
|
||||
messageId: event.data.messageId
|
||||
};
|
||||
window.parent.postMessage(successMsg, event.origin);
|
||||
} catch (e) {
|
||||
const errorMsg = `Failed to create pairing process: ${e}`;
|
||||
errorResponse(errorMsg, event.origin, event.data.messageId);
|
||||
}
|
||||
}
|
||||
|
||||
const handleGetMyProcesses = async (event: MessageEvent) => {
|
||||
if (event.data.type !== MessageType.GET_MY_PROCESSES) {
|
||||
return;
|
||||
@ -814,6 +844,9 @@ export async function registerAllListeners() {
|
||||
case MessageType.REQUEST_LINK:
|
||||
await handleRequestLink(event);
|
||||
break;
|
||||
case MessageType.CREATE_PAIRING:
|
||||
await handleCreatePairing(event);
|
||||
break;
|
||||
case MessageType.GET_MY_PROCESSES:
|
||||
await handleGetMyProcesses(event);
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user