AbstractAbstractLabelHuman-readable label for logging (e.g., 'mj:tenantFilter', 'bcsaas').
OptionalConfigureOptional escape hatch for advanced Express app configuration. Called once during server setup with the Express app instance. Use for: trust proxy settings, custom CORS, body parser config. Return undefined to skip (default).
Additional Apollo Server plugins merged with built-in plugins. Use for: query tracing, caching, custom error formatting.
Express middleware that runs AFTER authentication has resolved UserInfo. The authenticated user payload is available at req.userPayload. Use for: tenant context resolution, org membership loading.
Express middleware/error handlers applied AFTER all routes. Use for: catch-all error handlers, response logging.
Express middleware applied BEFORE authentication. Runs after compression but before OAuth/REST/GraphQL routes. Use for: rate limiting, request logging, custom headers.
Additional TypeGraphQL resolver glob paths to include in the Apollo schema. serve() collects these from all active middleware and adds them to the resolvers array passed to buildSchema().
Return absolute glob paths (use path.join(__dirname, ...) or equivalent).
Use for: Open App resolvers, domain-specific GraphQL queries/mutations that live outside MJServer's built-in resolver set.
Schema transformers applied after built-in directive transformers. Use for: custom directives, schema stitching, field-level auth.
Optional async initialization (read config, warm caches, etc.). Called by serve() after instantiation, before middleware/hooks are extracted.
Hook that runs after a RunView operation completes. Can modify the result (e.g., filtering or augmenting data) before it is returned to the caller.
Hook that runs before a RunView operation. Can modify the RunViewParams (e.g., injecting tenant filters) before execution.
Hook that runs before a Save operation on a BaseEntity. Return true to allow, false to reject silently, or a string to reject with that error message.
Whether this middleware is active. Override to check config, env vars, etc. Disabled middleware classes are never instantiated or activated by serve(). Default: true.