Utilisation de create_user, suppression du bouchon processstore
This commit is contained in:
parent
19eb1b66ab
commit
09709869b2
@ -1,7 +1,6 @@
|
|||||||
import { generate_sp_wallet_return, User } from '../dist/pkg/sdk_client';
|
import { generate_sp_wallet_return, User } from '../dist/pkg/sdk_client';
|
||||||
import IndexedDB from './database'
|
import IndexedDB from './database'
|
||||||
import Processstore from './store/processstore';
|
import Processstore from './store/processstore';
|
||||||
import Userstore from './store/userstore';
|
|
||||||
|
|
||||||
class Services {
|
class Services {
|
||||||
private static instance: Services;
|
private static instance: Services;
|
||||||
@ -52,7 +51,7 @@ class Services {
|
|||||||
public async isNewUser(): Promise<boolean> {
|
public async isNewUser(): Promise<boolean> {
|
||||||
let isNew = false;
|
let isNew = false;
|
||||||
try {
|
try {
|
||||||
let listUserProcess = await Services.instance.getAllUserProces();
|
let listUserProcess = await Services.instance.getAllUserProcess();
|
||||||
if (listUserProcess.length == 0) {
|
if (listUserProcess.length == 0) {
|
||||||
isNew = true;
|
isNew = true;
|
||||||
}
|
}
|
||||||
@ -66,7 +65,7 @@ class Services {
|
|||||||
Services.instance.injectHtml(Services.instance.get_html_create_id());
|
Services.instance.injectHtml(Services.instance.get_html_create_id());
|
||||||
Services.instance.attachSubmitListener("form4nk", Services.instance.createId);
|
Services.instance.attachSubmitListener("form4nk", Services.instance.createId);
|
||||||
Services.instance.attachClickListener("displayrecover", Services.instance.displayRecover);
|
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 {
|
public get_html_create_id(): string {
|
||||||
@ -90,36 +89,50 @@ class Services {
|
|||||||
// To comment if test
|
// To comment if test
|
||||||
if (!Services.instance.isPasswordValid(password)) return;
|
if (!Services.instance.isPasswordValid(password)) return;
|
||||||
|
|
||||||
// TODO get secretpart1 from User object
|
const image_to_recover = Services.instance.getImage("assets/4nk_image.jpeg");
|
||||||
// const user: User = new this.sdkClient.create_user(password);
|
const image_to_revoke = Services.instance.getImage("assets/revoke.jpeg");
|
||||||
const user: User = this.sdkClient.create_user(password);
|
let label = null;
|
||||||
// let secretpart1 = "LKHGKJJJ3H";
|
let birthday = 50000;
|
||||||
|
const user: User = this.sdkClient.create_user(password, image_to_recover, image_to_revoke, label, birthday);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let userstore = new Userstore;
|
|
||||||
userstore.process = process;
|
|
||||||
const indexedDb = await IndexedDB.getInstance();
|
const indexedDb = await IndexedDB.getInstance();
|
||||||
const db = indexedDb.getDb();
|
const db = indexedDb.getDb();
|
||||||
|
await indexedDb.writeObject(db, indexedDb.getStoreList().AnkUser, user, process);
|
||||||
await indexedDb.writeObject(db, indexedDb.getStoreList().AnkUser, userstore, process);
|
console.log("JS User added");
|
||||||
console.log("JS Userstore added");
|
|
||||||
|
|
||||||
await indexedDb.writeObject(db, indexedDb.getStoreList().AnkSession, process, Services.CURRENT_PROCESS);
|
await indexedDb.writeObject(db, indexedDb.getStoreList().AnkSession, process, Services.CURRENT_PROCESS);
|
||||||
console.log("JS Sessionstore added currentprocess");
|
console.log("JS Sessionstore added currentprocess");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Failed to write userstore object :", error);
|
console.error("Failed to write user object :", error);
|
||||||
}
|
}
|
||||||
|
|
||||||
await Services.instance.displayRevokeImage();
|
await Services.instance.displayRevokeImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async getImage(imageUrl:string): Promise<Uint8Array|null> {
|
||||||
|
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<void> {
|
public async displayRecover(): Promise<void> {
|
||||||
Services.instance.injectHtml(Services.instance.get_html_recover());
|
Services.instance.injectHtml(Services.instance.get_html_recover());
|
||||||
Services.instance.attachSubmitListener("form4nk", Services.instance.recover);
|
Services.instance.attachSubmitListener("form4nk", Services.instance.recover);
|
||||||
Services.instance.attachClickListener("displaycreateid", Services.instance.displayCreateId);
|
Services.instance.attachClickListener("displaycreateid", Services.instance.displayCreateId);
|
||||||
Services.instance.attachClickListener("displayrevoke", Services.instance.displayRevoke);
|
Services.instance.attachClickListener("displayrevoke", Services.instance.displayRevoke);
|
||||||
Services.instance.attachClickListener("submitButtonRevoke", Services.instance.revoke);
|
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 {
|
public get_html_recover(): string {
|
||||||
@ -205,7 +218,7 @@ class Services {
|
|||||||
console.log("JS Processstore not exist ");
|
console.log("JS Processstore not exist ");
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} 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);
|
Services.instance.injectUpdateAnIdHtml(body, style, script, inputName);
|
||||||
@ -260,31 +273,33 @@ class Services {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getAllUserProces(): Promise<string[]> {
|
public async getAllUserProcess(): Promise<string[]> {
|
||||||
let userProcessList: string[] = [];
|
let userProcessList: string[] = [];
|
||||||
try {
|
try {
|
||||||
const indexedDB = await IndexedDB.getInstance();
|
const indexedDB = await IndexedDB.getInstance();
|
||||||
const db = indexedDB.getDb();
|
const db = indexedDB.getDb();
|
||||||
let userListObject = await indexedDB.getAll<Userstore>(db, indexedDB.getStoreList().AnkUser);
|
let userListObject = await indexedDB.getAll<User>(db, indexedDB.getStoreList().AnkUser);
|
||||||
userListObject.forEach(async (userObject) => {
|
userListObject.forEach(async (userObject) => {
|
||||||
const processName = userObject.process;
|
// TODO get processname
|
||||||
|
//const processName = userObject.process;
|
||||||
|
const processName = "process1";
|
||||||
userProcessList.push(processName);
|
userProcessList.push(processName);
|
||||||
console.log("JS Userstore found");
|
console.log("JS User found");
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log("JS Userstore not found");
|
console.log("JS User not found");
|
||||||
}
|
}
|
||||||
return userProcessList;
|
return userProcessList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getAllProcesAvailable(): Promise<string[]> {
|
public async getAllProcessAvailable(): Promise<string[]> {
|
||||||
let userProcessList = await Services.instance.getAllUserProces();
|
let userProcessList = await Services.instance.getAllUserProcess();
|
||||||
let processList = await Services.instance.getAllProces();
|
let processList = await Services.instance.getAllProcess();
|
||||||
let availableProcessList = processList.filter(x => !userProcessList.includes(x));
|
let availableProcessList = processList.filter(x => !userProcessList.includes(x));
|
||||||
return availableProcessList;
|
return availableProcessList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async getAllProces(): Promise<string[]> {
|
public async getAllProcess(): Promise<string[]> {
|
||||||
// if indexedDB is empty, get list from wasm
|
// if indexedDB is empty, get list from wasm
|
||||||
let processList: string[] = [];
|
let processList: string[] = [];
|
||||||
try {
|
try {
|
||||||
@ -319,25 +334,6 @@ class Services {
|
|||||||
return processList;
|
return processList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async getSecretPart1(process: string): Promise<string> {
|
|
||||||
let secretpart1 = "";
|
|
||||||
try {
|
|
||||||
const indexedDB = await IndexedDB.getInstance();
|
|
||||||
const db = indexedDB.getDb();
|
|
||||||
try {
|
|
||||||
let userObject = await indexedDB.getObject<Userstore>(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 {
|
public attachClickListener(elementId: string, callback: (event: Event) => void): void {
|
||||||
const element = document.getElementById(elementId);
|
const element = document.getElementById(elementId);
|
||||||
|
@ -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;
|
|
Loading…
x
Reference in New Issue
Block a user