@mantajs/sdk 0.2.0-beta.1 → 0.2.0-beta.11
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/dist/client.d.ts +4 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +15 -22
- package/dist/client.js.map +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export interface MantaClientOptions {
|
|
|
4
4
|
context: string;
|
|
5
5
|
/** Base URL of the Manta backend. Default: '' (same origin). */
|
|
6
6
|
baseUrl?: string;
|
|
7
|
-
/** Custom function to get
|
|
7
|
+
/** Custom function to get a bearer auth token. Default uses HttpOnly cookies and returns null. */
|
|
8
8
|
getToken?: () => string | null;
|
|
9
9
|
/** Called on 401 — should refresh the token and return true if successful. */
|
|
10
10
|
onUnauthorized?: () => Promise<boolean>;
|
|
@@ -60,13 +60,14 @@ export declare class MantaClient {
|
|
|
60
60
|
query<TOutput = unknown>(name: string, params?: Record<string, unknown>): Promise<TOutput>;
|
|
61
61
|
/** Execute a graph query (POST /api/{ctx}/graph). */
|
|
62
62
|
graphQuery<TOutput = unknown>(config: GraphQueryInput): Promise<TOutput>;
|
|
63
|
-
/** Login
|
|
63
|
+
/** Login. Auth cookies are set by the backend; returned tokens are legacy-compatible only. */
|
|
64
64
|
login(email: string, password: string): Promise<{
|
|
65
65
|
token: string;
|
|
66
66
|
refreshToken: string;
|
|
67
67
|
}>;
|
|
68
|
-
/** Logout and clear
|
|
68
|
+
/** Logout and clear auth cookies plus legacy localStorage tokens. */
|
|
69
69
|
logout(): Promise<void>;
|
|
70
|
+
private _clearLegacyTokens;
|
|
70
71
|
/** Get current user. */
|
|
71
72
|
me<T = unknown>(): Promise<T>;
|
|
72
73
|
}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAEzE,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAA;IACf,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -9,14 +9,7 @@ export class MantaClient {
|
|
|
9
9
|
this._context = options.context;
|
|
10
10
|
this._baseUrl = options.baseUrl ?? '';
|
|
11
11
|
this._onUnauthorized = options.onUnauthorized ?? null;
|
|
12
|
-
this._getToken =
|
|
13
|
-
options.getToken ??
|
|
14
|
-
(() => {
|
|
15
|
-
if (typeof localStorage !== 'undefined') {
|
|
16
|
-
return localStorage.getItem(`manta:token:${this._context}`);
|
|
17
|
-
}
|
|
18
|
-
return null;
|
|
19
|
-
});
|
|
12
|
+
this._getToken = options.getToken ?? (() => null);
|
|
20
13
|
}
|
|
21
14
|
get basePath() {
|
|
22
15
|
return `${this._baseUrl}/api/${this._context}`;
|
|
@@ -30,11 +23,11 @@ export class MantaClient {
|
|
|
30
23
|
}
|
|
31
24
|
/** Fetch with automatic 401 retry after token refresh. */
|
|
32
25
|
async _fetch(url, init) {
|
|
33
|
-
let res = await fetch(url, { ...init, headers: this._headers() });
|
|
26
|
+
let res = await fetch(url, { ...init, credentials: 'include', headers: this._headers() });
|
|
34
27
|
if (res.status === 401 && this._onUnauthorized) {
|
|
35
28
|
const refreshed = await this._onUnauthorized();
|
|
36
29
|
if (refreshed) {
|
|
37
|
-
res = await fetch(url, { ...init, headers: this._headers() });
|
|
30
|
+
res = await fetch(url, { ...init, credentials: 'include', headers: this._headers() });
|
|
38
31
|
}
|
|
39
32
|
}
|
|
40
33
|
return res;
|
|
@@ -156,35 +149,35 @@ export class MantaClient {
|
|
|
156
149
|
}
|
|
157
150
|
return data.data ?? data;
|
|
158
151
|
}
|
|
159
|
-
/** Login
|
|
152
|
+
/** Login. Auth cookies are set by the backend; returned tokens are legacy-compatible only. */
|
|
160
153
|
async login(email, password) {
|
|
161
154
|
const res = await fetch(`${this.basePath}/login`, {
|
|
162
155
|
method: 'POST',
|
|
156
|
+
credentials: 'include',
|
|
163
157
|
headers: { 'Content-Type': 'application/json' },
|
|
164
158
|
body: JSON.stringify({ email, password }),
|
|
165
159
|
});
|
|
166
160
|
const data = await res.json();
|
|
167
161
|
if (!res.ok)
|
|
168
162
|
throw new MantaSDKError(data.type ?? 'ERROR', data.message ?? res.statusText, res.status);
|
|
169
|
-
|
|
170
|
-
localStorage.setItem(`manta:token:${this._context}`, data.token);
|
|
171
|
-
if (data.refreshToken)
|
|
172
|
-
localStorage.setItem(`manta:refresh:${this._context}`, data.refreshToken);
|
|
173
|
-
}
|
|
163
|
+
this._clearLegacyTokens();
|
|
174
164
|
return data;
|
|
175
165
|
}
|
|
176
|
-
/** Logout and clear
|
|
166
|
+
/** Logout and clear auth cookies plus legacy localStorage tokens. */
|
|
177
167
|
async logout() {
|
|
178
168
|
try {
|
|
179
|
-
await fetch(`${this.basePath}/logout`, { method: 'DELETE', headers: this._headers() });
|
|
169
|
+
await fetch(`${this.basePath}/logout`, { method: 'DELETE', credentials: 'include', headers: this._headers() });
|
|
180
170
|
}
|
|
181
171
|
finally {
|
|
182
|
-
|
|
183
|
-
localStorage.removeItem(`manta:token:${this._context}`);
|
|
184
|
-
localStorage.removeItem(`manta:refresh:${this._context}`);
|
|
185
|
-
}
|
|
172
|
+
this._clearLegacyTokens();
|
|
186
173
|
}
|
|
187
174
|
}
|
|
175
|
+
_clearLegacyTokens() {
|
|
176
|
+
if (typeof localStorage === 'undefined')
|
|
177
|
+
return;
|
|
178
|
+
localStorage.removeItem(`manta:token:${this._context}`);
|
|
179
|
+
localStorage.removeItem(`manta:refresh:${this._context}`);
|
|
180
|
+
}
|
|
188
181
|
/** Get current user. */
|
|
189
182
|
async me() {
|
|
190
183
|
return this.query('me');
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,mEAAmE;AAenE,MAAM,OAAO,WAAW;IACd,QAAQ,CAAQ;IAChB,QAAQ,CAAQ;IAChB,SAAS,CAAqB;IAC9B,eAAe,CAAiC;IAExD,YAAY,OAA2B;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAA;QACrC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,CAAA;QACrD,IAAI,CAAC,SAAS
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|