@kywi-software/core 0.12.1 → 0.14.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/AGENT-PATTERNS.md +54 -39
- package/dist/admin/chrome.d.ts.map +1 -1
- package/dist/admin/chrome.js +51 -1
- package/dist/admin/chrome.js.map +1 -1
- package/dist/admin/index.d.ts +1 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/layout-editor/component-actions.d.ts +21 -1
- package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-actions.js +41 -1
- package/dist/admin/layout-editor/component-actions.js.map +1 -1
- package/dist/admin/layout-editor/component-fork.d.ts.map +1 -1
- package/dist/admin/layout-editor/component-fork.js +23 -1
- package/dist/admin/layout-editor/component-fork.js.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.d.ts +17 -0
- package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-canvas.js +178 -38
- package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
- package/dist/admin/layout-editor/editor-state.d.ts +62 -2
- package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
- package/dist/admin/layout-editor/editor-state.js +181 -11
- package/dist/admin/layout-editor/editor-state.js.map +1 -1
- package/dist/admin/layout-editor/editor.css +59 -0
- package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
- package/dist/admin/layout-editor/layout-editor.js +67 -3
- package/dist/admin/layout-editor/layout-editor.js.map +1 -1
- package/dist/admin/layout-editor/module-overlay.d.ts +21 -1
- package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-overlay.js +4 -4
- package/dist/admin/layout-editor/module-overlay.js.map +1 -1
- package/dist/admin/layout-editor/module-palette.d.ts +1 -0
- package/dist/admin/layout-editor/module-palette.d.ts.map +1 -1
- package/dist/admin/layout-editor/module-palette.js +6 -3
- package/dist/admin/layout-editor/module-palette.js.map +1 -1
- package/dist/admin/layout-editor/module-variant-container-config.d.ts +51 -0
- package/dist/admin/layout-editor/module-variant-container-config.d.ts.map +1 -0
- package/dist/admin/layout-editor/module-variant-container-config.js +51 -0
- package/dist/admin/layout-editor/module-variant-container-config.js.map +1 -0
- package/dist/admin/layout-editor/node-lookup.d.ts +38 -1
- package/dist/admin/layout-editor/node-lookup.d.ts.map +1 -1
- package/dist/admin/layout-editor/node-lookup.js +62 -5
- package/dist/admin/layout-editor/node-lookup.js.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.d.ts.map +1 -1
- package/dist/admin/layout-editor/overlay-shell.js +45 -2
- package/dist/admin/layout-editor/overlay-shell.js.map +1 -1
- package/dist/admin/layout-editor/props-panel.d.ts +50 -3
- package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
- package/dist/admin/layout-editor/props-panel.js +93 -8
- package/dist/admin/layout-editor/props-panel.js.map +1 -1
- package/dist/admin/layout-editor/section-overlay.d.ts +5 -0
- package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-overlay.js +1 -1
- package/dist/admin/layout-editor/section-overlay.js.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.d.ts +9 -0
- package/dist/admin/layout-editor/section-variant-container-config.d.ts.map +1 -1
- package/dist/admin/layout-editor/section-variant-container-config.js +9 -2
- package/dist/admin/layout-editor/section-variant-container-config.js.map +1 -1
- package/dist/admin/layout-editor/use-component-connect.d.ts.map +1 -1
- package/dist/admin/layout-editor/use-component-connect.js +55 -1
- package/dist/admin/layout-editor/use-component-connect.js.map +1 -1
- package/dist/admin/registry.d.ts +12 -2
- package/dist/admin/registry.d.ts.map +1 -1
- package/dist/admin/registry.js +15 -0
- package/dist/admin/registry.js.map +1 -1
- package/dist/admin/surfaces/account/account-password.d.ts +3 -0
- package/dist/admin/surfaces/account/account-password.d.ts.map +1 -0
- package/dist/admin/surfaces/account/account-password.js +58 -0
- package/dist/admin/surfaces/account/account-password.js.map +1 -0
- package/dist/admin/surfaces/components/definition-canvas.d.ts.map +1 -1
- package/dist/admin/surfaces/components/definition-canvas.js +30 -0
- package/dist/admin/surfaces/components/definition-canvas.js.map +1 -1
- package/dist/admin/surfaces/login.d.ts.map +1 -1
- package/dist/admin/surfaces/login.js +13 -1
- package/dist/admin/surfaces/login.js.map +1 -1
- package/dist/admin/surfaces/settings/admin-features.d.ts.map +1 -1
- package/dist/admin/surfaces/settings/admin-features.js +12 -1
- package/dist/admin/surfaces/settings/admin-features.js.map +1 -1
- package/dist/admin/surfaces/users/users-data.d.ts +2 -0
- package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-data.js.map +1 -1
- package/dist/admin/surfaces/users/users-detail.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-detail.js +49 -4
- package/dist/admin/surfaces/users/users-detail.js.map +1 -1
- package/dist/admin/surfaces/users/users-new.d.ts.map +1 -1
- package/dist/admin/surfaces/users/users-new.js +1 -0
- package/dist/admin/surfaces/users/users-new.js.map +1 -1
- package/dist/admin/user-form.d.ts +3 -1
- package/dist/admin/user-form.d.ts.map +1 -1
- package/dist/admin/user-form.js +2 -1
- package/dist/admin/user-form.js.map +1 -1
- package/dist/api/auth-routes.d.ts.map +1 -1
- package/dist/api/auth-routes.js +23 -0
- package/dist/api/auth-routes.js.map +1 -1
- package/dist/api/index.d.ts +9 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +59 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/password-gate.d.ts +23 -0
- package/dist/api/password-gate.d.ts.map +1 -0
- package/dist/api/password-gate.js +41 -0
- package/dist/api/password-gate.js.map +1 -0
- package/dist/api/password-reset-routes.d.ts.map +1 -1
- package/dist/api/password-reset-routes.js +13 -6
- package/dist/api/password-reset-routes.js.map +1 -1
- package/dist/api/user-routes.d.ts +4 -0
- package/dist/api/user-routes.d.ts.map +1 -1
- package/dist/api/user-routes.js +111 -3
- package/dist/api/user-routes.js.map +1 -1
- package/dist/audiences/deletion-guard.js +2 -2
- package/dist/audiences/deletion-guard.js.map +1 -1
- package/dist/config/types.d.ts +14 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js.map +1 -1
- package/dist/db/user-queries.d.ts +28 -1
- package/dist/db/user-queries.d.ts.map +1 -1
- package/dist/db/user-queries.js +49 -1
- package/dist/db/user-queries.js.map +1 -1
- package/dist/host/index.d.ts +1 -0
- package/dist/host/index.d.ts.map +1 -1
- package/dist/host/index.js +12 -0
- package/dist/host/index.js.map +1 -1
- package/dist/layout/component-refs.d.ts.map +1 -1
- package/dist/layout/component-refs.js +10 -18
- package/dist/layout/component-refs.js.map +1 -1
- package/dist/layout/feed-hydration.js +2 -3
- package/dist/layout/feed-hydration.js.map +1 -1
- package/dist/layout/index.d.ts +2 -1
- package/dist/layout/index.d.ts.map +1 -1
- package/dist/layout/index.js +4 -1
- package/dist/layout/index.js.map +1 -1
- package/dist/layout/module-permissions.js +2 -2
- package/dist/layout/module-permissions.js.map +1 -1
- package/dist/layout/nav-hydration.js +2 -3
- package/dist/layout/nav-hydration.js.map +1 -1
- package/dist/layout/personalization.d.ts +29 -0
- package/dist/layout/personalization.d.ts.map +1 -1
- package/dist/layout/personalization.js +78 -0
- package/dist/layout/personalization.js.map +1 -1
- package/dist/layout/registry.d.ts.map +1 -1
- package/dist/layout/registry.js +15 -1
- package/dist/layout/registry.js.map +1 -1
- package/dist/layout/renderer.d.ts +2 -12
- package/dist/layout/renderer.d.ts.map +1 -1
- package/dist/layout/renderer.js +29 -25
- package/dist/layout/renderer.js.map +1 -1
- package/dist/layout/types.d.ts +91 -1
- package/dist/layout/types.d.ts.map +1 -1
- package/dist/layout/types.js +160 -1
- package/dist/layout/types.js.map +1 -1
- package/dist/layout/variant-selection.d.ts +43 -0
- package/dist/layout/variant-selection.d.ts.map +1 -0
- package/dist/layout/variant-selection.js +41 -0
- package/dist/layout/variant-selection.js.map +1 -0
- package/dist/schema/base.d.ts +17 -0
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +6 -0
- package/dist/schema/base.js.map +1 -1
- package/dist/schema/mysql-tables.d.ts +17 -0
- package/dist/schema/mysql-tables.d.ts.map +1 -1
- package/dist/schema/mysql-tables.js +1 -0
- package/dist/schema/mysql-tables.js.map +1 -1
- package/package.json +1 -1
package/dist/api/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { Router } from './router.js';
|
|
2
2
|
import { resolveAuth } from './auth.js';
|
|
3
|
+
import { isPasswordResetAllowed, passwordResetRequiredResponse } from './password-gate.js';
|
|
4
|
+
import { getPasswordResetRequired } from '../db/user-queries.js';
|
|
5
|
+
import { jsonError } from './response.js';
|
|
3
6
|
import { registerContentRoutes } from './content-routes.js';
|
|
4
7
|
import { registerSiteRoutes } from './site-routes.js';
|
|
5
8
|
import { registerAuthRoutes } from './auth-routes.js';
|
|
@@ -263,8 +266,14 @@ export async function createKywiApiHandler(options) {
|
|
|
263
266
|
// Create email provider early so it's available for auth routes, comment routes, and password reset routes
|
|
264
267
|
const emailProvider = options.emailProvider ?? (config.email ? createEmailProvider(config.email) : undefined);
|
|
265
268
|
registerSiteRoutes(router, db);
|
|
266
|
-
|
|
267
|
-
|
|
269
|
+
// Opt-in brute-force metering, passed through to BOTH password-checking
|
|
270
|
+
// surfaces so a host wires it once (kywi-cms#173).
|
|
271
|
+
const bruteForce = {
|
|
272
|
+
...(options.bruteForceDb ? { bruteForceDb: options.bruteForceDb } : {}),
|
|
273
|
+
...(options.bruteForceConfig ? { bruteForceConfig: options.bruteForceConfig } : {}),
|
|
274
|
+
};
|
|
275
|
+
registerAuthRoutes(router, { config, db, authSecret, hookRegistry, emailProvider, ...bruteForce });
|
|
276
|
+
registerUserRoutes(router, { config, db, authSecret, ...bruteForce });
|
|
268
277
|
registerGroupRoutes(router, { config, db, authSecret });
|
|
269
278
|
registerApiKeyRoutes(router, db, authSecret);
|
|
270
279
|
// OAuth client management (admin/developer only) — GET|POST /auth/oauth-clients
|
|
@@ -456,6 +465,54 @@ export async function createKywiApiHandler(options) {
|
|
|
456
465
|
const authjsHandler = createAuthjsHandler(authjsConfig);
|
|
457
466
|
return {
|
|
458
467
|
handle: async (req, pathSegments) => {
|
|
468
|
+
// ── Forced-password-reset hard gate (kywi-cms#173) ────────────────────
|
|
469
|
+
// ONE seam for the whole API: everything that reaches a route reaches
|
|
470
|
+
// here first. Unauthenticated traffic (login, forgot/reset-password, the
|
|
471
|
+
// public runtime beacons) has no Authorization header and is skipped
|
|
472
|
+
// entirely, so the public site pays nothing. An authenticated caller costs
|
|
473
|
+
// one single-column primary-key lookup, and the flag is read from the DB —
|
|
474
|
+
// never from a JWT claim — so a token minted before an admin set the flag
|
|
475
|
+
// cannot outlive it.
|
|
476
|
+
//
|
|
477
|
+
// Coverage depends on `resolveAuth` being Authorization-header-only: any
|
|
478
|
+
// future cookie-reading auth path MUST route through this seam, or it
|
|
479
|
+
// would authenticate requests the gate never sees. One such path already
|
|
480
|
+
// exists in parallel: the Auth.js delegation at the bottom of this same
|
|
481
|
+
// closure (`authjsHandler`, reached when the router 404s under `auth/`)
|
|
482
|
+
// establishes a COOKIE session, and it runs after — and outside — this
|
|
483
|
+
// check. It is harmless today only because no Kywi route consumes that
|
|
484
|
+
// cookie session; every route authenticates from the Authorization header.
|
|
485
|
+
// The day one does, it has to come through here.
|
|
486
|
+
const authHeader = req.headers.get('authorization');
|
|
487
|
+
if (authHeader) {
|
|
488
|
+
const auth = await resolveAuth(authHeader, authSecret, db);
|
|
489
|
+
// API keys are EXEMPT (owner decision). `resolveAuth` maps a `kywi_…`
|
|
490
|
+
// key onto its owner's UserContext, so gating on the owner's flag would
|
|
491
|
+
// 403 every agent, CI job and static frontend holding one of their keys
|
|
492
|
+
// the moment an admin forced a reset. A key cannot satisfy a reset
|
|
493
|
+
// anyway — there is no human at the other end to set a password — so
|
|
494
|
+
// the gate would be an outage, not a prompt. Freezing a user's
|
|
495
|
+
// automation is a different tool: deactivate the user (or revoke the
|
|
496
|
+
// key), both of which `resolveAuth` already enforces.
|
|
497
|
+
if (auth.user &&
|
|
498
|
+
!auth.viaApiKey &&
|
|
499
|
+
!isPasswordResetAllowed(req.method, pathSegments, auth.user.id)) {
|
|
500
|
+
// The flag read is the gate's only failure mode, and it sits OUTSIDE
|
|
501
|
+
// `router.handle` — an unhandled rejection here would escape as a bare
|
|
502
|
+
// 500 with no error envelope. Answer with a typed, enveloped refusal
|
|
503
|
+
// instead: the contract holds, and an unverifiable account is still
|
|
504
|
+
// never let through.
|
|
505
|
+
let mustReset;
|
|
506
|
+
try {
|
|
507
|
+
mustReset = await getPasswordResetRequired(db, auth.user.id);
|
|
508
|
+
}
|
|
509
|
+
catch {
|
|
510
|
+
return jsonError('SERVICE_UNAVAILABLE', 'Could not verify account status — try again', 503);
|
|
511
|
+
}
|
|
512
|
+
if (mustReset)
|
|
513
|
+
return passwordResetRequiredResponse();
|
|
514
|
+
}
|
|
515
|
+
}
|
|
459
516
|
const response = await router.handle(req, pathSegments);
|
|
460
517
|
// If router returns 404 and path starts with 'auth', delegate to Auth.js
|
|
461
518
|
if (response.status === 404 && pathSegments[0] === 'auth') {
|
package/dist/api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The forced-password-reset hard gate (kywi-cms#173).
|
|
3
|
+
*
|
|
4
|
+
* A user with `password_reset_required = true` is refused on EVERY authenticated
|
|
5
|
+
* request except the four routes below — the minimum needed to (a) discover the
|
|
6
|
+
* flag, (b) clear it, (c) leave, and (d) keep the session alive while doing so.
|
|
7
|
+
* The check lives in exactly one place: the `handle` closure returned by
|
|
8
|
+
* `createKywiApiHandler`, which is the single seam owning `resolveAuth` +
|
|
9
|
+
* `Router.handle`. Unauthenticated traffic never reaches it.
|
|
10
|
+
*/
|
|
11
|
+
export interface PasswordGateRoute {
|
|
12
|
+
method: string;
|
|
13
|
+
/** `:param`-style pattern, no leading slash — same shape as `router.ts`. */
|
|
14
|
+
pattern: string;
|
|
15
|
+
/** When set, the named param must equal the caller's own user id. */
|
|
16
|
+
selfParam?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const PASSWORD_RESET_ALLOWLIST: readonly PasswordGateRoute[];
|
|
19
|
+
/** True iff (method, path) is one of the four allowlisted routes for `userId`. */
|
|
20
|
+
export declare function isPasswordResetAllowed(method: string, pathSegments: string[], userId: string): boolean;
|
|
21
|
+
/** The uniform refusal: actionable, and machine-readable by the SDK/admin. */
|
|
22
|
+
export declare function passwordResetRequiredResponse(): Response;
|
|
23
|
+
//# sourceMappingURL=password-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-gate.d.ts","sourceRoot":"","sources":["../../src/api/password-gate.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,wBAAwB,EAAE,SAAS,iBAAiB,EAKvD,CAAA;AAEV,kFAAkF;AAClF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EAAE,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAmBT;AAED,8EAA8E;AAC9E,wBAAgB,6BAA6B,IAAI,QAAQ,CAMxD"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsonError } from './response.js';
|
|
2
|
+
export const PASSWORD_RESET_ALLOWLIST = [
|
|
3
|
+
{ method: 'GET', pattern: 'users/me' },
|
|
4
|
+
{ method: 'POST', pattern: 'users/:id/password', selfParam: 'id' },
|
|
5
|
+
{ method: 'POST', pattern: 'auth/logout' },
|
|
6
|
+
{ method: 'POST', pattern: 'auth/refresh' },
|
|
7
|
+
];
|
|
8
|
+
/** True iff (method, path) is one of the four allowlisted routes for `userId`. */
|
|
9
|
+
export function isPasswordResetAllowed(method, pathSegments, userId) {
|
|
10
|
+
const verb = method.toUpperCase();
|
|
11
|
+
for (const route of PASSWORD_RESET_ALLOWLIST) {
|
|
12
|
+
if (route.method !== verb)
|
|
13
|
+
continue;
|
|
14
|
+
const segments = route.pattern.split('/');
|
|
15
|
+
if (segments.length !== pathSegments.length)
|
|
16
|
+
continue;
|
|
17
|
+
const params = {};
|
|
18
|
+
let matched = true;
|
|
19
|
+
for (let i = 0; i < segments.length; i++) {
|
|
20
|
+
const routeSeg = segments[i];
|
|
21
|
+
const pathSeg = pathSegments[i];
|
|
22
|
+
if (routeSeg.startsWith(':'))
|
|
23
|
+
params[routeSeg.slice(1)] = pathSeg;
|
|
24
|
+
else if (routeSeg !== pathSeg) {
|
|
25
|
+
matched = false;
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (!matched)
|
|
30
|
+
continue;
|
|
31
|
+
if (route.selfParam && params[route.selfParam] !== userId)
|
|
32
|
+
continue;
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
/** The uniform refusal: actionable, and machine-readable by the SDK/admin. */
|
|
38
|
+
export function passwordResetRequiredResponse() {
|
|
39
|
+
return jsonError('PASSWORD_RESET_REQUIRED', 'You must set a new password before continuing.', 403);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=password-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-gate.js","sourceRoot":"","sources":["../../src/api/password-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAoBzC,MAAM,CAAC,MAAM,wBAAwB,GAAiC;IACpE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE;IACtC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE;IAClE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE;IAC1C,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;CACnC,CAAA;AAEV,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CACpC,MAAc,EACd,YAAsB,EACtB,MAAc;IAEd,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IACjC,KAAK,MAAM,KAAK,IAAI,wBAAwB,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;YAAE,SAAQ;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;YAAE,SAAQ;QACrD,MAAM,MAAM,GAA2B,EAAE,CAAA;QACzC,IAAI,OAAO,GAAG,IAAI,CAAA;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAA;YAC7B,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAE,CAAA;YAChC,IAAI,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;iBAC5D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAAC,OAAO,GAAG,KAAK,CAAC;gBAAC,MAAK;YAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,IAAI,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,MAAM;YAAE,SAAQ;QACnE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,6BAA6B;IAC3C,OAAO,SAAS,CACd,yBAAyB,EACzB,gDAAgD,EAChD,GAAG,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-reset-routes.d.ts","sourceRoot":"","sources":["../../src/api/password-reset-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"password-reset-routes.d.ts","sourceRoot":"","sources":["../../src/api/password-reset-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAOtD,UAAU,yBAAyB;IACjC,MAAM,EAAE,UAAU,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,aAAa,EAAE,aAAa,CAAA;CAC7B;AAaD,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AA0BD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,yBAAyB,GAAG,IAAI,CA2GhG"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { jsonOk, jsonError, validationError } from './response.js';
|
|
3
|
-
import { getUserByEmail,
|
|
3
|
+
import { getUserByEmail, changeUserPassword } from '../db/user-queries.js';
|
|
4
4
|
import { createResetToken, findValidToken, markTokenUsed } from '../db/password-reset-queries.js';
|
|
5
5
|
import { generateResetToken, hashResetToken, verifyResetToken, getTokenExpiryDate } from '../auth/password-reset.js';
|
|
6
|
-
import { hashPassword } from '../auth/passwords.js';
|
|
7
6
|
import { renderEmailTemplate, PASSWORD_RESET_TEMPLATE } from '../email/templates.js';
|
|
8
7
|
// ── Rate limiter (in-memory, per email) ──────────────────────────────────────
|
|
9
8
|
const RATE_LIMIT_MAX = 3;
|
|
@@ -77,7 +76,11 @@ export function registerPasswordResetRoutes(router, ctx) {
|
|
|
77
76
|
});
|
|
78
77
|
return jsonOk({ message: 'If that email exists, a reset link has been sent.' });
|
|
79
78
|
});
|
|
80
|
-
// POST /auth/reset-password
|
|
79
|
+
// POST /auth/reset-password — redeem a token and set the new password.
|
|
80
|
+
// A full participant in the password lifecycle (kywi-cms#173): the write goes
|
|
81
|
+
// through `changeUserPassword`, so it stamps `password_changed_at` (ending the
|
|
82
|
+
// user's other sessions via the stateless check in POST /auth/refresh) and
|
|
83
|
+
// clears `password_reset_required`.
|
|
81
84
|
router.post('/auth/reset-password', async (req) => {
|
|
82
85
|
let body;
|
|
83
86
|
try {
|
|
@@ -108,9 +111,13 @@ export function registerPasswordResetRoutes(router, ctx) {
|
|
|
108
111
|
}
|
|
109
112
|
// Mark token as used
|
|
110
113
|
await markTokenUsed(db, matchedToken.id);
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
|
|
114
|
+
// Set the password through the ONE lifecycle-aware writer (kywi-cms#173):
|
|
115
|
+
// it stamps `passwordChangedAt`, which is what makes the stateless refresh
|
|
116
|
+
// invalidation in POST /auth/refresh fire — and this is the one flow a
|
|
117
|
+
// compromised user can reach, so it is exactly where that has to work.
|
|
118
|
+
// `clearResetRequired: true` because proving control of your email and
|
|
119
|
+
// choosing a new password satisfies a forced reset.
|
|
120
|
+
await changeUserPassword(db, user.id, newPassword, { clearResetRequired: true });
|
|
114
121
|
return jsonOk({ message: 'Password has been reset successfully.' });
|
|
115
122
|
});
|
|
116
123
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"password-reset-routes.js","sourceRoot":"","sources":["../../src/api/password-reset-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"password-reset-routes.js","sourceRoot":"","sources":["../../src/api/password-reset-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import type { Router } from './router.js';
|
|
2
2
|
import type { KywiDb } from '../db/client.js';
|
|
3
3
|
import type { KywiConfig } from '../config/types.js';
|
|
4
|
+
import type { BruteForceDb, BruteForceConfig } from '../auth/brute-force.js';
|
|
4
5
|
interface UserRouteContext {
|
|
5
6
|
config: KywiConfig;
|
|
6
7
|
db: KywiDb;
|
|
7
8
|
authSecret: string;
|
|
9
|
+
/** Optional brute-force store, wired exactly as POST /auth/login wires it. */
|
|
10
|
+
bruteForceDb?: BruteForceDb;
|
|
11
|
+
bruteForceConfig?: BruteForceConfig;
|
|
8
12
|
}
|
|
9
13
|
export declare function registerUserRoutes(router: Router, ctx: UserRouteContext): void;
|
|
10
14
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-routes.d.ts","sourceRoot":"","sources":["../../src/api/user-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"user-routes.d.ts","sourceRoot":"","sources":["../../src/api/user-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAe,MAAM,oBAAoB,CAAA;AAwBjE,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAG5E,UAAU,gBAAgB;IACxB,MAAM,EAAE,UAAU,CAAA;IAClB,EAAE,EAAE,MAAM,CAAA;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AA+BD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAwT9E"}
|
package/dist/api/user-routes.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { jsonOk, jsonError, notFound, unauthorized, forbidden, validationError } from './response.js';
|
|
3
|
-
import { getUserById, listUsers, createUser, updateUser, deleteUser, } from '../db/user-queries.js';
|
|
3
|
+
import { getUserById, getUserGroups, buildUserContext, listUsers, createUser, updateUser, deleteUser, changeUserPassword, } from '../db/user-queries.js';
|
|
4
|
+
import { verifyPassword } from '../auth/passwords.js';
|
|
5
|
+
import { issueAccessToken, issueRefreshToken } from '../auth/tokens.js';
|
|
4
6
|
import { resolveAuth } from './auth.js';
|
|
5
7
|
import { hasMinRole } from '../auth/roles.js';
|
|
6
8
|
import { resolveSiteId } from '../db/site-queries.js';
|
|
7
|
-
import { getUserSiteMemberships, addUserToSite, removeUserFromSite, } from '../db/site-membership-queries.js';
|
|
9
|
+
import { getUserSiteMemberships, getUserSiteIds, addUserToSite, removeUserFromSite, } from '../db/site-membership-queries.js';
|
|
8
10
|
import { assertSiteAccess } from './site-context.js';
|
|
11
|
+
import { recordStrike, isLockedOut, clearStrikes } from '../auth/brute-force.js';
|
|
9
12
|
function stripPasswordHash(user) {
|
|
10
13
|
const { passwordHash, ...rest } = user;
|
|
11
14
|
return rest;
|
|
@@ -17,6 +20,7 @@ const createUserSchema = z.object({
|
|
|
17
20
|
lastName: z.string().optional(),
|
|
18
21
|
role: z.string().optional(),
|
|
19
22
|
siteId: z.string().optional(),
|
|
23
|
+
passwordResetRequired: z.boolean().optional(),
|
|
20
24
|
});
|
|
21
25
|
const updateUserSchema = z.object({
|
|
22
26
|
email: z.string().email().optional(),
|
|
@@ -24,6 +28,11 @@ const updateUserSchema = z.object({
|
|
|
24
28
|
lastName: z.string().optional(),
|
|
25
29
|
role: z.string().optional(),
|
|
26
30
|
isActive: z.boolean().optional(),
|
|
31
|
+
passwordResetRequired: z.boolean().optional(),
|
|
32
|
+
});
|
|
33
|
+
const changePasswordSchema = z.object({
|
|
34
|
+
currentPassword: z.string().min(1).optional(),
|
|
35
|
+
newPassword: z.string().min(8, 'Password must be at least 8 characters'),
|
|
27
36
|
});
|
|
28
37
|
export function registerUserRoutes(router, ctx) {
|
|
29
38
|
const { config, db, authSecret } = ctx;
|
|
@@ -91,7 +100,7 @@ export function registerUserRoutes(router, ctx) {
|
|
|
91
100
|
if (!parsed.success) {
|
|
92
101
|
return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
|
|
93
102
|
}
|
|
94
|
-
const { email, password, firstName, lastName, role, siteId } = parsed.data;
|
|
103
|
+
const { email, password, firstName, lastName, role, siteId, passwordResetRequired } = parsed.data;
|
|
95
104
|
const requestedSiteId = siteId ?? config.sites[0].id;
|
|
96
105
|
// Resolve slug → UUID so the created membership matches how memberships are
|
|
97
106
|
// stored (and so the new user shows up in the site-scoped GET /users list).
|
|
@@ -106,6 +115,7 @@ export function registerUserRoutes(router, ctx) {
|
|
|
106
115
|
lastName: lastName ?? '',
|
|
107
116
|
role: role ?? 'reader',
|
|
108
117
|
siteId: resolvedSiteId,
|
|
118
|
+
passwordResetRequired: passwordResetRequired ?? false,
|
|
109
119
|
});
|
|
110
120
|
return jsonOk(stripPasswordHash(user), 201);
|
|
111
121
|
});
|
|
@@ -133,11 +143,17 @@ export function registerUserRoutes(router, ctx) {
|
|
|
133
143
|
const rawUpdate = { ...parsed.data };
|
|
134
144
|
if (!isAdmin) {
|
|
135
145
|
delete rawUpdate.role;
|
|
146
|
+
delete rawUpdate.passwordResetRequired;
|
|
136
147
|
}
|
|
137
148
|
// Safety rail: an admin cannot lock themselves out. Block self-demotion
|
|
138
149
|
// (changing your own role) and self-deactivation. The token's role is the
|
|
139
150
|
// source of truth for "current" role, so no extra DB read is needed.
|
|
140
151
|
if (isSelf) {
|
|
152
|
+
// siteAdmin-only flag, and never on yourself: forcing a reset on your own
|
|
153
|
+
// account would lock you into the set-password screen with no way back.
|
|
154
|
+
if (rawUpdate.passwordResetRequired !== undefined) {
|
|
155
|
+
return forbidden('You cannot force a reset on your own account');
|
|
156
|
+
}
|
|
141
157
|
if (rawUpdate.role !== undefined && rawUpdate.role !== auth.user.role) {
|
|
142
158
|
return forbidden('You cannot change your own role');
|
|
143
159
|
}
|
|
@@ -152,6 +168,98 @@ export function registerUserRoutes(router, ctx) {
|
|
|
152
168
|
return notFound('User not found');
|
|
153
169
|
return jsonOk(stripPasswordHash(updated));
|
|
154
170
|
});
|
|
171
|
+
// POST /users/:id/password — the ONLY route that writes a password (kywi-cms#173).
|
|
172
|
+
// `password` is deliberately absent from updateUserSchema: PUT /users/:id must
|
|
173
|
+
// never accept one (Zod strips it), so this endpoint owns the whole lifecycle.
|
|
174
|
+
//
|
|
175
|
+
// Two callers, two rails: a user changing their OWN password must prove the
|
|
176
|
+
// current one (and is metered by the same brute-force lockout as login, so a
|
|
177
|
+
// stolen access token cannot hammer it), while a siteAdmin setting SOMEONE
|
|
178
|
+
// ELSE'S must not be outranked by the target.
|
|
179
|
+
//
|
|
180
|
+
// Session fallout: changing a password kills every refresh token minted before
|
|
181
|
+
// the change (see POST /auth/refresh). It does NOT revoke access tokens already
|
|
182
|
+
// in flight — other sessions keep working until their access token expires on
|
|
183
|
+
// its own (15 minutes). A self-change hands back a fresh pair so the caller's
|
|
184
|
+
// own session survives.
|
|
185
|
+
router.post('/users/:id/password', async (req, params) => {
|
|
186
|
+
const auth = await authenticate(req);
|
|
187
|
+
if (!auth.user)
|
|
188
|
+
return unauthorized();
|
|
189
|
+
let body;
|
|
190
|
+
try {
|
|
191
|
+
body = await req.json();
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return jsonError('BAD_REQUEST', 'Invalid JSON body', 400);
|
|
195
|
+
}
|
|
196
|
+
const parsed = changePasswordSchema.safeParse(body);
|
|
197
|
+
if (!parsed.success) {
|
|
198
|
+
return validationError(parsed.error.errors.map(e => ({ path: e.path.join('.'), message: e.message })));
|
|
199
|
+
}
|
|
200
|
+
const isSelf = auth.user.id === params.id;
|
|
201
|
+
const isAdmin = hasMinRole(auth.user.role, 'siteAdmin');
|
|
202
|
+
if (!isSelf && !isAdmin)
|
|
203
|
+
return forbidden();
|
|
204
|
+
const target = await getUserById(db, params.id);
|
|
205
|
+
if (!target)
|
|
206
|
+
return notFound('User not found');
|
|
207
|
+
if (isSelf) {
|
|
208
|
+
// Self-service change: prove you know the current password.
|
|
209
|
+
if (!parsed.data.currentPassword) {
|
|
210
|
+
return validationError([
|
|
211
|
+
{ path: 'currentPassword', message: 'Current password is required' },
|
|
212
|
+
]);
|
|
213
|
+
}
|
|
214
|
+
// Same brute-force machinery as POST /auth/login, and for the same reason:
|
|
215
|
+
// without it a stolen 15-minute access token could guess `currentPassword`
|
|
216
|
+
// unmetered and rotate the password to make the theft permanent.
|
|
217
|
+
const clientIp = req.headers.get('x-forwarded-for')?.split(',')[0]?.trim() ?? 'unknown';
|
|
218
|
+
if (ctx.bruteForceDb && ctx.bruteForceConfig) {
|
|
219
|
+
const lockout = await isLockedOut(ctx.bruteForceDb, target.id, clientIp, ctx.bruteForceConfig);
|
|
220
|
+
if (lockout.locked) {
|
|
221
|
+
return jsonError('TOO_MANY_REQUESTS', 'Account temporarily locked due to too many failed attempts', 429, { retryAfter: lockout.retryAfter });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const ok = await verifyPassword(parsed.data.currentPassword, target.passwordHash);
|
|
225
|
+
// Deliberately generic wording — never distinguish "wrong password" from
|
|
226
|
+
// any other refusal to the client.
|
|
227
|
+
if (!ok) {
|
|
228
|
+
// Same guard as the lockout check above: strikes are only worth
|
|
229
|
+
// recording where a policy exists to read them.
|
|
230
|
+
if (ctx.bruteForceDb && ctx.bruteForceConfig) {
|
|
231
|
+
await recordStrike(ctx.bruteForceDb, target.id, clientIp);
|
|
232
|
+
}
|
|
233
|
+
return jsonError('INVALID_CURRENT_PASSWORD', 'Current password is incorrect', 403);
|
|
234
|
+
}
|
|
235
|
+
if (ctx.bruteForceDb && ctx.bruteForceConfig) {
|
|
236
|
+
await clearStrikes(ctx.bruteForceDb, target.id, clientIp);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
else if (!hasMinRole(auth.user.role, target.role)) {
|
|
240
|
+
// Same target-role protection the admin surfaces assume: an admin may not
|
|
241
|
+
// seize an account that outranks them. `currentPassword` is ignored here.
|
|
242
|
+
return forbidden('You cannot set the password for a user above your own role');
|
|
243
|
+
}
|
|
244
|
+
// Only a self-change satisfies a forced reset; an admin setting someone
|
|
245
|
+
// else's password leaves the flag exactly as the profile save left it.
|
|
246
|
+
const updated = await changeUserPassword(db, params.id, parsed.data.newPassword, {
|
|
247
|
+
clearResetRequired: isSelf,
|
|
248
|
+
});
|
|
249
|
+
if (!updated)
|
|
250
|
+
return notFound('User not found');
|
|
251
|
+
if (!isSelf)
|
|
252
|
+
return jsonOk({ changed: true });
|
|
253
|
+
// Self-change: hand the caller a fresh token pair so their own session
|
|
254
|
+
// survives the stateless invalidation in POST /auth/refresh (every refresh
|
|
255
|
+
// token minted before `passwordChangedAt` is now dead, including theirs).
|
|
256
|
+
const groups = await getUserGroups(db, updated.id);
|
|
257
|
+
const userCtx = buildUserContext(updated, groups);
|
|
258
|
+
userCtx.siteMemberships = await getUserSiteIds(db, updated.id);
|
|
259
|
+
const accessToken = await issueAccessToken(userCtx, authSecret);
|
|
260
|
+
const refreshToken = await issueRefreshToken(updated.id, authSecret);
|
|
261
|
+
return jsonOk({ changed: true, accessToken, refreshToken });
|
|
262
|
+
});
|
|
155
263
|
// DELETE /users/:id — requires siteAdmin
|
|
156
264
|
router.delete('/users/:id', async (req, params) => {
|
|
157
265
|
const auth = await authenticate(req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-routes.js","sourceRoot":"","sources":["../../src/api/user-routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AACrG,OAAO,EACL,WAAW,EAGX,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,kBAAkB,GACnB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAQpD,SAAS,iBAAiB,CAAC,IAA6B;IACtD,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;IACtC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;IACzB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;IACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAA;AAEF,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAA;AAEF,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,GAAqB;IACtE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,GAAG,CAAA;IAEtC,KAAK,UAAU,YAAY,CAAC,GAAY;QACtC,OAAO,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,gBAAgB;IAChB,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE5C,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAA0C,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,eAAe,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAA;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,eAAe,CAAA;QAC5E,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QACtD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;QAEzC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAuC,CAAC,CAAC,CAAC,CAAA;IAC3F,CAAC,CAAC,CAAA;IAEF,8CAA8C;IAC9C,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,EAAE,CAAA;QAE3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE5C,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAA0C,CAAC,CAAC,CAAA;IAC9E,CAAC,CAAC,CAAA;IAEF,mCAAmC;IACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhE,IAAI,IAAa,CAAA;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,eAAe,CACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC/E,CAAA;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAA;QAC1E,MAAM,eAAe,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,EAAE,CAAA;QACrD,4EAA4E;QAC5E,4EAA4E;QAC5E,MAAM,cAAc,GAAG,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC,IAAI,eAAe,CAAA;QACpF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QAC9D,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QAEjC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE;YAChC,KAAK;YACL,QAAQ;YACR,SAAS,EAAE,SAAS,IAAI,EAAE;YAC1B,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,IAAI,EAAE,IAAI,IAAI,QAAQ;YACtB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAA;QAEF,OAAO,MAAM,CAAC,iBAAiB,CAAC,IAA0C,CAAC,EAAE,GAAG,CAAC,CAAA;IACnF,CAAC,CAAC,CAAA;IAEF,qDAAqD;IACrD,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7C,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,EAAE,CAAA;QAE3C,IAAI,IAAa,CAAA;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,aAAa,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAA;QAC3D,CAAC;QAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,eAAe,CACpB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAC/E,CAAA;QACH,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,IAAI,CAAA;QACvB,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,qEAAqE;QACrE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtE,OAAO,SAAS,CAAC,iCAAiC,CAAC,CAAA;YACrD,CAAC;YACD,IAAI,SAAS,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACjC,OAAO,SAAS,CAAC,wCAAwC,CAAC,CAAA;YAC5D,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CACzB,CAAA;QAErC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,UAAU,CAAC,CAAA;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE/C,OAAO,MAAM,CAAC,iBAAiB,CAAC,OAA6C,CAAC,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,yCAAyC;IACzC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAChD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhE,mDAAmD;QACnD,IAAI,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAC,oCAAoC,CAAC,CAAA;QACxD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAChD,IAAI,CAAC,OAAO;YAAE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE/C,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QAErC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAA;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QACvD,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,EAAE,CAAA;QAE3C,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAChE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,sEAAsE;IACtE,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI;YAAE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,CAAA;QAE5C,MAAM,cAAc,GAAG,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,MAAO,CAAC,CAAC,IAAI,MAAM,CAAC,MAAO,CAAA;QAClF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QAC9D,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,cAAc,CAAC,CAAA;QACnD,OAAO,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;IAChC,CAAC,CAAC,CAAA;IAEF,yEAAyE;IACzE,MAAM,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,YAAY,EAAE,CAAA;QACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YAAE,OAAO,SAAS,EAAE,CAAA;QAEhE,MAAM,cAAc,GAAG,CAAC,MAAM,aAAa,CAAC,EAAE,EAAE,MAAM,CAAC,MAAO,CAAC,CAAC,IAAI,MAAM,CAAC,MAAO,CAAA;QAClF,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAA;QAC9D,IAAI,UAAU;YAAE,OAAO,UAAU,CAAA;QACjC,MAAM,kBAAkB,CAAC,EAAE,EAAE,MAAM,CAAC,EAAG,EAAE,cAAc,CAAC,CAAA;QACxD,OAAO,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IAClC,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"user-routes.js","sourceRoot":"","sources":["../../src/api/user-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isLayoutSection } from '../layout/types.js';
|
|
1
|
+
import { columnModules, isLayoutSection } from '../layout/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Parse a module's `variants` prop the same way VariantContainerModule does:
|
|
4
4
|
* an already-materialised array, or a JSON-encoded array string. Anything else
|
|
@@ -25,7 +25,7 @@ function parseArmVariants(raw) {
|
|
|
25
25
|
function scanSectionModules(section, audienceId, context) {
|
|
26
26
|
const refs = [];
|
|
27
27
|
for (const column of section.columns) {
|
|
28
|
-
for (const node of column
|
|
28
|
+
for (const node of columnModules(column)) {
|
|
29
29
|
if (node.type !== 'variantContainer')
|
|
30
30
|
continue;
|
|
31
31
|
const arms = parseArmVariants(node.props?.['variants']);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deletion-guard.js","sourceRoot":"","sources":["../../src/audiences/deletion-guard.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"deletion-guard.js","sourceRoot":"","sources":["../../src/audiences/deletion-guard.ts"],"names":[],"mappings":"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"}
|