@dudousxd/nestjs-durable-dashboard 0.37.0 → 0.38.0
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/durable-client.d.ts.map +1 -1
- package/dist/client/durable-client.js +57 -2
- package/dist/client/durable-client.js.map +1 -1
- package/dist/server/index.cjs +157 -81
- package/dist/server/index.cjs.map +1 -1
- package/dist/server/index.d.cts +52 -4
- package/dist/server/index.d.ts +52 -4
- package/dist/server/index.js +162 -86
- package/dist/server/index.js.map +1 -1
- package/dist/spa/assets/{index-tjU3_joS.js → index-AKaTbEKr.js} +8 -8
- package/dist/spa/assets/{index-BgWYZ0wi.js → index-kCrHKxZp.js} +1 -1
- package/dist/spa/assets/{preview-CoXYGpK-.js → preview-G8TH2d5R.js} +1 -1
- package/dist/spa/index.html +2 -2
- package/dist/spa/preview.html +2 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"durable-client.d.ts","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -139,14 +139,69 @@ export function runDisplayStatus(run, timeline) {
|
|
|
139
139
|
return 'awaiting'; // timeline known, nothing pending, no timer → waiting on a signal
|
|
140
140
|
return 'running'; // list view (no timeline): show open runs as in-progress, not the generic suspended
|
|
141
141
|
}
|
|
142
|
+
/** The SPA's own UI mount (e.g. `/durable`), independent of the (possibly host-overridden) API
|
|
143
|
+
* base — this is where `DurableUiSessionGuard` lives, so it's the right target to navigate the
|
|
144
|
+
* browser to when a session is gone and the destination isn't a known login page. */
|
|
145
|
+
function uiBase() {
|
|
146
|
+
return (typeof window !== 'undefined' && window.__DURABLE_BASE__) || '/durable';
|
|
147
|
+
}
|
|
142
148
|
function apiBase() {
|
|
143
149
|
if (typeof window !== 'undefined' && window.__DURABLE_API__)
|
|
144
150
|
return window.__DURABLE_API__;
|
|
145
|
-
|
|
146
|
-
|
|
151
|
+
return `${uiBase()}/api`;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Best-effort read of the `{ auth: { modes } }` a `DurableApiSessionGuard` 401 carries (mirrors
|
|
155
|
+
* `@dudousxd/nestjs-telescope`'s dashboardAuth 401 body) — the same signal `DurableUiSessionGuard`
|
|
156
|
+
* would act on for a full-page navigation, just not directly reachable from an XHR. Returns
|
|
157
|
+
* `undefined` for anything that doesn't parse (including an older server that predates this body,
|
|
158
|
+
* or a host without `dashboardAuth` configured at all), so the caller can fall back safely.
|
|
159
|
+
*/
|
|
160
|
+
async function readAuthModes(res) {
|
|
161
|
+
try {
|
|
162
|
+
const body = await res.json();
|
|
163
|
+
if (typeof body !== 'object' || body === null || !('auth' in body))
|
|
164
|
+
return undefined;
|
|
165
|
+
const auth = body.auth;
|
|
166
|
+
if (typeof auth !== 'object' || auth === null || !('modes' in auth))
|
|
167
|
+
return undefined;
|
|
168
|
+
const modes = auth.modes;
|
|
169
|
+
return Array.isArray(modes)
|
|
170
|
+
? modes.filter((m) => typeof m === 'string')
|
|
171
|
+
: undefined;
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
return undefined;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* A 401 mid-session (routine since `revalidate`: a deactivated/demoted operator's cookie is
|
|
179
|
+
* cleared on their next renewal) means there's nothing left to render — take the browser to the
|
|
180
|
+
* matching auth surface instead of leaving a raw error in the console. Mode B (`login` offered):
|
|
181
|
+
* the built-in login page, carrying `returnTo` back to here. Otherwise (Mode A, or an older server
|
|
182
|
+
* that sends a bare 401 with no `modes`): a plain navigation to the UI mount, which
|
|
183
|
+
* `DurableUiSessionGuard` itself renders as the Mode-A session-required page — so this never has
|
|
184
|
+
* to duplicate that guard's mode logic, only trigger it.
|
|
185
|
+
*/
|
|
186
|
+
function redirectToAuthSurface(modes) {
|
|
187
|
+
if (typeof window === 'undefined')
|
|
188
|
+
return;
|
|
189
|
+
const base = uiBase();
|
|
190
|
+
if (modes?.includes('login')) {
|
|
191
|
+
const returnTo = encodeURIComponent(window.location.pathname + window.location.search);
|
|
192
|
+
window.location.href = `${base}/login?returnTo=${returnTo}`;
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
window.location.href = base;
|
|
147
196
|
}
|
|
148
197
|
async function http(path, init) {
|
|
149
198
|
const res = await fetch(apiBase() + path, init);
|
|
199
|
+
if (res.status === 401) {
|
|
200
|
+
redirectToAuthSurface(await readAuthModes(res));
|
|
201
|
+
// The navigation above is async; reject so the caller's `.then`/`await` chain doesn't
|
|
202
|
+
// continue as if this call had succeeded while the browser is on its way elsewhere.
|
|
203
|
+
throw new Error('Session expired; redirecting to sign-in.');
|
|
204
|
+
}
|
|
150
205
|
if (!res.ok)
|
|
151
206
|
throw new Error(`${res.status} ${res.statusText}`);
|
|
152
207
|
return (await res.json());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"durable-client.js","sourceRoot":"","sources":["../../src/client/durable-client.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.cjs
CHANGED
|
@@ -593,6 +593,9 @@ function resolveDashboardAuth(options) {
|
|
|
593
593
|
if (options.revalidate !== void 0 && typeof options.revalidate !== "function") {
|
|
594
594
|
throw new Error("DurableDashboardModule: dashboardAuth.revalidate must be a function.");
|
|
595
595
|
}
|
|
596
|
+
if (options.unauthenticatedPage !== void 0 && typeof options.unauthenticatedPage !== "function") {
|
|
597
|
+
throw new Error("DurableDashboardModule: dashboardAuth.unauthenticatedPage must be a function.");
|
|
598
|
+
}
|
|
596
599
|
if (modes.length === 0) {
|
|
597
600
|
throw new Error("DurableDashboardModule: dashboardAuth needs at least one of `session` or `login` (otherwise the cookie can never be minted). Failing closed.");
|
|
598
601
|
}
|
|
@@ -608,6 +611,9 @@ function resolveDashboardAuth(options) {
|
|
|
608
611
|
} : {},
|
|
609
612
|
...options.revalidate !== void 0 ? {
|
|
610
613
|
revalidate: options.revalidate
|
|
614
|
+
} : {},
|
|
615
|
+
...options.unauthenticatedPage !== void 0 ? {
|
|
616
|
+
unauthenticatedPage: options.unauthenticatedPage
|
|
611
617
|
} : {}
|
|
612
618
|
};
|
|
613
619
|
}
|
|
@@ -884,6 +890,11 @@ function redirectRaw(response, location, status = 302) {
|
|
|
884
890
|
raw.end();
|
|
885
891
|
}
|
|
886
892
|
__name(redirectRaw, "redirectRaw");
|
|
893
|
+
function responseAlreadyWritten(response) {
|
|
894
|
+
const raw = resolveRedirectResponse(response);
|
|
895
|
+
return raw?.headersSent === true;
|
|
896
|
+
}
|
|
897
|
+
__name(responseAlreadyWritten, "responseAlreadyWritten");
|
|
887
898
|
function writeHtmlRaw(response, html, status = 200) {
|
|
888
899
|
const raw = resolveRedirectResponse(response);
|
|
889
900
|
if (!raw) return;
|
|
@@ -1048,6 +1059,20 @@ function readSessionFromRequest(auth, request) {
|
|
|
1048
1059
|
});
|
|
1049
1060
|
}
|
|
1050
1061
|
__name(readSessionFromRequest, "readSessionFromRequest");
|
|
1062
|
+
var inFlightRevalidations = /* @__PURE__ */ new Map();
|
|
1063
|
+
function revalidateOnce(auth, user) {
|
|
1064
|
+
const revalidate = auth.revalidate;
|
|
1065
|
+
if (!revalidate) return Promise.resolve(true);
|
|
1066
|
+
const key = `${auth.secret}:${user.id}`;
|
|
1067
|
+
const inFlight = inFlightRevalidations.get(key);
|
|
1068
|
+
if (inFlight) return inFlight;
|
|
1069
|
+
const call = Promise.resolve().then(() => revalidate(user)).catch(() => false).finally(() => {
|
|
1070
|
+
inFlightRevalidations.delete(key);
|
|
1071
|
+
});
|
|
1072
|
+
inFlightRevalidations.set(key, call);
|
|
1073
|
+
return call;
|
|
1074
|
+
}
|
|
1075
|
+
__name(revalidateOnce, "revalidateOnce");
|
|
1051
1076
|
async function maybeRenewSession(auth, session, request, response, now = Date.now()) {
|
|
1052
1077
|
if (now - session.iat <= auth.ttlMs / 2) return true;
|
|
1053
1078
|
const user = {
|
|
@@ -1057,20 +1082,13 @@ async function maybeRenewSession(auth, session, request, response, now = Date.no
|
|
|
1057
1082
|
} : {},
|
|
1058
1083
|
roles: session.roles
|
|
1059
1084
|
};
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
if (!allowed) {
|
|
1068
|
-
clearSessionCookie({
|
|
1069
|
-
request,
|
|
1070
|
-
response
|
|
1071
|
-
});
|
|
1072
|
-
return false;
|
|
1073
|
-
}
|
|
1085
|
+
const allowed = await revalidateOnce(auth, user);
|
|
1086
|
+
if (!allowed) {
|
|
1087
|
+
clearSessionCookie({
|
|
1088
|
+
request,
|
|
1089
|
+
response
|
|
1090
|
+
});
|
|
1091
|
+
return false;
|
|
1074
1092
|
}
|
|
1075
1093
|
issueSessionCookie(user, {
|
|
1076
1094
|
auth,
|
|
@@ -1130,6 +1148,16 @@ function _ts_decorate4(decorators, target, key, desc) {
|
|
|
1130
1148
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1131
1149
|
}
|
|
1132
1150
|
__name(_ts_decorate4, "_ts_decorate");
|
|
1151
|
+
function _ts_metadata3(k, v) {
|
|
1152
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
1153
|
+
}
|
|
1154
|
+
__name(_ts_metadata3, "_ts_metadata");
|
|
1155
|
+
function _ts_param3(paramIndex, decorator) {
|
|
1156
|
+
return function(target, key) {
|
|
1157
|
+
decorator(target, key, paramIndex);
|
|
1158
|
+
};
|
|
1159
|
+
}
|
|
1160
|
+
__name(_ts_param3, "_ts_param");
|
|
1133
1161
|
var DashboardSessionRequiredException = class extends import_common4.HttpException {
|
|
1134
1162
|
static {
|
|
1135
1163
|
__name(this, "DashboardSessionRequiredException");
|
|
@@ -1141,17 +1169,51 @@ var DashboardSessionRequiredException = class extends import_common4.HttpExcepti
|
|
|
1141
1169
|
}, import_common4.HttpStatus.UNAUTHORIZED), this.basePath = basePath;
|
|
1142
1170
|
}
|
|
1143
1171
|
};
|
|
1144
|
-
var DashboardSessionRequiredFilter = class {
|
|
1172
|
+
var DashboardSessionRequiredFilter = class _DashboardSessionRequiredFilter {
|
|
1145
1173
|
static {
|
|
1146
1174
|
__name(this, "DashboardSessionRequiredFilter");
|
|
1147
1175
|
}
|
|
1148
|
-
|
|
1149
|
-
|
|
1176
|
+
auth;
|
|
1177
|
+
logger = new import_common4.Logger(_DashboardSessionRequiredFilter.name);
|
|
1178
|
+
warned = false;
|
|
1179
|
+
constructor(auth = null) {
|
|
1180
|
+
this.auth = auth;
|
|
1181
|
+
}
|
|
1182
|
+
async catch(exception, host) {
|
|
1183
|
+
const http = host.switchToHttp();
|
|
1184
|
+
const response = http.getResponse();
|
|
1185
|
+
const hook = this.auth?.unauthenticatedPage;
|
|
1186
|
+
if (hook) {
|
|
1187
|
+
try {
|
|
1188
|
+
await hook({
|
|
1189
|
+
request: http.getRequest(),
|
|
1190
|
+
response,
|
|
1191
|
+
basePath: exception.basePath
|
|
1192
|
+
});
|
|
1193
|
+
if (responseAlreadyWritten(response)) return;
|
|
1194
|
+
this.warnOnce("dashboardAuth.unauthenticatedPage returned without writing a response; falling back to the built-in page. The hook must write AND end the response it is given.");
|
|
1195
|
+
} catch (error) {
|
|
1196
|
+
this.warnOnce(`dashboardAuth.unauthenticatedPage threw; falling back to the built-in page. ${String(error)}`);
|
|
1197
|
+
if (responseAlreadyWritten(response)) return;
|
|
1198
|
+
}
|
|
1199
|
+
}
|
|
1150
1200
|
writeHtmlRaw(response, renderSessionRequiredPage(exception.basePath), import_common4.HttpStatus.UNAUTHORIZED);
|
|
1151
1201
|
}
|
|
1202
|
+
/** Once per process, not once per request: a broken hook fires on every denied navigation. */
|
|
1203
|
+
warnOnce(message) {
|
|
1204
|
+
if (this.warned) return;
|
|
1205
|
+
this.warned = true;
|
|
1206
|
+
this.logger.warn(message);
|
|
1207
|
+
}
|
|
1152
1208
|
};
|
|
1153
1209
|
DashboardSessionRequiredFilter = _ts_decorate4([
|
|
1154
|
-
(0, import_common4.Catch)(DashboardSessionRequiredException)
|
|
1210
|
+
(0, import_common4.Catch)(DashboardSessionRequiredException),
|
|
1211
|
+
_ts_param3(0, (0, import_common4.Optional)()),
|
|
1212
|
+
_ts_param3(0, (0, import_common4.Inject)(DASHBOARD_AUTH)),
|
|
1213
|
+
_ts_metadata3("design:type", Function),
|
|
1214
|
+
_ts_metadata3("design:paramtypes", [
|
|
1215
|
+
Object
|
|
1216
|
+
])
|
|
1155
1217
|
], DashboardSessionRequiredFilter);
|
|
1156
1218
|
|
|
1157
1219
|
// src/server/durable-ui.controller.ts
|
|
@@ -1162,16 +1224,16 @@ function _ts_decorate5(decorators, target, key, desc) {
|
|
|
1162
1224
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1163
1225
|
}
|
|
1164
1226
|
__name(_ts_decorate5, "_ts_decorate");
|
|
1165
|
-
function
|
|
1227
|
+
function _ts_metadata4(k, v) {
|
|
1166
1228
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
1167
1229
|
}
|
|
1168
|
-
__name(
|
|
1169
|
-
function
|
|
1230
|
+
__name(_ts_metadata4, "_ts_metadata");
|
|
1231
|
+
function _ts_param4(paramIndex, decorator) {
|
|
1170
1232
|
return function(target, key) {
|
|
1171
1233
|
decorator(target, key, paramIndex);
|
|
1172
1234
|
};
|
|
1173
1235
|
}
|
|
1174
|
-
__name(
|
|
1236
|
+
__name(_ts_param4, "_ts_param");
|
|
1175
1237
|
var DASHBOARD_BASE_PATH = Symbol("DASHBOARD_BASE_PATH");
|
|
1176
1238
|
var DASHBOARD_API_PATH = Symbol("DASHBOARD_API_PATH");
|
|
1177
1239
|
var BUILD_BASE = "/durable";
|
|
@@ -1228,27 +1290,27 @@ _ts_decorate5([
|
|
|
1228
1290
|
(0, import_common5.Get)(),
|
|
1229
1291
|
(0, import_common5.Header)("Content-Type", "text/html; charset=utf-8"),
|
|
1230
1292
|
(0, import_common5.Header)("Cache-Control", "no-store, must-revalidate"),
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1293
|
+
_ts_metadata4("design:type", Function),
|
|
1294
|
+
_ts_metadata4("design:paramtypes", []),
|
|
1295
|
+
_ts_metadata4("design:returntype", String)
|
|
1234
1296
|
], DurableUiController.prototype, "index", null);
|
|
1235
1297
|
_ts_decorate5([
|
|
1236
1298
|
(0, import_common5.Get)("assets/:file"),
|
|
1237
1299
|
(0, import_common5.Header)("Cache-Control", "public, max-age=31536000, immutable"),
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1300
|
+
_ts_param4(0, (0, import_common5.Param)("file")),
|
|
1301
|
+
_ts_metadata4("design:type", Function),
|
|
1302
|
+
_ts_metadata4("design:paramtypes", [
|
|
1241
1303
|
String
|
|
1242
1304
|
]),
|
|
1243
|
-
|
|
1305
|
+
_ts_metadata4("design:returntype", typeof import_common5.StreamableFile === "undefined" ? Object : import_common5.StreamableFile)
|
|
1244
1306
|
], DurableUiController.prototype, "asset", null);
|
|
1245
1307
|
DurableUiController = _ts_decorate5([
|
|
1246
1308
|
(0, import_common5.UseFilters)(DashboardLoginRedirectFilter, DashboardSessionRequiredFilter),
|
|
1247
1309
|
(0, import_common5.Controller)(),
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1310
|
+
_ts_param4(0, (0, import_common5.Inject)(DASHBOARD_BASE_PATH)),
|
|
1311
|
+
_ts_param4(1, (0, import_common5.Inject)(DASHBOARD_API_PATH)),
|
|
1312
|
+
_ts_metadata4("design:type", Function),
|
|
1313
|
+
_ts_metadata4("design:paramtypes", [
|
|
1252
1314
|
String,
|
|
1253
1315
|
String
|
|
1254
1316
|
])
|
|
@@ -1262,16 +1324,16 @@ function _ts_decorate6(decorators, target, key, desc) {
|
|
|
1262
1324
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1263
1325
|
}
|
|
1264
1326
|
__name(_ts_decorate6, "_ts_decorate");
|
|
1265
|
-
function
|
|
1327
|
+
function _ts_metadata5(k, v) {
|
|
1266
1328
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
1267
1329
|
}
|
|
1268
|
-
__name(
|
|
1269
|
-
function
|
|
1330
|
+
__name(_ts_metadata5, "_ts_metadata");
|
|
1331
|
+
function _ts_param5(paramIndex, decorator) {
|
|
1270
1332
|
return function(target, key) {
|
|
1271
1333
|
decorator(target, key, paramIndex);
|
|
1272
1334
|
};
|
|
1273
1335
|
}
|
|
1274
|
-
__name(
|
|
1336
|
+
__name(_ts_param5, "_ts_param");
|
|
1275
1337
|
function isString(value) {
|
|
1276
1338
|
return typeof value === "string";
|
|
1277
1339
|
}
|
|
@@ -1294,7 +1356,7 @@ var DurableAuthController = class _DurableAuthController {
|
|
|
1294
1356
|
// the developer-controlled `basePath`.
|
|
1295
1357
|
loginPage() {
|
|
1296
1358
|
const auth = this.requireAuth();
|
|
1297
|
-
if (!auth.login) throw new import_common6.NotFoundException();
|
|
1359
|
+
if (!auth.modes.includes("login")) throw new import_common6.NotFoundException();
|
|
1298
1360
|
return renderLoginPage(this.basePath);
|
|
1299
1361
|
}
|
|
1300
1362
|
// Called by the login page's own fetch (JSON, not a classic form POST — see `login-page.ts` for
|
|
@@ -1303,7 +1365,7 @@ var DurableAuthController = class _DurableAuthController {
|
|
|
1303
1365
|
// (unknown user, wrong password, throwing hook) — no user-enumeration.
|
|
1304
1366
|
async login(body, request, response) {
|
|
1305
1367
|
const auth = this.requireAuth();
|
|
1306
|
-
if (!auth.login) throw new import_common6.NotFoundException();
|
|
1368
|
+
if (!auth.modes.includes("login")) throw new import_common6.NotFoundException();
|
|
1307
1369
|
if (!isString(body?.username) || !isString(body?.password)) {
|
|
1308
1370
|
throw new import_common6.BadRequestException("Body must include string `username` and `password`.");
|
|
1309
1371
|
}
|
|
@@ -1326,7 +1388,7 @@ var DurableAuthController = class _DurableAuthController {
|
|
|
1326
1388
|
// guard decides, and no credential ever reaches this library.
|
|
1327
1389
|
async session(request, response) {
|
|
1328
1390
|
const auth = this.requireAuth();
|
|
1329
|
-
if (!auth.session) throw new import_common6.NotFoundException();
|
|
1391
|
+
if (!auth.modes.includes("session")) throw new import_common6.NotFoundException();
|
|
1330
1392
|
const user = await this.runHook("session", () => auth.session?.(request) ?? null);
|
|
1331
1393
|
if (!user) throw new import_common6.UnauthorizedException();
|
|
1332
1394
|
issueSessionCookie(user, {
|
|
@@ -1344,7 +1406,7 @@ var DurableAuthController = class _DurableAuthController {
|
|
|
1344
1406
|
request,
|
|
1345
1407
|
response
|
|
1346
1408
|
});
|
|
1347
|
-
redirectRaw(response, this.auth?.login ? `${this.basePath}/login` : this.basePath);
|
|
1409
|
+
redirectRaw(response, this.auth?.modes.includes("login") ? `${this.basePath}/login` : this.basePath);
|
|
1348
1410
|
}
|
|
1349
1411
|
requireAuth() {
|
|
1350
1412
|
if (!this.auth) throw new import_common6.NotFoundException();
|
|
@@ -1371,58 +1433,58 @@ _ts_decorate6([
|
|
|
1371
1433
|
(0, import_common6.Get)("login"),
|
|
1372
1434
|
(0, import_common6.Header)("Content-Type", "text/html; charset=utf-8"),
|
|
1373
1435
|
(0, import_common6.Header)("Cache-Control", "no-store, must-revalidate"),
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1436
|
+
_ts_metadata5("design:type", Function),
|
|
1437
|
+
_ts_metadata5("design:paramtypes", []),
|
|
1438
|
+
_ts_metadata5("design:returntype", String)
|
|
1377
1439
|
], DurableAuthController.prototype, "loginPage", null);
|
|
1378
1440
|
_ts_decorate6([
|
|
1379
1441
|
(0, import_common6.Post)("login"),
|
|
1380
1442
|
(0, import_common6.HttpCode)(200),
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1443
|
+
_ts_param5(0, (0, import_common6.Body)()),
|
|
1444
|
+
_ts_param5(1, (0, import_common6.Req)()),
|
|
1445
|
+
_ts_param5(2, (0, import_common6.Res)({
|
|
1384
1446
|
passthrough: true
|
|
1385
1447
|
})),
|
|
1386
|
-
|
|
1387
|
-
|
|
1448
|
+
_ts_metadata5("design:type", Function),
|
|
1449
|
+
_ts_metadata5("design:paramtypes", [
|
|
1388
1450
|
typeof LoginBody === "undefined" ? Object : LoginBody,
|
|
1389
1451
|
Object,
|
|
1390
1452
|
Object
|
|
1391
1453
|
]),
|
|
1392
|
-
|
|
1454
|
+
_ts_metadata5("design:returntype", Promise)
|
|
1393
1455
|
], DurableAuthController.prototype, "login", null);
|
|
1394
1456
|
_ts_decorate6([
|
|
1395
1457
|
(0, import_common6.Post)("session"),
|
|
1396
1458
|
(0, import_common6.HttpCode)(204),
|
|
1397
|
-
|
|
1398
|
-
|
|
1459
|
+
_ts_param5(0, (0, import_common6.Req)()),
|
|
1460
|
+
_ts_param5(1, (0, import_common6.Res)({
|
|
1399
1461
|
passthrough: true
|
|
1400
1462
|
})),
|
|
1401
|
-
|
|
1402
|
-
|
|
1463
|
+
_ts_metadata5("design:type", Function),
|
|
1464
|
+
_ts_metadata5("design:paramtypes", [
|
|
1403
1465
|
Object,
|
|
1404
1466
|
Object
|
|
1405
1467
|
]),
|
|
1406
|
-
|
|
1468
|
+
_ts_metadata5("design:returntype", Promise)
|
|
1407
1469
|
], DurableAuthController.prototype, "session", null);
|
|
1408
1470
|
_ts_decorate6([
|
|
1409
1471
|
(0, import_common6.Get)("logout"),
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1472
|
+
_ts_param5(0, (0, import_common6.Req)()),
|
|
1473
|
+
_ts_param5(1, (0, import_common6.Res)()),
|
|
1474
|
+
_ts_metadata5("design:type", Function),
|
|
1475
|
+
_ts_metadata5("design:paramtypes", [
|
|
1414
1476
|
Object,
|
|
1415
1477
|
Object
|
|
1416
1478
|
]),
|
|
1417
|
-
|
|
1479
|
+
_ts_metadata5("design:returntype", void 0)
|
|
1418
1480
|
], DurableAuthController.prototype, "logout", null);
|
|
1419
1481
|
DurableAuthController = _ts_decorate6([
|
|
1420
1482
|
(0, import_common6.Controller)(),
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1483
|
+
_ts_param5(0, (0, import_common6.Optional)()),
|
|
1484
|
+
_ts_param5(0, (0, import_common6.Inject)(DASHBOARD_AUTH)),
|
|
1485
|
+
_ts_param5(1, (0, import_common6.Inject)(DASHBOARD_BASE_PATH)),
|
|
1486
|
+
_ts_metadata5("design:type", Function),
|
|
1487
|
+
_ts_metadata5("design:paramtypes", [
|
|
1426
1488
|
Object,
|
|
1427
1489
|
String
|
|
1428
1490
|
])
|
|
@@ -1442,16 +1504,16 @@ function _ts_decorate7(decorators, target, key, desc) {
|
|
|
1442
1504
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1443
1505
|
}
|
|
1444
1506
|
__name(_ts_decorate7, "_ts_decorate");
|
|
1445
|
-
function
|
|
1507
|
+
function _ts_metadata6(k, v) {
|
|
1446
1508
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
1447
1509
|
}
|
|
1448
|
-
__name(
|
|
1449
|
-
function
|
|
1510
|
+
__name(_ts_metadata6, "_ts_metadata");
|
|
1511
|
+
function _ts_param6(paramIndex, decorator) {
|
|
1450
1512
|
return function(target, key) {
|
|
1451
1513
|
decorator(target, key, paramIndex);
|
|
1452
1514
|
};
|
|
1453
1515
|
}
|
|
1454
|
-
__name(
|
|
1516
|
+
__name(_ts_param6, "_ts_param");
|
|
1455
1517
|
var DurableUiSessionGuard = class {
|
|
1456
1518
|
static {
|
|
1457
1519
|
__name(this, "DurableUiSessionGuard");
|
|
@@ -1487,17 +1549,17 @@ var DurableUiSessionGuard = class {
|
|
|
1487
1549
|
* asserting away) the nullability.
|
|
1488
1550
|
*/
|
|
1489
1551
|
denyUnauthenticated(auth, request) {
|
|
1490
|
-
if (!auth.login) throw new DashboardSessionRequiredException(this.basePath);
|
|
1552
|
+
if (!auth.modes.includes("login")) throw new DashboardSessionRequiredException(this.basePath);
|
|
1491
1553
|
const returnTo = encodeURIComponent(originalRequestUrl(request));
|
|
1492
1554
|
throw new DashboardLoginRedirectException(`${this.basePath}/login?returnTo=${returnTo}`);
|
|
1493
1555
|
}
|
|
1494
1556
|
};
|
|
1495
1557
|
DurableUiSessionGuard = _ts_decorate7([
|
|
1496
1558
|
(0, import_common7.Injectable)(),
|
|
1497
|
-
|
|
1498
|
-
|
|
1499
|
-
|
|
1500
|
-
|
|
1559
|
+
_ts_param6(0, (0, import_common7.Inject)(DASHBOARD_AUTH)),
|
|
1560
|
+
_ts_param6(1, (0, import_common7.Inject)(DASHBOARD_BASE_PATH)),
|
|
1561
|
+
_ts_metadata6("design:type", Function),
|
|
1562
|
+
_ts_metadata6("design:paramtypes", [
|
|
1501
1563
|
Object,
|
|
1502
1564
|
String
|
|
1503
1565
|
])
|
|
@@ -1512,21 +1574,35 @@ var DurableApiSessionGuard = class {
|
|
|
1512
1574
|
}
|
|
1513
1575
|
async canActivate(context) {
|
|
1514
1576
|
if (!this.auth) return true;
|
|
1577
|
+
const auth = this.auth;
|
|
1515
1578
|
const http = context.switchToHttp();
|
|
1516
1579
|
const request = http.getRequest();
|
|
1517
|
-
const session = readSessionFromRequest(
|
|
1518
|
-
if (!session) throw
|
|
1519
|
-
if (!await maybeRenewSession(
|
|
1520
|
-
throw
|
|
1580
|
+
const session = readSessionFromRequest(auth, request);
|
|
1581
|
+
if (!session) throw this.unauthorized(auth);
|
|
1582
|
+
if (!await maybeRenewSession(auth, session, request, http.getResponse())) {
|
|
1583
|
+
throw this.unauthorized(auth);
|
|
1521
1584
|
}
|
|
1522
1585
|
return true;
|
|
1523
1586
|
}
|
|
1587
|
+
/**
|
|
1588
|
+
* A bare 401 body carrying `{ auth: { modes } }` — mirrors `@dudousxd/nestjs-telescope`'s
|
|
1589
|
+
* dashboardAuth 401. The API is fetched (never navigated), so this is the ONLY way the console
|
|
1590
|
+
* SPA (`durable-client.ts`) learns which auth surface to send the operator to on a mid-session
|
|
1591
|
+
* 401; `DurableUiSessionGuard`'s redirect/session-required exceptions above don't reach it.
|
|
1592
|
+
*/
|
|
1593
|
+
unauthorized(auth) {
|
|
1594
|
+
return new import_common7.UnauthorizedException({
|
|
1595
|
+
auth: {
|
|
1596
|
+
modes: auth.modes
|
|
1597
|
+
}
|
|
1598
|
+
});
|
|
1599
|
+
}
|
|
1524
1600
|
};
|
|
1525
1601
|
DurableApiSessionGuard = _ts_decorate7([
|
|
1526
1602
|
(0, import_common7.Injectable)(),
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1603
|
+
_ts_param6(0, (0, import_common7.Inject)(DASHBOARD_AUTH)),
|
|
1604
|
+
_ts_metadata6("design:type", Function),
|
|
1605
|
+
_ts_metadata6("design:paramtypes", [
|
|
1530
1606
|
Object
|
|
1531
1607
|
])
|
|
1532
1608
|
], DurableApiSessionGuard);
|