WIP import_id #9

Open
sosthene wants to merge 6 commits from import_id into dev
2 changed files with 34 additions and 2 deletions
Showing only changes of commit 252bba2cdb - Show all commits

View File

@ -35,9 +35,37 @@ export default function MyAccount() {
}); });
}, []); }, []);
const downloadBackupFile = (backupFile: string, filename: string = 'backup.json') => {
try {
// Create a blob with the backup data
const blob = new Blob([backupFile], { type: 'application/json' });
// Create a download link
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
link.download = filename;
// Trigger the download
document.body.appendChild(link);
link.click();
// Clean up
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
} catch (error) {
console.error('Error downloading backup file:', error);
}
};
const handleCreateRestorationFile = () => { const handleCreateRestorationFile = () => {
MessageBus.getInstance().exportBackupFile().then((backupFile) => { MessageBus.getInstance().exportBackupFile().then((backupFile) => {
console.log(backupFile); // Generate filename with current date
const now = new Date();
const dateString = now.toISOString().split('T')[0]; // YYYY-MM-DD format
const filename = `backup_${dateString}.json`;
downloadBackupFile(backupFile, filename);
}).catch((error) => { }).catch((error) => {
console.error(error); console.error(error);
}); });

View File

@ -649,7 +649,7 @@ export default class MessageBus {
this.checkToken().then(() => { this.checkToken().then(() => {
const messageId = `EXPORT_BACKUP_${uuidv4()}`; const messageId = `EXPORT_BACKUP_${uuidv4()}`;
const unsubscribe = EventBus.getInstance().on('BACKUP_RETRIEVED', (responseId: string, backupFile: any) => { const unsubscribe = EventBus.getInstance().on('BACKUP_RETRIEVED', (responseId: string, backupFile: string) => {
if (responseId !== messageId) { if (responseId !== messageId) {
return; return;
} }
@ -896,6 +896,10 @@ export default class MessageBus {
this.doHandleMessage(message.messageId, 'MERKLE_PROOF_VALIDATED', message, (message: any) => message.isValid); this.doHandleMessage(message.messageId, 'MERKLE_PROOF_VALIDATED', message, (message: any) => message.isValid);
break; break;
case 'BACKUP_RETRIEVED': // EXPORT_BACKUP
this.doHandleMessage(message.messageId, 'BACKUP_RETRIEVED', message, (message: any) => message.backupFile);
break;
case 'ERROR': case 'ERROR':
console.error('Error:', message); console.error('Error:', message);
this.errors[message.messageId] = message.error; this.errors[message.messageId] = message.error;