Global

Members

(constant) errorMiddleware

Defines the errorMiddleware function

Reads the process.env to determine if environment is development or not. If not development, stack traces will not be shown.

Source:

(constant) formFeedback :express.RequestHandler

Makes saved validation feedback available to EJS views.

Always sets defaults on res.locals so views can use them safely. On a GET request whose URL matches feedback saved by rejectInvalidForm, the saved errors, values and action are exposed instead, then removed from the session so they only show once.

Sets these res.locals properties:

  • formErrors: messages keyed by field name.
  • formValues: submitted values to refill fields with.
  • hasFormFeedback: whether feedback is being shown.
  • formDestination: current URL including the query string, used as the form action.
  • formAction: action that was submitted ("create", "update" or "delete").
Type:
  • express.RequestHandler
Source:

(constant) formValidation

Validation middleware for each form, keyed by the name used in tests.

Source:

(constant) runFormValidation

Runs a form's validation middleware in order without starting Express. Fills in originalUrl and a session stub when the request does not have them.

Source:

(constant) sanitiser

Creates middleware that cleans, warns about, or rejects unsafe request body values.

Source:

Methods

(async) AuthenticationController.()

Automatically stores the respective EmployeeModel into req.authenticatedUsed if there is an active session containing an userId

Source:

bookingPageUrl(req, optionsopt) → {string}

Builds the bookings management URL while preserving the active filters.

Parameters:
Name Type Attributes Description
req express.Request

Current request.

options Object <optional>

Result flags.

Source:
Returns:

Bookings page URL.

Type
string

idempotencyMiddleware(optionsopt) → {express.RequestHandler}

Create middleware that rejects duplicate requests with an idempotency key.

Parameters:
Name Type Attributes Description
options object <optional>

Middleware configuration overrides.

Properties
Name Type Attributes Default Description
headerName string <optional>
"Idempotency-Key"

Header containing the idempotency key.

requiredForMethods Array.<string> <optional>
["POST"]

HTTP methods that require idempotency keys.

ttlMs number <optional>
86400000

How long stored responses remain valid, in milliseconds.

cleanupIntervalM number <optional>
60

Interval between cleanup runs, in minutes.

Source:
Returns:

Configured Express middleware.

Type
express.RequestHandler

normalizeSessionTime(value) → {unknown|string}

Converts a session time from an HTML time input or 12-hour input to MySQL format.

Parameters:
Name Type Description
value unknown

Session time value.

Source:
Returns:

Normalized time or the original value when it is not parseable.

Type
unknown | string

sessionSortValue(session, users, activities, locations, sortBy) → {string|number}

Gets the value used to sort a session by the selected column.

Parameters:
Name Type Description
session object

Session record.

users Array.<object>

User records.

activities Array.<object>

Activity records.

locations Array.<object>

Location records.

sortBy string

Sort column.

Source:
Returns:

Comparable sort value.

Type
string | number

sortSessions(sessions, users, activities, locations, sortBy, sortDir) → {Array.<object>}

Sorts sessions by a supported column and direction.

Parameters:
Name Type Description
sessions Array.<object>

Session records.

users Array.<object>

User records.

activities Array.<object>

Activity records.

locations Array.<object>

Location records.

sortBy string

Sort column.

sortDir "asc" | "desc"

Sort direction.

Source:
Returns:

Sorted session records.

Type
Array.<object>