diff --git a/apps/web-next/src/server/bind-production.ts b/apps/web-next/src/server/bind-production.ts index 3368fdf..cbed44f 100644 --- a/apps/web-next/src/server/bind-production.ts +++ b/apps/web-next/src/server/bind-production.ts @@ -12,6 +12,7 @@ import { type ITracer, type ILogger, } from "@repo/core-shared/instrumentation"; +import type { BindProductionContext, BindContext } from "@repo/core-shared/di"; import { InMemoryEventBus, PayloadJobsEventBus, @@ -118,11 +119,22 @@ export async function bindAllProduction(deps: BindAllDeps): Promise { const { bus, queue } = await resolveEventsAndJobsProduction(); const resolvedConfig = await config; const { realtime, realtimeRegistry } = deps; - bindProductionAuth(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 19 - bindProductionBlog(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 18 - bindProductionMarketingPages(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20 - bindProductionNavigation(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21 - bindProductionMedia(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22 + + const ctx: BindProductionContext = { + config: resolvedConfig, + tracer, + logger, + bus, + queue, + realtime, + realtimeRegistry, + }; + + bindProductionAuth(ctx); // Phase E task 19 + bindProductionBlog(ctx); // Phase E task 18 + bindProductionMarketingPages(ctx); // Phase E task 20 + bindProductionNavigation(ctx); // Phase E task 21 + bindProductionMedia(ctx); // Phase E task 22 maybeRegisterRealtimePing(realtimeRegistry, realtime, tracer, logger); bindRealtimeBridge(bus, realtime); } @@ -138,11 +150,21 @@ export async function bindAllDevSeed(deps: BindAllDeps): Promise { const { tracer, logger } = resolveInstrumentation(); // Rule 0 const { bus, queue } = resolveEventsAndJobsDevSeed(); const { realtime, realtimeRegistry } = deps; - await bindDevSeedAuth(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 19 - await bindDevSeedBlog(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 18 - await bindDevSeedMarketingPages(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20 - await bindDevSeedNavigation(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21 - await bindDevSeedMedia(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22 + + const ctx: BindContext = { + tracer, + logger, + bus, + queue, + realtime, + realtimeRegistry, + }; + + await bindDevSeedAuth(ctx); // Phase E task 19 + await bindDevSeedBlog(ctx); // Phase E task 18 + await bindDevSeedMarketingPages(ctx); // Phase E task 20 + await bindDevSeedNavigation(ctx); // Phase E task 21 + await bindDevSeedMedia(ctx); // Phase E task 22 maybeRegisterRealtimePing(realtimeRegistry, realtime, tracer, logger); bindRealtimeBridge(bus, realtime); }