From 09709869b203a79648674d01599a9f8c82b0a95d Mon Sep 17 00:00:00 2001 From: franck Date: Tue, 26 Mar 2024 10:30:04 +0100 Subject: [PATCH] Utilisation de create_user, suppression du bouchon processstore --- src/services.ts | 82 ++++++++++++++++++++---------------------- src/store/userstore.ts | 15 -------- 2 files changed, 39 insertions(+), 58 deletions(-) delete mode 100644 src/store/userstore.ts diff --git a/src/services.ts b/src/services.ts index d6a65c6..25f36b1 100644 --- a/src/services.ts +++ b/src/services.ts @@ -1,7 +1,6 @@ import { generate_sp_wallet_return, User } from '../dist/pkg/sdk_client'; import IndexedDB from './database' import Processstore from './store/processstore'; -import Userstore from './store/userstore'; class Services { private static instance: Services; @@ -52,7 +51,7 @@ class Services { public async isNewUser(): Promise { let isNew = false; try { - let listUserProcess = await Services.instance.getAllUserProces(); + let listUserProcess = await Services.instance.getAllUserProcess(); if (listUserProcess.length == 0) { isNew = true; } @@ -66,7 +65,7 @@ class Services { Services.instance.injectHtml(Services.instance.get_html_create_id()); Services.instance.attachSubmitListener("form4nk", Services.instance.createId); Services.instance.attachClickListener("displayrecover", Services.instance.displayRecover); - Services.instance.displayProcess(await Services.instance.getAllProcesAvailable()); + Services.instance.displayProcess(await Services.instance.getAllProcessAvailable()); } public get_html_create_id(): string { @@ -90,36 +89,50 @@ class Services { // To comment if test if (!Services.instance.isPasswordValid(password)) return; - // TODO get secretpart1 from User object - // const user: User = new this.sdkClient.create_user(password); - const user: User = this.sdkClient.create_user(password); - // let secretpart1 = "LKHGKJJJ3H"; + const image_to_recover = Services.instance.getImage("assets/4nk_image.jpeg"); + const image_to_revoke = Services.instance.getImage("assets/revoke.jpeg"); + let label = null; + let birthday = 50000; + const user: User = this.sdkClient.create_user(password, image_to_recover, image_to_revoke, label, birthday); try { - let userstore = new Userstore; - userstore.process = process; const indexedDb = await IndexedDB.getInstance(); const db = indexedDb.getDb(); - - await indexedDb.writeObject(db, indexedDb.getStoreList().AnkUser, userstore, process); - console.log("JS Userstore added"); + await indexedDb.writeObject(db, indexedDb.getStoreList().AnkUser, user, process); + console.log("JS User added"); await indexedDb.writeObject(db, indexedDb.getStoreList().AnkSession, process, Services.CURRENT_PROCESS); console.log("JS Sessionstore added currentprocess"); } catch (error) { - console.error("Failed to write userstore object :", error); + console.error("Failed to write user object :", error); } await Services.instance.displayRevokeImage(); } + private async getImage(imageUrl:string): Promise { + let imageBytes = null; + try { + const response = await fetch(imageUrl); + if (!response.ok) { + throw new Error(`Failed to fetch image: ${response.status} ${response.statusText}`); + } + const arrayBuffer = await response.arrayBuffer(); + imageBytes = new Uint8Array(arrayBuffer); + console.log(imageBytes); + } catch (error) { + console.error("Failed to get image : "+imageUrl, error); + } + return imageBytes; + } + public async displayRecover(): Promise { Services.instance.injectHtml(Services.instance.get_html_recover()); Services.instance.attachSubmitListener("form4nk", Services.instance.recover); Services.instance.attachClickListener("displaycreateid", Services.instance.displayCreateId); Services.instance.attachClickListener("displayrevoke", Services.instance.displayRevoke); Services.instance.attachClickListener("submitButtonRevoke", Services.instance.revoke); - Services.instance.displayProcess(await Services.instance.getAllUserProces()); + Services.instance.displayProcess(await Services.instance.getAllUserProcess()); } public get_html_recover(): string { @@ -205,7 +218,7 @@ class Services { console.log("JS Processstore not exist "); } } catch (error) { - console.error("Failed to retrieve userstore object :", error); + console.error("Failed to retrieve user object :", error); } Services.instance.injectUpdateAnIdHtml(body, style, script, inputName); @@ -260,31 +273,33 @@ class Services { } } - public async getAllUserProces(): Promise { + public async getAllUserProcess(): Promise { let userProcessList: string[] = []; try { const indexedDB = await IndexedDB.getInstance(); const db = indexedDB.getDb(); - let userListObject = await indexedDB.getAll(db, indexedDB.getStoreList().AnkUser); + let userListObject = await indexedDB.getAll(db, indexedDB.getStoreList().AnkUser); userListObject.forEach(async (userObject) => { - const processName = userObject.process; + // TODO get processname + //const processName = userObject.process; + const processName = "process1"; userProcessList.push(processName); - console.log("JS Userstore found"); + console.log("JS User found"); }) } catch (error) { - console.log("JS Userstore not found"); + console.log("JS User not found"); } return userProcessList; } - public async getAllProcesAvailable(): Promise { - let userProcessList = await Services.instance.getAllUserProces(); - let processList = await Services.instance.getAllProces(); + public async getAllProcessAvailable(): Promise { + let userProcessList = await Services.instance.getAllUserProcess(); + let processList = await Services.instance.getAllProcess(); let availableProcessList = processList.filter(x => !userProcessList.includes(x)); return availableProcessList; } - public async getAllProces(): Promise { + public async getAllProcess(): Promise { // if indexedDB is empty, get list from wasm let processList: string[] = []; try { @@ -319,25 +334,6 @@ class Services { return processList; } - private async getSecretPart1(process: string): Promise { - let secretpart1 = ""; - try { - const indexedDB = await IndexedDB.getInstance(); - const db = indexedDB.getDb(); - try { - let userObject = await indexedDB.getObject(db, indexedDB.getStoreList().AnkUser, process); - secretpart1 = userObject.secretpart1; - console.log("JS Userstore exist secretpart1 : "+secretpart1); - } catch (error) { - console.log("JS Userstore not exist "); - } - } catch (error) { - console.error("Failed to retrieve userstore object :", error); - } - console.log("JS secretpart1 : "+secretpart1); - - return secretpart1; - } public attachClickListener(elementId: string, callback: (event: Event) => void): void { const element = document.getElementById(elementId); diff --git a/src/store/userstore.ts b/src/store/userstore.ts deleted file mode 100644 index d450008..0000000 --- a/src/store/userstore.ts +++ /dev/null @@ -1,15 +0,0 @@ -class Userstore { - process: string; - secretpart1: string; - password: string; - createDate: Date; - - constructor() { - this.process = ""; - this.secretpart1 = ""; - this.password = ""; - this.createDate = new Date; - } -} - -export default Userstore;