@dwp/govuk-casa 8.8.0 → 8.9.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/casa.d.ts CHANGED
@@ -12,8 +12,18 @@ export type ContextEventHandlerOptions = {
12
12
  * Request session object
13
13
  */
14
14
  session: object;
15
+ /**
16
+ * User-space information pass-through
17
+ */
18
+ userInfo: ContextEventUserInfo;
15
19
  };
16
20
  export type ContextEventHandler = (opts: ContextEventHandlerOptions) => void;
21
+ export type ContextEventUserInfo = {
22
+ /**
23
+ * Request phase at which event is triggered
24
+ */
25
+ casaRequestPhase?: symbol | undefined;
26
+ };
17
27
  export type ContextEvent = {
18
28
  /**
19
29
  * Waypoint to watch for changes
@@ -478,4 +488,5 @@ import MutableRouter from "./lib/MutableRouter.js";
478
488
  import waypointUrl from "./lib/waypoint-url.js";
479
489
  import endSession from "./lib/end-session.js";
480
490
  import * as nunjucksFilters from "./lib/nunjucks-filters.js";
481
- export { configure, validators, field, Plan, JourneyContext, ValidatorFactory, ValidationError, MutableRouter, waypointUrl, endSession, nunjucksFilters };
491
+ import * as constants from "./lib/constants.js";
492
+ export { configure, validators, field, Plan, JourneyContext, ValidatorFactory, ValidationError, MutableRouter, waypointUrl, endSession, nunjucksFilters, constants };
package/dist/casa.js CHANGED
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.nunjucksFilters = exports.endSession = exports.waypointUrl = exports.MutableRouter = exports.ValidationError = exports.ValidatorFactory = exports.JourneyContext = exports.Plan = exports.field = exports.validators = exports.configure = void 0;
29
+ exports.constants = exports.nunjucksFilters = exports.endSession = exports.waypointUrl = exports.MutableRouter = exports.ValidationError = exports.ValidatorFactory = exports.JourneyContext = exports.Plan = exports.field = exports.validators = exports.configure = void 0;
30
30
  // NOTE: Any changes made here must be reflected in `scripts/esm-wrapper.js`
31
31
  const configure_js_1 = __importDefault(require("./lib/configure.js"));
32
32
  exports.configure = configure_js_1.default;
@@ -50,6 +50,8 @@ const end_session_js_1 = __importDefault(require("./lib/end-session.js"));
50
50
  exports.endSession = end_session_js_1.default;
51
51
  const nunjucksFilters = __importStar(require("./lib/nunjucks-filters.js"));
52
52
  exports.nunjucksFilters = nunjucksFilters;
53
+ const constants = __importStar(require("./lib/constants.js"));
54
+ exports.constants = constants;
53
55
  /* ----------------------------------------------------------------- Typedefs */
54
56
  // These exist here so that consumer can import CASA's internal types
55
57
  /**
@@ -60,12 +62,17 @@ exports.nunjucksFilters = nunjucksFilters;
60
62
  * @property {JourneyContext} journeyContext Context including changes
61
63
  * @property {JourneyContext} previousContext Context prior to changes
62
64
  * @property {object} session Request session object
65
+ * @property {ContextEventUserInfo} userInfo User-space information pass-through
63
66
  */
64
67
  /**
65
68
  * @callback ContextEventHandler
66
69
  * @param {ContextEventHandlerOptions} opts Options
67
70
  * @returns {void}
68
71
  */
72
+ /**
73
+ * @typedef {object} ContextEventUserInfo
74
+ * @property {symbol} [casaRequestPhase] Request phase at which event is triggered
75
+ */
69
76
  /**
70
77
  * @typedef {object} ContextEvent
71
78
  * @property {string} waypoint Waypoint to watch for changes
package/dist/casa.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"casa.js","sourceRoot":"","sources":["../src/casa.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA4E;AAC5E,sEAA2C;AAczC,oBAdK,sBAAS,CAcL;AAbX,yEAAmD;AAcjD,qBAdK,kBAAU,CAcL;AAbZ,8DAAmC;AAcjC,gBAdK,kBAAK,CAcL;AAbP,4DAAiC;AAc/B,eAdK,iBAAI,CAcL;AAbN,gFAAqD;AAcnD,yBAdK,2BAAc,CAcL;AAbhB,oFAAyD;AAcvD,2BAdK,6BAAgB,CAcL;AAblB,kFAAuD;AAcrD,0BAdK,4BAAe,CAcL;AAbjB,8EAAmD;AAcjD,wBAdK,0BAAa,CAcL;AAbf,4EAAgD;AAgB9C,sBAhBK,yBAAW,CAgBL;AAfb,0EAA8C;AAgB5C,qBAhBK,wBAAU,CAgBL;AAfZ,2EAA6D;AAkB3D,0CAAe;AAGjB,gFAAgF;AAChF,qEAAqE;AAErE;;GAEG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;;;;;;GAUG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;;;;;GAOG;AAEH;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;;GAMG"}
1
+ {"version":3,"file":"casa.js","sourceRoot":"","sources":["../src/casa.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4EAA4E;AAC5E,sEAA2C;AAezC,oBAfK,sBAAS,CAeL;AAdX,yEAAmD;AAejD,qBAfK,kBAAU,CAeL;AAdZ,8DAAmC;AAejC,gBAfK,kBAAK,CAeL;AAdP,4DAAiC;AAe/B,eAfK,iBAAI,CAeL;AAdN,gFAAqD;AAenD,yBAfK,2BAAc,CAeL;AAdhB,oFAAyD;AAevD,2BAfK,6BAAgB,CAeL;AAdlB,kFAAuD;AAerD,0BAfK,4BAAe,CAeL;AAdjB,8EAAmD;AAejD,wBAfK,0BAAa,CAeL;AAdf,4EAAgD;AAiB9C,sBAjBK,yBAAW,CAiBL;AAhBb,0EAA8C;AAiB5C,qBAjBK,wBAAU,CAiBL;AAhBZ,2EAA6D;AAmB3D,0CAAe;AAlBjB,8DAAgD;AAqB9C,8BAAS;AAGX,gFAAgF;AAChF,qEAAqE;AAErE;;GAEG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;;;GAKG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;;;;;;GAUG;AAEH;;;;GAIG;AAEH;;;GAGG;AAEH;;;GAGG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;GAcG;AAEH;;;;;;;;;;;;;;;GAeG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH;;;;;;;GAOG;AAEH;;;;GAIG;AAEH;;GAEG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;;;;;GAOG;AAEH;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;GAKG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH;;;;GAIG;AAEH;;;;;;GAMG"}
@@ -107,10 +107,14 @@ export default class JourneyContext {
107
107
  *
108
108
  * @param {object} session Request session
109
109
  * @param {JourneyContext} context Context
110
+ * @param {object} options Options
111
+ * @param {ContextEventUserInfo|object} [options.userInfo] Pass-through event info
110
112
  * @returns {void}
111
113
  * @throws {TypeError} When session is not a valid type, or context has no ID
112
114
  */
113
- static putContext(session: object, context: JourneyContext): void;
115
+ static putContext(session: object, context: JourneyContext, options?: {
116
+ userInfo?: ContextEventUserInfo | object;
117
+ }): void;
114
118
  /**
115
119
  * Remove a context from the session store.
116
120
  *
@@ -329,14 +333,19 @@ export default class JourneyContext {
329
333
  /**
330
334
  * Execute all listeners for the given event.
331
335
  *
336
+ * The `userInfo` parameter is simply passed straight through to the event
337
+ * listeners.
338
+ *
332
339
  * @param {object} params Params
333
340
  * @param {string} params.event Event (waypoint-change | context-change)
334
341
  * @param {object} params.session Session
342
+ * @param {ContextEventUserInfo|object} [params.userInfo] Pass-through info
335
343
  * @returns {JourneyContext} Chain
336
344
  */
337
- applyEventListeners({ event, session }: {
345
+ applyEventListeners({ event, session, userInfo }: {
338
346
  event: string;
339
347
  session: object;
348
+ userInfo?: ContextEventUserInfo | object;
340
349
  }): JourneyContext;
341
350
  /**
342
351
  * Convenience method to determine if this is the default context.
@@ -338,7 +338,7 @@ class JourneyContext {
338
338
  purge(waypoints = []) {
339
339
  const newData = Object.create(null);
340
340
  const newValidation = Object.create(null);
341
- const toKeep = Object.keys(this.data).filter((w) => !waypoints.includes(w));
341
+ const toKeep = Object.keys(__classPrivateFieldGet(this, _JourneyContext_data, "f")).filter((w) => !waypoints.includes(w));
342
342
  // ESLint disabled as `i` is an integer
343
343
  /* eslint-disable security/detect-object-injection */
344
344
  for (let i = 0, l = toKeep.length; i < l; i++) {
@@ -383,12 +383,16 @@ class JourneyContext {
383
383
  /**
384
384
  * Execute all listeners for the given event.
385
385
  *
386
+ * The `userInfo` parameter is simply passed straight through to the event
387
+ * listeners.
388
+ *
386
389
  * @param {object} params Params
387
390
  * @param {string} params.event Event (waypoint-change | context-change)
388
391
  * @param {object} params.session Session
392
+ * @param {ContextEventUserInfo|object} [params.userInfo] Pass-through info
389
393
  * @returns {JourneyContext} Chain
390
394
  */
391
- applyEventListeners({ event, session }) {
395
+ applyEventListeners({ event, session, userInfo }) {
392
396
  var _a, _b, _c, _d, _e, _f, _g, _h, _j;
393
397
  if (!__classPrivateFieldGet(this, _JourneyContext_eventListeners, "f").length) {
394
398
  return this;
@@ -417,7 +421,12 @@ class JourneyContext {
417
421
  }
418
422
  if (runHandler) {
419
423
  log.trace(logMessage);
420
- handler({ journeyContext: this, previousContext, session });
424
+ handler({
425
+ journeyContext: this,
426
+ previousContext,
427
+ session,
428
+ userInfo,
429
+ });
421
430
  }
422
431
  }
423
432
  /* eslint-enable security/detect-object-injection */
@@ -580,10 +589,12 @@ class JourneyContext {
580
589
  *
581
590
  * @param {object} session Request session
582
591
  * @param {JourneyContext} context Context
592
+ * @param {object} options Options
593
+ * @param {ContextEventUserInfo|object} [options.userInfo] Pass-through event info
583
594
  * @returns {void}
584
595
  * @throws {TypeError} When session is not a valid type, or context has no ID
585
596
  */
586
- static putContext(session, context) {
597
+ static putContext(session, context, options = {}) {
587
598
  if (!isObject(session)) {
588
599
  throw new TypeError('Session must be an object');
589
600
  }
@@ -598,13 +609,16 @@ class JourneyContext {
598
609
  JourneyContext.initContextStore(session);
599
610
  }
600
611
  // Apply context events
612
+ const { userInfo = undefined } = options;
601
613
  context.applyEventListeners({
602
614
  event: 'waypoint-change',
603
615
  session,
616
+ userInfo,
604
617
  });
605
618
  context.applyEventListeners({
606
619
  event: 'context-change',
607
620
  session,
621
+ userInfo,
608
622
  });
609
623
  const list = new Map(session.journeyContextList);
610
624
  list.set(context.identity.id, context.toObject());
@@ -1 +1 @@
1
- {"version":3,"file":"JourneyContext.js","sourceRoot":"","sources":["../../src/lib/JourneyContext.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JourneyContext.js","sourceRoot":"","sources":["../../src/lib/JourneyContext.js"],"names":[],"mappings":"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"}
@@ -214,7 +214,6 @@ export type PlanRoute = import('../casa').PlanRoute;
214
214
  export type PlanRouteCondition = import('../casa').PlanRouteCondition;
215
215
  export type PlanTraverseOptions = import('../casa').PlanTraverseOptions;
216
216
  export type PlanArbiter = import('../casa').PlanArbiter;
217
- export type Graph = import('@dagrejs/graphlib').Graph;
218
217
  export type PlanConstructorOptions = {
219
218
  /**
220
219
  * Check page validity before conditions
package/dist/lib/Plan.js CHANGED
@@ -35,10 +35,6 @@ const log = (0, logger_js_1.default)('lib:plan');
35
35
  * @access private
36
36
  * @typedef {import('../casa').PlanArbiter} PlanArbiter
37
37
  */
38
- /**
39
- * @access private
40
- * @typedef {import('@dagrejs/graphlib').Graph} Graph
41
- */
42
38
  /**
43
39
  * @typedef {object} PlanConstructorOptions
44
40
  * @property {boolean} [validateBeforeRouteCondition=true] Check page validity before conditions
@@ -524,7 +520,7 @@ class Plan {
524
520
  target = arbiter({
525
521
  targets: target.map((t) => makeRouteObject(self.dgraph, t)),
526
522
  journeyContext: context,
527
- traverseOptions: options,
523
+ travereOptions: options,
528
524
  });
529
525
  target = target.map((r) => ({ v: r.source, w: r.target, name: r.name }));
530
526
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Plan.js","sourceRoot":"","sources":["../../src/lib/Plan.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Plan.js","sourceRoot":"","sources":["../../src/lib/Plan.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * General-purpose references to the different request lifecycle phases.
3
+ */
4
+ export const REQUEST_PHASE_STEER: unique symbol;
5
+ export const REQUEST_PHASE_SANITISE: unique symbol;
6
+ export const REQUEST_PHASE_GATHER: unique symbol;
7
+ export const REQUEST_PHASE_VALIDATE: unique symbol;
8
+ export const REQUEST_PHASE_REDIRECT: unique symbol;
9
+ export const REQUEST_PHASE_RENDER: unique symbol;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REQUEST_PHASE_RENDER = exports.REQUEST_PHASE_REDIRECT = exports.REQUEST_PHASE_VALIDATE = exports.REQUEST_PHASE_GATHER = exports.REQUEST_PHASE_SANITISE = exports.REQUEST_PHASE_STEER = void 0;
4
+ /**
5
+ * General-purpose references to the different request lifecycle phases.
6
+ */
7
+ exports.REQUEST_PHASE_STEER = Symbol('steer');
8
+ exports.REQUEST_PHASE_SANITISE = Symbol('sanitise');
9
+ exports.REQUEST_PHASE_GATHER = Symbol('gather');
10
+ exports.REQUEST_PHASE_VALIDATE = Symbol('validate');
11
+ exports.REQUEST_PHASE_REDIRECT = Symbol('redirect');
12
+ exports.REQUEST_PHASE_RENDER = Symbol('render');
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/lib/constants.js"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AACtC,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,sBAAsB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,oBAAoB,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC"}
@@ -14,6 +14,31 @@ const reUrlProtocolExtract = /^url:\/\/(.+)$/i;
14
14
  * @returns {string} Sanitised waypoint
15
15
  */
16
16
  const sanitiseWaypoint = (w) => w.replace(/[^/a-z0-9_-]/ig, '').replace(/\/+/g, '/');
17
+ /**
18
+ * Sanitise a waypoint string, with allowed URL parameters:
19
+ * contextid = JourneyContext ID
20
+ *
21
+ * @access private
22
+ * @param {string} w Waypoint and potential URL parameters
23
+ * @returns {string} Sanitised waypoint
24
+ */
25
+ const sanitiseWaypointWithAllowedParams = (w) => {
26
+ // Extract URL params
27
+ const parts = w.split('?');
28
+ if (parts.length !== 2) {
29
+ return sanitiseWaypoint(w);
30
+ }
31
+ const [waypoint, rawParams] = parts;
32
+ const urlSearchParams = new URLSearchParams(rawParams);
33
+ // Strip all but those parameters allowed
34
+ const validatedUrlSearchParams = new URLSearchParams();
35
+ for (const pk of ['contextid']) {
36
+ if (urlSearchParams.has(pk)) {
37
+ validatedUrlSearchParams.set(pk, urlSearchParams.get(pk));
38
+ }
39
+ }
40
+ return `${sanitiseWaypoint(waypoint)}?${validatedUrlSearchParams.toString()}`.replace(/\?$/, '');
41
+ };
17
42
  /**
18
43
  * Generate a URL pointing at a particular waypoint.
19
44
  *
@@ -42,13 +67,18 @@ function waypointUrl({ waypoint = '', mountUrl = '/', journeyContext, edit = fal
42
67
  // - This will generate a link to the root handler "_" for the given mount path
43
68
  if (String(waypoint).substr(0, 7) === 'url:///') {
44
69
  const m = waypoint.match(reUrlProtocolExtract);
45
- const u = new URL(m[1], 'https://placeholder.test/');
70
+ const u = new URL(sanitiseWaypointWithAllowedParams(m[1]), 'https://placeholder.test/');
46
71
  url.pathname = `${sanitiseWaypoint(u.pathname)}/_/`;
47
- url.searchParams.append('refmount', `url://${mountUrl}`);
48
- url.searchParams.append('route', routeName);
72
+ url.searchParams.set('refmount', `url://${mountUrl}`);
73
+ url.searchParams.set('route', routeName);
74
+ for (const [uk, uv] of u.searchParams.entries()) {
75
+ url.searchParams.append(uk, uv);
76
+ }
49
77
  }
50
78
  else {
51
- url.pathname = `${mountUrl}${waypoint}`;
79
+ const u = new URL(sanitiseWaypointWithAllowedParams(`${mountUrl}${waypoint}`), 'https://placeholder.test/');
80
+ url.pathname = u.pathname;
81
+ url.search = u.search;
52
82
  }
53
83
  // Attach context ID as query parameter for non-default contexts.
54
84
  // To avoid messy URLs with duplicated content, this parameter will _not_ be
@@ -57,19 +87,19 @@ function waypointUrl({ waypoint = '', mountUrl = '/', journeyContext, edit = fal
57
87
  if (journeyContext
58
88
  && !journeyContext.isDefault()
59
89
  && journeyContext.identity.id
60
- && !mountUrl.includes(journeyContext.identity.id)) {
61
- url.searchParams.append('contextid', journeyContext.identity.id);
90
+ && !mountUrl.includes(`/${journeyContext.identity.id}/`)) {
91
+ url.searchParams.set('contextid', journeyContext.identity.id);
62
92
  }
63
93
  // Attach edit mode flag
64
94
  if (edit === true) {
65
- url.searchParams.append('edit', 'true');
95
+ url.searchParams.set('edit', 'true');
66
96
  }
67
97
  if (edit && editOrigin) {
68
- url.searchParams.append('editorigin', sanitiseWaypoint(editOrigin));
98
+ url.searchParams.set('editorigin', sanitiseWaypointWithAllowedParams(editOrigin));
69
99
  }
70
100
  // Skipto
71
101
  if (skipTo) {
72
- url.searchParams.append('skipto', sanitiseWaypoint(skipTo));
102
+ url.searchParams.set('skipto', sanitiseWaypointWithAllowedParams(skipTo));
73
103
  }
74
104
  return `${sanitiseWaypoint(url.pathname)}${url.search}`;
75
105
  }
@@ -1 +1 @@
1
- {"version":3,"file":"waypoint-url.js","sourceRoot":"","sources":["../../src/lib/waypoint-url.js"],"names":[],"mappings":";AAAA;;;GAGG;;AAEH,sBAAsB;AACtB,MAAM,oBAAoB,GAAG,iBAAiB,CAAA;AAE9C;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAwB,WAAW,CAAC,EAClC,QAAQ,GAAG,EAAE,EACb,QAAQ,GAAG,GAAG,EACd,cAAc,EACd,IAAI,GAAG,KAAK,EACZ,UAAU,EACV,MAAM,EACN,SAAS,GAAG,MAAM,GACnB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACrB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAEhD,yBAAyB;IACzB,+EAA+E;IAC/E,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE;QAC/C,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAE/C,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,2BAA2B,CAAC,CAAC;QACrD,GAAG,CAAC,QAAQ,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEpD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,QAAQ,EAAE,CAAC,CAAC;QACzD,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;KAC7C;SAAM;QACL,GAAG,CAAC,QAAQ,GAAG,GAAG,QAAQ,GAAG,QAAQ,EAAE,CAAC;KACzC;IAED,iEAAiE;IACjE,4EAA4E;IAC5E,yEAAyE;IACzE,2DAA2D;IAC3D,IACE,cAAc;WACX,CAAC,cAAc,CAAC,SAAS,EAAE;WAC3B,cAAc,CAAC,QAAQ,CAAC,EAAE;WAC1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,EACjD;QACA,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KAClE;IAED,wBAAwB;IACxB,IAAI,IAAI,KAAK,IAAI,EAAE;QACjB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACzC;IAED,IAAI,IAAI,IAAI,UAAU,EAAE;QACtB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;KACrE;IAED,SAAS;IACT,IAAI,MAAM,EAAE;QACV,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;KAC7D;IAED,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;AAC1D,CAAC;AArDD,8BAqDC"}
1
+ {"version":3,"file":"waypoint-url.js","sourceRoot":"","sources":["../../src/lib/waypoint-url.js"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  };
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  const JourneyContext_js_1 = __importDefault(require("../lib/JourneyContext.js"));
11
+ const constants_js_1 = require("../lib/constants.js");
11
12
  /**
12
13
  * @access private
13
14
  * @typedef {import('../lib/field').PageField} PageField
@@ -38,10 +39,16 @@ exports.default = ({ waypoint, fields = [], }) => [
38
39
  }
39
40
  }
40
41
  /* eslint-enable security/detect-object-injection */
41
- // Update data and validation context in the current request, and store
42
+ // Update data and validation context in the current request, and store.
43
+ // The validation state is removed here because we must assume the gathered
44
+ // data is invalid until proven otherwise when the validation step is run.
42
45
  req.casa.journeyContext.setDataForPage(waypoint, persistentBody);
43
46
  req.casa.journeyContext.removeValidationStateForPage(waypoint);
44
- JourneyContext_js_1.default.putContext(req.session, req.casa.journeyContext);
47
+ JourneyContext_js_1.default.putContext(req.session, req.casa.journeyContext, {
48
+ userInfo: {
49
+ casaRequestPhase: constants_js_1.REQUEST_PHASE_GATHER,
50
+ },
51
+ });
45
52
  next();
46
53
  },
47
54
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"gather-fields.js","sourceRoot":"","sources":["../../src/middleware/gather-fields.js"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,iCAAiC;AACjC,wDAAwD;AACxD,mEAAmE;;;;;AAEnE,iFAAsD;AAEtD;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,kBAAe,CAAC,EACd,QAAQ,EACR,MAAM,GAAG,EAAE,GACZ,EAAE,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,0EAA0E;QAC1E,qEAAqE;QACrE,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,2BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEtF,4CAA4C;QAC5C,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gBACxE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF;QACD,oDAAoD;QAEpD,uEAAuE;QACvE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC/D,2BAAc,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEhE,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"gather-fields.js","sourceRoot":"","sources":["../../src/middleware/gather-fields.js"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,iCAAiC;AACjC,wDAAwD;AACxD,mEAAmE;;;;;AAEnE,iFAAsD;AACtD,sDAA2D;AAE3D;;;GAGG;AAEH;;;;;;;;;;GAUG;AACH,kBAAe,CAAC,EACd,QAAQ,EACR,MAAM,GAAG,EAAE,GACZ,EAAE,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,0EAA0E;QAC1E,qEAAqE;QACrE,GAAG,CAAC,IAAI,CAAC,sBAAsB,GAAG,2BAAc,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAEtF,4CAA4C;QAC5C,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE;gBACxE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF;QACD,oDAAoD;QAEpD,wEAAwE;QACxE,2EAA2E;QAC3E,0EAA0E;QAC1E,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QAC/D,2BAAc,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;YAC9D,QAAQ,EAAE;gBACR,gBAAgB,EAAE,mCAAoB;aACvC;SACF,CAAC,CAAC;QAEH,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAC"}
@@ -10,9 +10,14 @@ const Plan_js_1 = __importDefault(require("../lib/Plan.js"));
10
10
  const JourneyContext_js_1 = __importDefault(require("../lib/JourneyContext.js"));
11
11
  const waypoint_url_js_1 = __importDefault(require("../lib/waypoint-url.js"));
12
12
  const logger_js_1 = __importDefault(require("../lib/logger.js"));
13
+ const constants_js_1 = require("../lib/constants.js");
13
14
  const log = (0, logger_js_1.default)('middleware:progress-journey');
14
15
  const saveAndRedirect = (session, journeyContext, url, res, next) => {
15
- JourneyContext_js_1.default.putContext(session, journeyContext);
16
+ JourneyContext_js_1.default.putContext(session, journeyContext, {
17
+ userInfo: {
18
+ casaRequestPhase: constants_js_1.REQUEST_PHASE_REDIRECT,
19
+ },
20
+ });
16
21
  session.save((err) => {
17
22
  if (err) {
18
23
  next(err);
@@ -63,7 +68,6 @@ exports.default = ({ waypoint, plan, }) => [
63
68
  if (Plan_js_1.default.isExitNode(nextWaypoint)) {
64
69
  log.trace(`Next waypoint is an exit node; clearing validation state on ${nextWaypoint}`);
65
70
  req.casa.journeyContext.clearValidationErrorsForPage(nextWaypoint);
66
- JourneyContext_js_1.default.putContext(req.session, req.casa.journeyContext);
67
71
  }
68
72
  // Construct the next url
69
73
  const nextUrl = (0, waypoint_url_js_1.default)({
@@ -1 +1 @@
1
- {"version":3,"file":"progress-journey.js","sourceRoot":"","sources":["../../src/middleware/progress-journey.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progress-journey.js","sourceRoot":"","sources":["../../src/middleware/progress-journey.js"],"names":[],"mappings":"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"}
@@ -59,6 +59,7 @@ exports.default = ({ waypoint, plan, }) => [
59
59
  });
60
60
  res.locals.casa.journeyPreviousUrl = prevRoute.target ? (0, waypoint_url_js_1.default)({
61
61
  mountUrl,
62
+ journeyContext: req.casa.journeyContext,
62
63
  waypoint: prevRoute.target,
63
64
  routeName: 'prev',
64
65
  edit: req.casa.editMode,
@@ -1 +1 @@
1
- {"version":3,"file":"steer-journey.js","sourceRoot":"","sources":["../../src/middleware/steer-journey.js"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+BAA+B;;;;;AAE/B,6EAAiD;AACjD,iEAAsC;AAEtC,MAAM,GAAG,GAAG,IAAA,mBAAM,EAAC,0BAA0B,CAAC,CAAC;AAE/C;;;GAGG;AAEH;;;;;;;;GAQG;AACH,kBAAe,CAAC,EACd,QAAQ,EACR,IAAI,GACL,EAAE,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC;QAEnC,yEAAyE;QACzE,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACtC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,KAAK,CAAC,wBAAwB,QAAQ,8CAA8C,UAAU,GAAG,CAAC,CAAC;YAEvG,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAA,yBAAW,EAAC;gBACnC,QAAQ,EAAE,UAAU;gBACpB,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;gBACvC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;aAChC,CAAC,CAAC,CAAC;SACL;QAED,YAAY;QACZ,kEAAkE;QAClE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAE5F,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,EAAE;gBAC3C,GAAG,CAAC,KAAK,CAAC,qDAAqD,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACvF,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;aACjC;SACF;QAED,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,gEAAgE;QAEhE,oCAAoC;QACpC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;YACnE,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,wBAAwB;SACtD,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC;YAClE,QAAQ;YACR,QAAQ,EAAE,SAAS,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;SAChC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEf,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"steer-journey.js","sourceRoot":"","sources":["../../src/middleware/steer-journey.js"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,+BAA+B;;;;;AAE/B,6EAAiD;AACjD,iEAAsC;AAEtC,MAAM,GAAG,GAAG,IAAA,mBAAM,EAAC,0BAA0B,CAAC,CAAC;AAE/C;;;GAGG;AAEH;;;;;;;;GAQG;AACH,kBAAe,CAAC,EACd,QAAQ,EACR,IAAI,GACL,EAAE,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC;QAEnC,yEAAyE;QACzE,2CAA2C;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACtC,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,KAAK,CAAC,wBAAwB,QAAQ,8CAA8C,UAAU,GAAG,CAAC,CAAC;YAEvG,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAA,yBAAW,EAAC;gBACnC,QAAQ,EAAE,UAAU;gBACpB,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;gBACvC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;aAChC,CAAC,CAAC,CAAC;SACL;QAED,YAAY;QACZ,kEAAkE;QAClE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrB,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAE5F,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,eAAe,EAAE;gBAC3C,GAAG,CAAC,KAAK,CAAC,qDAAqD,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBACvF,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;aACjC;SACF;QAED,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,gEAAgE;QAEhE,oCAAoC;QACpC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE;YACnE,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,wBAAwB;SACtD,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC;YAClE,QAAQ;YACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;YACvC,QAAQ,EAAE,SAAS,CAAC,MAAM;YAC1B,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;SAChC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEf,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  // Validate the data captured in the journey context
7
7
  const JourneyContext_js_1 = __importDefault(require("../lib/JourneyContext.js"));
8
+ const constants_js_1 = require("../lib/constants.js");
8
9
  const updateContext = ({ waypoint, errors = null, journeyContext, session, }) => {
9
10
  // Set validation state
10
11
  if (errors === null) {
@@ -14,7 +15,11 @@ const updateContext = ({ waypoint, errors = null, journeyContext, session, }) =>
14
15
  journeyContext.setValidationErrorsForPage(waypoint, errors);
15
16
  }
16
17
  // Save to session
17
- JourneyContext_js_1.default.putContext(session, journeyContext);
18
+ JourneyContext_js_1.default.putContext(session, journeyContext, {
19
+ userInfo: {
20
+ casaRequestPhase: constants_js_1.REQUEST_PHASE_VALIDATE,
21
+ },
22
+ });
18
23
  };
19
24
  exports.default = ({ waypoint, fields = [], plan, }) => [
20
25
  (req, res, next) => {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-fields.js","sourceRoot":"","sources":["../../src/middleware/validate-fields.js"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,iFAAsD;AAEtD,MAAM,aAAa,GAAG,CAAC,EACrB,QAAQ,EACR,MAAM,GAAG,IAAI,EACb,cAAc,EACd,OAAO,GACR,EAAE,EAAE;IACH,uBAAuB;IACvB,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,cAAc,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;KACvD;SAAM;QACL,cAAc,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC7D;IAED,kBAAkB;IAClB,2BAAc,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAA;AAED,kBAAe,CAAC,EACd,QAAQ,EACR,MAAM,GAAG,EAAE,EACX,IAAI,GACL,EAAE,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;QACjB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC;QAEnC,uEAAuE;QACvE,2CAA2C;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,qDAAqD;YACrD,yEAAyE;YACzE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,0CAAG,QAAQ,CAAC,0CAAG,SAAS,CAAC,CAAC;YAEzE,2BAA2B;YAC3B,MAAM,OAAO,GAAG;gBACd,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;aACxC,CAAC;YACF,oDAAoD;YAEpD,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;aAC5C,CAAC;SACH;QAED,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,aAAa,CAAC;gBACZ,QAAQ;gBACR,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ;gBACR,IAAI;gBACJ,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;aACxC,CAAC,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;SACf;QAED,0EAA0E;QAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1B;QAED,qDAAqD;QACrD,aAAa,CAAC;YACZ,MAAM;YACN,QAAQ;YACR,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ;YACR,IAAI;YACJ,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;SACxC,CAAC,CAAC;QAEH,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"validate-fields.js","sourceRoot":"","sources":["../../src/middleware/validate-fields.js"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,iFAAsD;AACtD,sDAA6D;AAE7D,MAAM,aAAa,GAAG,CAAC,EACrB,QAAQ,EACR,MAAM,GAAG,IAAI,EACb,cAAc,EACd,OAAO,GACR,EAAE,EAAE;IACH,uBAAuB;IACvB,IAAI,MAAM,KAAK,IAAI,EAAE;QACnB,cAAc,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC;KACvD;SAAM;QACL,cAAc,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC7D;IAED,kBAAkB;IAClB,2BAAc,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,EAAE;QACjD,QAAQ,EAAE;YACR,gBAAgB,EAAE,qCAAsB;SACzC;KACF,CAAC,CAAC;AACL,CAAC,CAAA;AAED,kBAAe,CAAC,EACd,QAAQ,EACR,MAAM,GAAG,EAAE,EACX,IAAI,GACL,EAAE,EAAE,CAAC;IACJ,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;;QACjB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC;QAEnC,uEAAuE;QACvE,2CAA2C;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,qDAAqD;YACrD,yEAAyE;YACzE,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,0CAAG,QAAQ,CAAC,0CAAG,SAAS,CAAC,CAAC;YAEzE,2BAA2B;YAC3B,MAAM,OAAO,GAAG;gBACd,SAAS;gBACT,UAAU;gBACV,QAAQ;gBACR,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;aACxC,CAAC;YACF,oDAAoD;YAEpD,MAAM,GAAG;gBACP,GAAG,MAAM;gBACT,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC;aAC5C,CAAC;SACH;QAED,mCAAmC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAClB,aAAa,CAAC;gBACZ,QAAQ;gBACR,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,QAAQ;gBACR,IAAI;gBACJ,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;aACxC,CAAC,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;SACf;QAED,0EAA0E;QAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC;QAC3D,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1B;QAED,qDAAqD;QACrD,aAAa,CAAC;YACZ,MAAM;YACN,QAAQ;YACR,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,QAAQ;YACR,IAAI;YACJ,cAAc,EAAE,GAAG,CAAC,IAAI,CAAC,cAAc;SACxC,CAAC,CAAC;QAEH,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;CACF,CAAC"}
@@ -9,6 +9,7 @@ export const { Plan } = casa;
9
9
  export const { ValidationError } = casa;
10
10
  export const { ValidatorFactory } = casa;
11
11
  export const { configure } = casa;
12
+ export const { constants } = casa;
12
13
  export const { endSession } = casa;
13
14
  export const { field } = casa;
14
15
  export const { nunjucksFilters } = casa;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwp/govuk-casa",
3
- "version": "8.8.0",
3
+ "version": "8.9.0",
4
4
  "description": "A framework for building GOVUK Collect-And-Submit-Applications",
5
5
  "repository": {
6
6
  "type": "git",
@@ -62,7 +62,7 @@
62
62
  "js-yaml": "4.1.0",
63
63
  "lodash": "4.17.21",
64
64
  "luxon": "3.3.0",
65
- "nunjucks": "3.2.3",
65
+ "nunjucks": "3.2.4",
66
66
  "path-to-regexp": "6.2.1",
67
67
  "uuid": "9.0.0",
68
68
  "validator": "13.9.0"
@@ -71,7 +71,7 @@
71
71
  "@babel/core": "7.21.4",
72
72
  "@babel/eslint-parser": "7.21.3",
73
73
  "@babel/preset-env": "7.21.4",
74
- "@ckeditor/jsdoc-plugins": "36.0.0",
74
+ "@ckeditor/jsdoc-plugins": "37.0.1",
75
75
  "@commitlint/config-conventional": "17.4.4",
76
76
  "@dwp/casa-spiderplan": "2.5.4",
77
77
  "@dwp/casa-spiderplan-a11y-plugin": "0.1.10",
package/src/casa.js CHANGED
@@ -10,6 +10,7 @@ import MutableRouter from './lib/MutableRouter.js';
10
10
  import waypointUrl from './lib/waypoint-url.js';
11
11
  import endSession from './lib/end-session.js';
12
12
  import * as nunjucksFilters from './lib/nunjucks-filters.js';
13
+ import * as constants from './lib/constants.js';
13
14
 
14
15
  /** @module @dwp/govuk-casa */
15
16
  export {
@@ -28,6 +29,9 @@ export {
28
29
 
29
30
  // Nunjucks filters
30
31
  nunjucksFilters,
32
+
33
+ // Constants
34
+ constants,
31
35
  };
32
36
 
33
37
  /* ----------------------------------------------------------------- Typedefs */
@@ -42,6 +46,7 @@ export {
42
46
  * @property {JourneyContext} journeyContext Context including changes
43
47
  * @property {JourneyContext} previousContext Context prior to changes
44
48
  * @property {object} session Request session object
49
+ * @property {ContextEventUserInfo} userInfo User-space information pass-through
45
50
  */
46
51
 
47
52
  /**
@@ -50,6 +55,11 @@ export {
50
55
  * @returns {void}
51
56
  */
52
57
 
58
+ /**
59
+ * @typedef {object} ContextEventUserInfo
60
+ * @property {symbol} [casaRequestPhase] Request phase at which event is triggered
61
+ */
62
+
53
63
  /**
54
64
  * @typedef {object} ContextEvent
55
65
  * @property {string} waypoint Waypoint to watch for changes
@@ -358,7 +358,7 @@ export default class JourneyContext {
358
358
  purge(waypoints = []) {
359
359
  const newData = Object.create(null);
360
360
  const newValidation = Object.create(null);
361
- const toKeep = Object.keys(this.data).filter((w) => !waypoints.includes(w));
361
+ const toKeep = Object.keys(this.#data).filter((w) => !waypoints.includes(w));
362
362
 
363
363
  // ESLint disabled as `i` is an integer
364
364
  /* eslint-disable security/detect-object-injection */
@@ -367,7 +367,6 @@ export default class JourneyContext {
367
367
  newValidation[toKeep[i]] = this.#validation[toKeep[i]];
368
368
  }
369
369
  /* eslint-enable security/detect-object-injection */
370
-
371
370
  this.#data = { ...newData };
372
371
  this.#validation = { ...newValidation };
373
372
  }
@@ -408,12 +407,16 @@ export default class JourneyContext {
408
407
  /**
409
408
  * Execute all listeners for the given event.
410
409
  *
410
+ * The `userInfo` parameter is simply passed straight through to the event
411
+ * listeners.
412
+ *
411
413
  * @param {object} params Params
412
414
  * @param {string} params.event Event (waypoint-change | context-change)
413
415
  * @param {object} params.session Session
416
+ * @param {ContextEventUserInfo|object} [params.userInfo] Pass-through info
414
417
  * @returns {JourneyContext} Chain
415
418
  */
416
- applyEventListeners({ event, session }) {
419
+ applyEventListeners({ event, session, userInfo }) {
417
420
  if (!this.#eventListeners.length) {
418
421
  return this;
419
422
  }
@@ -450,7 +453,12 @@ export default class JourneyContext {
450
453
 
451
454
  if (runHandler) {
452
455
  log.trace(logMessage);
453
- handler({ journeyContext: this, previousContext, session });
456
+ handler({
457
+ journeyContext: this,
458
+ previousContext,
459
+ session,
460
+ userInfo,
461
+ });
454
462
  }
455
463
  }
456
464
  /* eslint-enable security/detect-object-injection */
@@ -641,10 +649,12 @@ export default class JourneyContext {
641
649
  *
642
650
  * @param {object} session Request session
643
651
  * @param {JourneyContext} context Context
652
+ * @param {object} options Options
653
+ * @param {ContextEventUserInfo|object} [options.userInfo] Pass-through event info
644
654
  * @returns {void}
645
655
  * @throws {TypeError} When session is not a valid type, or context has no ID
646
656
  */
647
- static putContext(session, context) {
657
+ static putContext(session, context, options = {}) {
648
658
  if (!isObject(session)) {
649
659
  throw new TypeError('Session must be an object');
650
660
  } else if (!(context instanceof JourneyContext)) {
@@ -659,14 +669,18 @@ export default class JourneyContext {
659
669
  }
660
670
 
661
671
  // Apply context events
672
+ const { userInfo = undefined } = options;
673
+
662
674
  context.applyEventListeners({
663
675
  event: 'waypoint-change',
664
676
  session,
677
+ userInfo,
665
678
  });
666
679
 
667
680
  context.applyEventListeners({
668
681
  event: 'context-change',
669
682
  session,
683
+ userInfo,
670
684
  });
671
685
 
672
686
  const list = new Map(session.journeyContextList);
package/src/lib/Plan.js CHANGED
@@ -24,11 +24,6 @@ const log = logger('lib:plan');
24
24
  * @typedef {import('../casa').PlanArbiter} PlanArbiter
25
25
  */
26
26
 
27
- /**
28
- * @access private
29
- * @typedef {import('@dagrejs/graphlib').Graph} Graph
30
- */
31
-
32
27
  /**
33
28
  * @typedef {object} PlanConstructorOptions
34
29
  * @property {boolean} [validateBeforeRouteCondition=true] Check page validity before conditions
@@ -567,7 +562,7 @@ export default class Plan {
567
562
  target = arbiter({
568
563
  targets: target.map((t) => makeRouteObject(self.dgraph, t)),
569
564
  journeyContext: context,
570
- traverseOptions: options,
565
+ travereOptions: options,
571
566
  });
572
567
  target = target.map((r) => ({ v: r.source, w: r.target, name: r.name }));
573
568
  } else {
@@ -0,0 +1,9 @@
1
+ /**
2
+ * General-purpose references to the different request lifecycle phases.
3
+ */
4
+ export const REQUEST_PHASE_STEER = Symbol('steer');
5
+ export const REQUEST_PHASE_SANITISE = Symbol('sanitise');
6
+ export const REQUEST_PHASE_GATHER = Symbol('gather');
7
+ export const REQUEST_PHASE_VALIDATE = Symbol('validate');
8
+ export const REQUEST_PHASE_REDIRECT = Symbol('redirect');
9
+ export const REQUEST_PHASE_RENDER = Symbol('render');
@@ -15,6 +15,34 @@ const reUrlProtocolExtract = /^url:\/\/(.+)$/i
15
15
  */
16
16
  const sanitiseWaypoint = (w) => w.replace(/[^/a-z0-9_-]/ig, '').replace(/\/+/g, '/');
17
17
 
18
+ /**
19
+ * Sanitise a waypoint string, with allowed URL parameters:
20
+ * contextid = JourneyContext ID
21
+ *
22
+ * @access private
23
+ * @param {string} w Waypoint and potential URL parameters
24
+ * @returns {string} Sanitised waypoint
25
+ */
26
+ const sanitiseWaypointWithAllowedParams = (w) => {
27
+ // Extract URL params
28
+ const parts = w.split('?');
29
+ if (parts.length !== 2) {
30
+ return sanitiseWaypoint(w);
31
+ }
32
+ const [waypoint, rawParams] = parts;
33
+ const urlSearchParams = new URLSearchParams(rawParams);
34
+
35
+ // Strip all but those parameters allowed
36
+ const validatedUrlSearchParams = new URLSearchParams();
37
+ for (const pk of ['contextid']) {
38
+ if (urlSearchParams.has(pk)) {
39
+ validatedUrlSearchParams.set(pk, urlSearchParams.get(pk));
40
+ }
41
+ }
42
+
43
+ return `${sanitiseWaypoint(waypoint)}?${validatedUrlSearchParams.toString()}`.replace(/\?$/, '');
44
+ }
45
+
18
46
  /**
19
47
  * Generate a URL pointing at a particular waypoint.
20
48
  *
@@ -53,13 +81,18 @@ export default function waypointUrl({
53
81
  if (String(waypoint).substr(0, 7) === 'url:///') {
54
82
  const m = waypoint.match(reUrlProtocolExtract);
55
83
 
56
- const u = new URL(m[1], 'https://placeholder.test/');
84
+ const u = new URL(sanitiseWaypointWithAllowedParams(m[1]), 'https://placeholder.test/');
57
85
  url.pathname = `${sanitiseWaypoint(u.pathname)}/_/`;
58
86
 
59
- url.searchParams.append('refmount', `url://${mountUrl}`);
60
- url.searchParams.append('route', routeName);
87
+ url.searchParams.set('refmount', `url://${mountUrl}`);
88
+ url.searchParams.set('route', routeName);
89
+ for (const [uk, uv] of u.searchParams.entries()) {
90
+ url.searchParams.append(uk, uv);
91
+ }
61
92
  } else {
62
- url.pathname = `${mountUrl}${waypoint}`;
93
+ const u = new URL(sanitiseWaypointWithAllowedParams(`${mountUrl}${waypoint}`), 'https://placeholder.test/');
94
+ url.pathname = u.pathname;
95
+ url.search = u.search;
63
96
  }
64
97
 
65
98
  // Attach context ID as query parameter for non-default contexts.
@@ -70,23 +103,23 @@ export default function waypointUrl({
70
103
  journeyContext
71
104
  && !journeyContext.isDefault()
72
105
  && journeyContext.identity.id
73
- && !mountUrl.includes(journeyContext.identity.id)
106
+ && !mountUrl.includes(`/${journeyContext.identity.id}/`)
74
107
  ) {
75
- url.searchParams.append('contextid', journeyContext.identity.id);
108
+ url.searchParams.set('contextid', journeyContext.identity.id);
76
109
  }
77
110
 
78
111
  // Attach edit mode flag
79
112
  if (edit === true) {
80
- url.searchParams.append('edit', 'true');
113
+ url.searchParams.set('edit', 'true');
81
114
  }
82
115
 
83
116
  if (edit && editOrigin) {
84
- url.searchParams.append('editorigin', sanitiseWaypoint(editOrigin));
117
+ url.searchParams.set('editorigin', sanitiseWaypointWithAllowedParams(editOrigin));
85
118
  }
86
119
 
87
120
  // Skipto
88
121
  if (skipTo) {
89
- url.searchParams.append('skipto', sanitiseWaypoint(skipTo));
122
+ url.searchParams.set('skipto', sanitiseWaypointWithAllowedParams(skipTo));
90
123
  }
91
124
 
92
125
  return `${sanitiseWaypoint(url.pathname)}${url.search}`;
@@ -4,6 +4,7 @@
4
4
  // - Remove validation date of JourneyContext so it can re-evaluted
5
5
 
6
6
  import JourneyContext from '../lib/JourneyContext.js';
7
+ import { REQUEST_PHASE_GATHER } from '../lib/constants.js';
7
8
 
8
9
  /**
9
10
  * @access private
@@ -41,10 +42,16 @@ export default ({
41
42
  }
42
43
  /* eslint-enable security/detect-object-injection */
43
44
 
44
- // Update data and validation context in the current request, and store
45
+ // Update data and validation context in the current request, and store.
46
+ // The validation state is removed here because we must assume the gathered
47
+ // data is invalid until proven otherwise when the validation step is run.
45
48
  req.casa.journeyContext.setDataForPage(waypoint, persistentBody);
46
49
  req.casa.journeyContext.removeValidationStateForPage(waypoint);
47
- JourneyContext.putContext(req.session, req.casa.journeyContext);
50
+ JourneyContext.putContext(req.session, req.casa.journeyContext, {
51
+ userInfo: {
52
+ casaRequestPhase: REQUEST_PHASE_GATHER,
53
+ },
54
+ });
48
55
 
49
56
  next();
50
57
  },
@@ -6,11 +6,16 @@ import Plan from '../lib/Plan.js';
6
6
  import JourneyContext from '../lib/JourneyContext.js';
7
7
  import waypointUrl from '../lib/waypoint-url.js';
8
8
  import logger from '../lib/logger.js';
9
+ import { REQUEST_PHASE_REDIRECT } from '../lib/constants.js';
9
10
 
10
11
  const log = logger('middleware:progress-journey');
11
12
 
12
13
  const saveAndRedirect = (session, journeyContext, url, res, next) => {
13
- JourneyContext.putContext(session, journeyContext);
14
+ JourneyContext.putContext(session, journeyContext, {
15
+ userInfo: {
16
+ casaRequestPhase: REQUEST_PHASE_REDIRECT,
17
+ },
18
+ });
14
19
 
15
20
  session.save((err) => {
16
21
  if (err) {
@@ -73,7 +78,6 @@ export default ({
73
78
  if (Plan.isExitNode(nextWaypoint)) {
74
79
  log.trace(`Next waypoint is an exit node; clearing validation state on ${nextWaypoint}`);
75
80
  req.casa.journeyContext.clearValidationErrorsForPage(nextWaypoint);
76
- JourneyContext.putContext(req.session, req.casa.journeyContext);
77
81
  }
78
82
 
79
83
  // Construct the next url
@@ -67,6 +67,7 @@ export default ({
67
67
  });
68
68
  res.locals.casa.journeyPreviousUrl = prevRoute.target ? waypointUrl({
69
69
  mountUrl,
70
+ journeyContext: req.casa.journeyContext,
70
71
  waypoint: prevRoute.target,
71
72
  routeName: 'prev',
72
73
  edit: req.casa.editMode,
@@ -1,5 +1,6 @@
1
1
  // Validate the data captured in the journey context
2
2
  import JourneyContext from '../lib/JourneyContext.js';
3
+ import { REQUEST_PHASE_VALIDATE } from '../lib/constants.js';
3
4
 
4
5
  const updateContext = ({
5
6
  waypoint,
@@ -15,7 +16,11 @@ const updateContext = ({
15
16
  }
16
17
 
17
18
  // Save to session
18
- JourneyContext.putContext(session, journeyContext);
19
+ JourneyContext.putContext(session, journeyContext, {
20
+ userInfo: {
21
+ casaRequestPhase: REQUEST_PHASE_VALIDATE,
22
+ },
23
+ });
19
24
  }
20
25
 
21
26
  export default ({