@fireproof/core-protocols-dashboard 0.24.3-dev-ensure-cloud-token → 0.24.3-dev-ensure-cloud-token-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard-api.d.ts +19 -9
- package/dashboard-api.js +57 -14
- package/dashboard-api.js.map +1 -1
- package/package.json +12 -11
- package/tsconfig.json +1 -1
package/dashboard-api.d.ts
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
import { Result } from "@adviser/cement";
|
|
2
|
-
import {
|
|
2
|
+
import { ReqEnsureUser, ResEnsureUser, ReqFindUser, ResFindUser, ReqCreateTenant, ResCreateTenant, ReqUpdateTenant, ResUpdateTenant, ReqDeleteTenant, ResDeleteTenant, ReqRedeemInvite, ResRedeemInvite, ReqListTenantsByUser, ResListTenantsByUser, ReqInviteUser, ResInviteUser, ReqListInvites, ResListInvites, ReqDeleteInvite, ResDeleteInvite, ReqUpdateUserTenant, ResUpdateUserTenant, ReqCreateLedger, ResCreateLedger, ReqUpdateLedger, ResUpdateLedger, ReqDeleteLedger, ResDeleteLedger, ReqListLedgersByUser, ResListLedgersByUser, ReqCloudSessionToken, ResCloudSessionToken, ReqCertFromCsr, ResCertFromCsr, ReqExtendToken, ReqTokenByResultId, ResExtendToken, ResTokenByResultId, ReqEnsureCloudToken, ResEnsureCloudToken, DashAuthType } from "./msg-types.js";
|
|
3
3
|
import { FPApiInterface } from "./fp-api-interface.js";
|
|
4
|
-
import {
|
|
4
|
+
import type { Clerk } from "@clerk/clerk-js";
|
|
5
5
|
export type WithoutTypeAndAuth<T> = Omit<T, "type" | "auth">;
|
|
6
|
-
export interface
|
|
6
|
+
export interface ClerkDashboardApiConfig<T> {
|
|
7
7
|
readonly apiUrl: string;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
readonly getTokenCtx?: T;
|
|
9
|
+
readonly template?: string;
|
|
10
|
+
readonly gracePeriodMs?: number;
|
|
11
|
+
fetch?(input: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
10
12
|
}
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
export interface DashboardApiConfig<T> {
|
|
14
|
+
readonly apiUrl: string;
|
|
15
|
+
readonly getTokenCtx?: T;
|
|
16
|
+
readonly gracePeriodMs: number;
|
|
17
|
+
fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
|
|
18
|
+
getToken: (ctx: never) => Promise<Result<DashAuthType>>;
|
|
19
|
+
}
|
|
20
|
+
export declare class DashboardApiImpl<T> implements FPApiInterface {
|
|
21
|
+
#private;
|
|
22
|
+
readonly cfg: DashboardApiConfig<T>;
|
|
23
|
+
constructor(cfg: DashboardApiConfig<T>);
|
|
15
24
|
private request;
|
|
16
25
|
ensureUser(req: WithoutTypeAndAuth<ReqEnsureUser>): Promise<Result<ResEnsureUser>>;
|
|
17
26
|
findUser(req: WithoutTypeAndAuth<ReqFindUser>): Promise<Result<ResFindUser>>;
|
|
@@ -35,3 +44,4 @@ export declare class DashboardApi implements FPApiInterface {
|
|
|
35
44
|
extendToken(req: ReqExtendToken): Promise<Result<ResExtendToken>>;
|
|
36
45
|
ensureCloudToken(req: WithoutTypeAndAuth<ReqEnsureCloudToken>): Promise<Result<ResEnsureCloudToken>>;
|
|
37
46
|
}
|
|
47
|
+
export declare function clerkDashApi<T>(clerk: Clerk, iopts: ClerkDashboardApiConfig<T>): DashboardApiImpl<T>;
|
package/dashboard-api.js
CHANGED
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export class
|
|
1
|
+
import { Result, KeyedResolvOnce, WaitingForValue, Option, exception2Result } from "@adviser/cement";
|
|
2
|
+
export class DashboardApiImpl {
|
|
3
3
|
cfg;
|
|
4
4
|
constructor(cfg) {
|
|
5
|
-
this.cfg =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
return exception2Result(() => {
|
|
9
|
-
return this.cfg.getToken().then((token) => {
|
|
10
|
-
if (!token)
|
|
11
|
-
throw new Error("No token available");
|
|
12
|
-
return token;
|
|
13
|
-
});
|
|
14
|
-
});
|
|
5
|
+
this.cfg = {
|
|
6
|
+
...cfg,
|
|
7
|
+
};
|
|
15
8
|
}
|
|
16
9
|
async request(req) {
|
|
17
|
-
const rAuth = await this.
|
|
10
|
+
const rAuth = await this.cfg.getToken(this.cfg.getTokenCtx);
|
|
18
11
|
if (rAuth.isErr()) {
|
|
19
12
|
return Result.Err(rAuth.Err());
|
|
20
13
|
}
|
|
@@ -97,8 +90,58 @@ export class DashboardApi {
|
|
|
97
90
|
extendToken(req) {
|
|
98
91
|
return this.request({ ...req, type: "reqExtendToken" });
|
|
99
92
|
}
|
|
93
|
+
#ensureCloudToken = new KeyedResolvOnce();
|
|
100
94
|
ensureCloudToken(req) {
|
|
101
|
-
return this
|
|
95
|
+
return this.#ensureCloudToken
|
|
96
|
+
.get(JSON.stringify({
|
|
97
|
+
appId: req.appId,
|
|
98
|
+
env: req.env ?? "prod",
|
|
99
|
+
tenant: req.tenant ?? undefined,
|
|
100
|
+
ledger: req.ledger ?? undefined,
|
|
101
|
+
}))
|
|
102
|
+
.once(async (my) => {
|
|
103
|
+
const rRes = await this.request({ ...req, type: "reqEnsureCloudToken" });
|
|
104
|
+
if (rRes.isErr()) {
|
|
105
|
+
return Result.Err(rRes);
|
|
106
|
+
}
|
|
107
|
+
const res = rRes.Ok();
|
|
108
|
+
const resetAfter = res.expiresInSec * 1000 - this.cfg.gracePeriodMs;
|
|
109
|
+
my.self.setResetAfter(resetAfter < 0 ? 60000 : resetAfter);
|
|
110
|
+
return rRes;
|
|
111
|
+
});
|
|
102
112
|
}
|
|
103
113
|
}
|
|
114
|
+
const keyedDashApis = new KeyedResolvOnce();
|
|
115
|
+
export function clerkDashApi(clerk, iopts) {
|
|
116
|
+
return keyedDashApis.get(iopts.apiUrl).once(() => {
|
|
117
|
+
const waitForToken = new WaitingForValue();
|
|
118
|
+
const dashApi = new DashboardApiImpl({
|
|
119
|
+
...iopts,
|
|
120
|
+
getTokenCtx: iopts.getTokenCtx ?? { template: iopts.template ?? "with-email" },
|
|
121
|
+
gracePeriodMs: iopts.gracePeriodMs && iopts.gracePeriodMs > 0 ? iopts.gracePeriodMs : 5000,
|
|
122
|
+
getToken: () => waitForToken
|
|
123
|
+
.waitValue()
|
|
124
|
+
.then((token) => Result.Ok({ type: "clerk", token }))
|
|
125
|
+
.catch((err) => Result.Err(err)),
|
|
126
|
+
fetch: iopts.fetch ?? fetch.bind(globalThis),
|
|
127
|
+
});
|
|
128
|
+
clerk.addListener(({ session }) => {
|
|
129
|
+
const preValue = waitForToken.value();
|
|
130
|
+
waitForToken.setValue(Option.None());
|
|
131
|
+
if (!(session && typeof session.getToken == "function")) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
exception2Result(() => session.getToken(dashApi.cfg.getTokenCtx)).then((rGetToken) => {
|
|
135
|
+
if (rGetToken.isErr()) {
|
|
136
|
+
waitForToken.setError(rGetToken.Err());
|
|
137
|
+
waitForToken.setValue(preValue);
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const token = rGetToken.Ok();
|
|
141
|
+
waitForToken.setValue(Option.From(token));
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
return dashApi;
|
|
145
|
+
});
|
|
146
|
+
}
|
|
104
147
|
//# sourceMappingURL=dashboard-api.js.map
|
package/dashboard-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-api.js","sourceRoot":"","sources":["../jsr/dashboard-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"dashboard-api.js","sourceRoot":"","sources":["../jsr/dashboard-api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fireproof/core-protocols-dashboard",
|
|
3
|
-
"version": "0.24.3-dev-ensure-cloud-token",
|
|
3
|
+
"version": "0.24.3-dev-ensure-cloud-token-6",
|
|
4
4
|
"description": "Live ledger for the web.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "core-cli tsc"
|
|
9
|
+
},
|
|
7
10
|
"keywords": [
|
|
8
11
|
"ledger",
|
|
9
12
|
"JSON",
|
|
@@ -31,15 +34,13 @@
|
|
|
31
34
|
"url": "https://github.com/fireproof-storage/fireproof/issues"
|
|
32
35
|
},
|
|
33
36
|
"dependencies": {
|
|
34
|
-
"@adviser/cement": "0.5.
|
|
35
|
-
"@
|
|
36
|
-
"@fireproof/core-
|
|
37
|
-
"@fireproof/core-
|
|
38
|
-
"@fireproof/core-types-
|
|
39
|
-
"@fireproof/
|
|
37
|
+
"@adviser/cement": "0.5.5",
|
|
38
|
+
"@clerk/clerk-js": "5.113.0",
|
|
39
|
+
"@fireproof/core-device-id": "0.24.3-dev-ensure-cloud-token-6",
|
|
40
|
+
"@fireproof/core-runtime": "0.24.3-dev-ensure-cloud-token-6",
|
|
41
|
+
"@fireproof/core-types-base": "0.24.3-dev-ensure-cloud-token-6",
|
|
42
|
+
"@fireproof/core-types-protocols-cloud": "0.24.3-dev-ensure-cloud-token-6",
|
|
43
|
+
"@fireproof/vendor": "0.24.3-dev-ensure-cloud-token-6",
|
|
40
44
|
"zod": "4.1.13"
|
|
41
|
-
},
|
|
42
|
-
"scripts": {
|
|
43
|
-
"build": "core-cli tsc"
|
|
44
45
|
}
|
|
45
|
-
}
|
|
46
|
+
}
|