Middleware configuration.
apps/backend/src/common/middleware/domain-resolver.middleware.tsapps/backend/src/common/interceptors/request-context.interceptor.tsapps/backend/src/common/context/request-context.service.tsapps/backend/src/app.module.tsDomainResolverMiddleware is not a generic all-route tenancy resolver. It currently runs only for ecommerce-style requests and exits early unless req.originalUrl contains /ecommerce/.
It resolves store context in this order:
x-store-id header or store_id query param.PublicDomainsService.resolveDomain(hostname).cache-manager.The middleware writes:
req['domain_context'] = { store_id, organization_id? }
It does not write req.store_id / req.organization_id / req.domain_type directly.
RequestContextService is AsyncLocalStorage-based, not request-scoped DI over REQUEST.
RequestContextInterceptor merges auth user data and req['domain_context'].x-request-id into the request context.RequestContextService.asyncLocalStorage.run(contextObj, ...).getStoreId(), getUserId(), getRequestId(), isSuperAdmin().RequestContextService; use the real ALS/static API.vendix-multi-tenant-contextvendix-prisma-scopesvendix-backend-domain