Documentation: middleware / baseContext
Purpose:
Builds base rendering context including authentication status and admin login URL.
Lifecycle Role:
Runs after auth middleware, before route handlers; prepares data for views.
Dependencies:
Upstream:
- authCheck
-
utilities: getBaseContext, generateToken, qualifyLink
Downstream:
- route handlers and views using renderWithBaseContext or renderGenericMessage
Data Flow:
Inputs:
- req.isAuthenticated
- request URL for links
Outputs:
- Sets res.locals.baseContext
- Extends res with custom render methods
Side Effects:
Prepares common template context for downstream rendering
Performance and Scalability:
Bottlenecks:
- Potential token generation failure
- Possible async failure in getBaseContext
Concurrency:
None
Security and Stability:
Validation:
Secure token generation required
Vulnerabilities:
- Risk of leaking sensitive info in base context
Architecture Assessment:
Coupling:
Depends on authCheck and utility functions
Abstraction:
Centralized context builder for views
Recommendations:
- Validate cryptographic strength of token generator
- Cache static parts of base context to reduce async overhead