Import Device from backup file
This commit is contained in:
parent
bb70f092d5
commit
5bd3e4553c
@ -2,6 +2,7 @@ import ModalService from '~/services/modal.service';
|
||||
import { INotification } from '../../models/notification.model';
|
||||
import { currentRoute, navigate } from '../../router';
|
||||
import Services from '../../services/service';
|
||||
import { BackUp } from '~/models/backup.model';
|
||||
|
||||
let notifications = [];
|
||||
|
||||
@ -135,10 +136,11 @@ async function importJSON() {
|
||||
const reader = new FileReader();
|
||||
reader.onload = async (e) => {
|
||||
try {
|
||||
const content = JSON.parse(e.target?.result as string);
|
||||
const content: BackUp = JSON.parse(e.target?.result as string);
|
||||
const service = await Services.getInstance();
|
||||
await service.importJSON(content);
|
||||
alert('Import réussi');
|
||||
window.location.reload();
|
||||
} catch (error) {
|
||||
alert("Erreur lors de l'import: " + error);
|
||||
}
|
||||
|
@ -141,7 +141,7 @@ export async function init(): Promise<void> {
|
||||
if (!device) {
|
||||
device = await services.createNewDevice();
|
||||
} else {
|
||||
await services.restoreDevice(device);
|
||||
services.restoreDevice(device);
|
||||
}
|
||||
await services.restoreProcesses();
|
||||
await services.restoreSecrets();
|
||||
|
@ -277,7 +277,11 @@ export default class Services {
|
||||
}
|
||||
|
||||
async resetDevice() {
|
||||
await this.sdkClient.reset_device();
|
||||
this.sdkClient.reset_device();
|
||||
|
||||
// Remove the device from db
|
||||
const db = await Database.getInstance();
|
||||
await db.deleteObject('wallet', '1');
|
||||
}
|
||||
|
||||
async sendNewTxMessage(message: string) {
|
||||
@ -548,9 +552,9 @@ export default class Services {
|
||||
return spAddress;
|
||||
}
|
||||
|
||||
async restoreDevice(device: string) {
|
||||
restoreDevice(device: string) {
|
||||
try {
|
||||
await this.sdkClient.restore_device(device);
|
||||
this.sdkClient.restore_device(device);
|
||||
const spAddress = this.sdkClient.get_address();
|
||||
} catch (e) {
|
||||
console.error(e);
|
||||
@ -685,8 +689,17 @@ export default class Services {
|
||||
this.notifications = notifications;
|
||||
}
|
||||
|
||||
async importJSON(content: any): Promise<void> {
|
||||
return Promise.resolve();
|
||||
async importJSON(backup: BackUp): Promise<void> {
|
||||
const device = JSON.stringify(backup.device);
|
||||
|
||||
// Reset current device
|
||||
await this.resetDevice();
|
||||
|
||||
await this.saveDeviceInDatabase(device);
|
||||
|
||||
this.restoreDevice(device);
|
||||
|
||||
// TODO restore secrets and processes from file
|
||||
}
|
||||
|
||||
public async createBackUp(): Promise<BackUp | null> {
|
||||
|
Loading…
x
Reference in New Issue
Block a user