done store for shared data

This commit is contained in:
Daria Golova
2022-07-12 16:56:44 +03:00
parent 7ad29e8fe0
commit b9f795c0e4
3 changed files with 113 additions and 4 deletions

View File

@@ -0,0 +1,76 @@
import { cryptography } from "@liskhq/lisk-client";
import { makeAutoObservable, reaction } from "mobx";
import { fetchWrapper } from "../shared/fetchWrapper";
import { registrationStore } from './store';
const labelMap = {
firstname: 'First name',
secondname: 'Second name',
gender: "Gender",
birthdate: "Birthdate",
placeofbirth: "Place of birth",
nationality: "Nationality",
nationalid: "National ID",
nationaldoctype: "National doctype",
nationaldocid: "National doc ID",
nationaldocissuedate: "National doc issue date",
nationaldocexpirydate: "National doc expiry date",
telephone: "Telephone",
twitter: "Twitter",
facebook: "Facebook",
instagram: "Instagram",
youtube: "Youtube",
wechat: "Wechat",
tiktok: "Tiktok",
linkedin: "Linkedin",
vk: "Vk",
github: "Github",
telegram: "Telegram",
qq: "Qq",
snapchat: "Snapchat",
reddit: "Reddit"
};
class SharedDataStore{
_keysArray = [];
_sharedData = [];
constructor() {
makeAutoObservable(this);
reaction(() => ({data: registrationStore.keysArray}), ({data}) => {
this._keysArray = data;
this.fetchSharedData();
})
}
fetchSharedData() {
this._keysArray.map((elem) => {
fetchWrapper.get(`http://3.125.47.101/api/data/shared/${elem}`).then((res) => this.changeSharedData(res));
})
};
changeSharedData(incomingData) {
this._sharedData.push({
data: incomingData.data,
});
console.log(this._sharedData);
}
get sharedData() {
return this._sharedData;
}
get decryptedData() {
return this._sharedData.map((elem) =>
elem.data.map((item) => ({
key: item.label,
label: labelMap[item.label],
value: cryptography.decryptMessageWithPassphrase(item.value, item.value_nonce, registrationStore.passPhrase, registrationStore.pubKey).split(':')[1]
})
))
}
}
export const sharedDataStore = new SharedDataStore();
console.log(sharedDataStore.sharedData);

View File

@@ -12,14 +12,21 @@ class Store {
_userData = {}
_keysArray = []
constructor() {
makeAutoObservable(this);
this.fetchNodeInfo()
reaction(() => this.tokenKey, () => this.fetchNewAccountData())
reaction(() => this.tokenKey, () => this.fetchData())
};
fetchData() {
this.fetchNewAccountData();
this.fetchLinksArray();
}
fetchNewAccountData() {
fetchWrapper.getAuth('http://3.125.47.101/api/data/private', {
networkIdentifier: this.nodeInfo.networkIdentifier,
@@ -35,12 +42,27 @@ class Store {
.then(()=>this.fetchNewAccountData())
}
fetchLinksArray() {
fetchWrapper.getAuth('https://ccab53ea-d042-47b3-b9b4-79b913f47b3d.mock.pstmn.io/data/shared', {
networkIdentifier: this.nodeInfo.networkIdentifier,
lastBlockID: this.nodeInfo.lastBlockID
}).then((res) => this.keysArrayFetchChange(res))
}
userDataFetchChange(res) {
this._userData = res;
}
keysArrayFetchChange(res) {
this._keysArray = res.data;
}
get keysArray() {
return this._keysArray;
}
get userData() {
return this._userData
return this._userData;
}
savePassPhrase(phrase) {