diff --git a/.changeset/silver-tires-fold.md b/.changeset/silver-tires-fold.md new file mode 100644 index 0000000000..96a5a22397 --- /dev/null +++ b/.changeset/silver-tires-fold.md @@ -0,0 +1,6 @@ +--- +"@prosopo/provider": patch +--- + +Adding maintenance mode check at start of domain middleware + \ No newline at end of file diff --git a/packages/provider/src/api/domainMiddleware.ts b/packages/provider/src/api/domainMiddleware.ts index 67df9575e9..b33409f738 100644 --- a/packages/provider/src/api/domainMiddleware.ts +++ b/packages/provider/src/api/domainMiddleware.ts @@ -20,12 +20,22 @@ import type { NextFunction, Request, Response } from "express"; import type { TFunction } from "i18next"; import { ZodError } from "zod"; import { Tasks } from "../tasks/index.js"; +import { getMaintenanceMode } from "./admin/apiToggleMaintenanceModeEndpoint.js"; export const domainMiddleware = (env: ProviderEnvironment) => { const tasks = new Tasks(env); return async (req: Request, res: Response, next: NextFunction) => { try { + // If maintenance mode is active, skip domain validation + if (getMaintenanceMode()) { + req.logger.info(() => ({ + msg: "Maintenance mode active - skipping domain validation", + })); + next(); + return; + } + const siteKey = req.headers["prosopo-site-key"] as string; if (!siteKey) throw siteKeyNotRegisteredError(