refactor(web-next): aggregator builds BindContext once
This commit is contained in:
@@ -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<void> {
|
||||
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<IEventBus, IRealtimeBroadcaster, IRealtimeHandlerRegistry> = {
|
||||
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<void> {
|
||||
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<IEventBus, IRealtimeBroadcaster, IRealtimeHandlerRegistry> = {
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user