Merge branch 'add_create_pairing' into dev
This commit is contained in:
commit
76a1d38e09
@ -27,6 +27,8 @@ export enum MessageType {
|
||||
LISTENING = 'LISTENING',
|
||||
REQUEST_LINK = 'REQUEST_LINK',
|
||||
LINK_ACCEPTED = 'LINK_ACCEPTED',
|
||||
CREATE_PAIRING = 'CREATE_PAIRING',
|
||||
PAIRING_CREATED = 'PAIRING_CREATED',
|
||||
ERROR = 'ERROR',
|
||||
VALIDATE_TOKEN = 'VALIDATE_TOKEN',
|
||||
RENEW_TOKEN = 'RENEW_TOKEN',
|
||||
|
@ -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