Skip to content

ManagementExpressRouterOptions

Defined in: management-express/src/types.ts:140

Options for creating an Express router backed by the Monque Management Surface.

This extends the framework-neutral ManagementOptions from @monque/management with Express-specific request context creation and optional adapter-served OpenAPI JSON.

The adapter does not implement authentication itself. Put host authentication middleware before the router, then use context and authorize for action-grained management authorization when needed.

import { createManagementExpressRouter } from '@monque/management-express';
import express from 'express';

const app = express();

app.use(
	'/monque',
	requireOperator,
	createManagementExpressRouter({
		monque,
		context: ({ req }) => ({
			userId: req.get('x-user-id') ?? 'anonymous',
		}),
		authorize: ({ action, context }) => {
			return context.userId !== 'anonymous' || action === 'read';
		},
		openApi: {
			path: '/docs/openapi.json',
			serverUrl: 'https://ops.example.com/monque',
		},
	}),
);
  • ManagementOptions<TContext>
Type ParameterDefault typeDescription
TContextunknownApplication-specific context exposed to management hooks.
optional authorize?: ManagementAuthorize<TContext>;

Defined in: management/dist/index.d.mts:916

Optional authorization hook invoked before reads and mutations.

ManagementOptions.authorize

optional context?: ManagementExpressContextFactory<TContext>;

Defined in: management-express/src/types.ts:148

Optional factory that maps Express request state into Management Surface context.

The returned value is available to management authorize, serializePayload, and serializePayloadByJobName hooks as their context input.


monque: ManagementMonque;

Defined in: management/dist/index.d.mts:912

Scheduler instance or facade backing the management endpoints.

ManagementOptions.monque

optional openApi?: 
  | false
  | ManagementExpressOpenApiOptions;

Defined in: management-express/src/types.ts:157

Adapter-served OpenAPI JSON configuration.

Pass false when the host application serves the generated OpenAPI document itself. Pass an object to customize the router-relative path or OpenAPI server URL.

{ path: '/openapi.json', serverUrl: req.baseUrl }


optional readOnly?: boolean;

Defined in: management/dist/index.d.mts:914

When true, all mutation endpoints return 403 even if the scheduler supports them.

ManagementOptions.readOnly

optional serializePayload?: ManagementPayloadSerializer<TContext>;

Defined in: management/dist/index.d.mts:918

Default payload serializer for returned jobs.

ManagementOptions.serializePayload

optional serializePayloadByJobName?: Record<string, ManagementPayloadSerializer<TContext>>;

Defined in: management/dist/index.d.mts:920

Payload serializers keyed by job name, taking precedence over serializePayload.

ManagementOptions.serializePayloadByJobName