WIP import_id #9
@ -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);
|
||||||
});
|
});
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user