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 { INotification } from '../../models/notification.model';
|
||||||
import { currentRoute, navigate } from '../../router';
|
import { currentRoute, navigate } from '../../router';
|
||||||
import Services from '../../services/service';
|
import Services from '../../services/service';
|
||||||
|
import { BackUp } from '~/models/backup.model';
|
||||||
|
|
||||||
let notifications = [];
|
let notifications = [];
|
||||||
|
|
||||||
@ -135,10 +136,11 @@ async function importJSON() {
|
|||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
reader.onload = async (e) => {
|
reader.onload = async (e) => {
|
||||||
try {
|
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();
|
const service = await Services.getInstance();
|
||||||
await service.importJSON(content);
|
await service.importJSON(content);
|
||||||
alert('Import réussi');
|
alert('Import réussi');
|
||||||
|
window.location.reload();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
alert("Erreur lors de l'import: " + error);
|
alert("Erreur lors de l'import: " + error);
|
||||||
}
|
}
|
||||||
|
@ -141,7 +141,7 @@ export async function init(): Promise<void> {
|
|||||||
if (!device) {
|
if (!device) {
|
||||||
device = await services.createNewDevice();
|
device = await services.createNewDevice();
|
||||||
} else {
|
} else {
|
||||||
await services.restoreDevice(device);
|
services.restoreDevice(device);
|
||||||
}
|
}
|
||||||
await services.restoreProcesses();
|
await services.restoreProcesses();
|
||||||
await services.restoreSecrets();
|
await services.restoreSecrets();
|
||||||
|
@ -277,7 +277,11 @@ export default class Services {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async resetDevice() {
|
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) {
|
async sendNewTxMessage(message: string) {
|
||||||
@ -548,9 +552,9 @@ export default class Services {
|
|||||||
return spAddress;
|
return spAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
async restoreDevice(device: string) {
|
restoreDevice(device: string) {
|
||||||
try {
|
try {
|
||||||
await this.sdkClient.restore_device(device);
|
this.sdkClient.restore_device(device);
|
||||||
const spAddress = this.sdkClient.get_address();
|
const spAddress = this.sdkClient.get_address();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
@ -685,8 +689,17 @@ export default class Services {
|
|||||||
this.notifications = notifications;
|
this.notifications = notifications;
|
||||||
}
|
}
|
||||||
|
|
||||||
async importJSON(content: any): Promise<void> {
|
async importJSON(backup: BackUp): Promise<void> {
|
||||||
return Promise.resolve();
|
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> {
|
public async createBackUp(): Promise<BackUp | null> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user