Compare commits

...

4 Commits

Author SHA1 Message Date
semantic-release-bot 5760148afc chore(release): 0.2.0-develop.7 [skip ci]
# [0.2.0-develop.7](https://git.lumeweb.com/LumeWeb/libweb/compare/v0.2.0-develop.6...v0.2.0-develop.7) (2023-06-23)

### Bug Fixes

* add portal to exports ([8b7f708](8b7f7082e3))
* improve portal api ([ca43e88](ca43e88300))
2023-06-23 23:03:44 +00:00
Derrick Hammer beb60c23b3
Merge remote-tracking branch 'origin/develop' into develop 2023-06-23 19:02:37 -04:00
Derrick Hammer 8b7f7082e3
fix: add portal to exports 2023-06-23 19:01:55 -04:00
Derrick Hammer ca43e88300
fix: improve portal api 2023-06-23 18:48:43 -04:00
5 changed files with 54 additions and 28 deletions

View File

@ -1,3 +1,11 @@
# [0.2.0-develop.7](https://git.lumeweb.com/LumeWeb/libweb/compare/v0.2.0-develop.6...v0.2.0-develop.7) (2023-06-23)
### Bug Fixes
* add portal to exports ([8b7f708](https://git.lumeweb.com/LumeWeb/libweb/commit/8b7f7082e3af84d8963ec535804b8816a1a396dc))
* improve portal api ([ca43e88](https://git.lumeweb.com/LumeWeb/libweb/commit/ca43e883006a58d92eec519925a007c0c82c55c6))
# [0.2.0-develop.6](https://git.lumeweb.com/LumeWeb/libweb/compare/v0.2.0-develop.5...v0.2.0-develop.6) (2023-06-23)

4
npm-shrinkwrap.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@lumeweb/libweb",
"version": "0.2.0-develop.6",
"version": "0.2.0-develop.7",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@lumeweb/libweb",
"version": "0.2.0-develop.6",
"version": "0.2.0-develop.7",
"dependencies": {
"@lumeweb/libportal": "0.2.0-develop.5",
"@noble/curves": "^1.1.0",

View File

@ -1,6 +1,6 @@
{
"name": "@lumeweb/libweb",
"version": "0.2.0-develop.6",
"version": "0.2.0-develop.7",
"main": "lib/index.js",
"type": "module",
"repository": {

View File

@ -11,4 +11,5 @@ export * from "./cid.js";
export * from "./encoding.js";
export * from "./keys.js";
export * from "./download.js";
export * from "./portal.js";
export { ed25519, sha512 };

View File

@ -10,7 +10,7 @@ export const DEFAULT_PORTAL_LIST: Portal[] = [
{ id: "lumeweb", url: "https://web3portal.com", name: "web3portal.com" },
];
const ACTIVE_PORTALS = new Set<Client>();
let ACTIVE_PORTALS = new Set<Client>();
type PortalSessionsStore = { [id: string]: string };
@ -19,31 +19,8 @@ export function maybeInitDefaultPortals(): ErrTuple {
return [null, "activePortalMasterKey not set"];
}
let portalSessionsData = window.localStorage.getItem("portals");
let portalSessions: PortalSessionsStore = {};
if (portalSessions) {
portalSessions = JSON.parse(
portalSessionsData as string,
) as PortalSessionsStore;
}
for (const portal of DEFAULT_PORTAL_LIST) {
let jwt: string | null = null;
if (portalSessions) {
if (portal.id in portalSessions) {
jwt = portalSessions[portal.id];
}
}
const client = new Client({
email: generatePortalEmail(portal),
portalUrl: portal.url,
privateKey: generatePortalKeyPair(portal).privateKey,
jwt: jwt as string,
});
ACTIVE_PORTALS.add(client);
initPortal(portal);
}
return [null, null];
@ -76,3 +53,43 @@ export function generatePortalKeyPair(portal: Portal): KeyPair {
export function getActivePortals(): Set<Client> {
return ACTIVE_PORTALS;
}
export function addActivePortal(portal: Client) {
ACTIVE_PORTALS.add(portal);
}
export function initPortal(portal: Portal) {
const sessions = getPortalSessions();
let jwt: string | null = null;
if (sessions) {
if (portal.id in sessions) {
jwt = sessions[portal.id];
}
}
const client = new Client({
email: generatePortalEmail(portal),
portalUrl: portal.url,
privateKey: generatePortalKeyPair(portal).privateKey,
jwt: jwt as string,
});
addActivePortal(client);
}
export function getPortalSessions() {
let portalSessionsData = window.localStorage.getItem("portals");
let portalSessions: PortalSessionsStore = {};
if (portalSessions) {
portalSessions = JSON.parse(
portalSessionsData as string,
) as PortalSessionsStore;
return portalSessions;
}
return undefined;
}
export function setActivePortals(portals: Client[]) {
ACTIVE_PORTALS = new Set<Client>(portals);
}