refactor(web-next): aggregator builds BindContext once
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
|||||||
type ITracer,
|
type ITracer,
|
||||||
type ILogger,
|
type ILogger,
|
||||||
} from "@repo/core-shared/instrumentation";
|
} from "@repo/core-shared/instrumentation";
|
||||||
|
import type { BindProductionContext, BindContext } from "@repo/core-shared/di";
|
||||||
import {
|
import {
|
||||||
InMemoryEventBus,
|
InMemoryEventBus,
|
||||||
PayloadJobsEventBus,
|
PayloadJobsEventBus,
|
||||||
@@ -118,11 +119,22 @@ export async function bindAllProduction(deps: BindAllDeps): Promise<void> {
|
|||||||
const { bus, queue } = await resolveEventsAndJobsProduction();
|
const { bus, queue } = await resolveEventsAndJobsProduction();
|
||||||
const resolvedConfig = await config;
|
const resolvedConfig = await config;
|
||||||
const { realtime, realtimeRegistry } = deps;
|
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
|
const ctx: BindProductionContext<IEventBus, IRealtimeBroadcaster, IRealtimeHandlerRegistry> = {
|
||||||
bindProductionMarketingPages(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20
|
config: resolvedConfig,
|
||||||
bindProductionNavigation(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21
|
tracer,
|
||||||
bindProductionMedia(resolvedConfig, tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22
|
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);
|
maybeRegisterRealtimePing(realtimeRegistry, realtime, tracer, logger);
|
||||||
bindRealtimeBridge(bus, realtime);
|
bindRealtimeBridge(bus, realtime);
|
||||||
}
|
}
|
||||||
@@ -138,11 +150,21 @@ export async function bindAllDevSeed(deps: BindAllDeps): Promise<void> {
|
|||||||
const { tracer, logger } = resolveInstrumentation(); // Rule 0
|
const { tracer, logger } = resolveInstrumentation(); // Rule 0
|
||||||
const { bus, queue } = resolveEventsAndJobsDevSeed();
|
const { bus, queue } = resolveEventsAndJobsDevSeed();
|
||||||
const { realtime, realtimeRegistry } = deps;
|
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
|
const ctx: BindContext<IEventBus, IRealtimeBroadcaster, IRealtimeHandlerRegistry> = {
|
||||||
await bindDevSeedMarketingPages(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 20
|
tracer,
|
||||||
await bindDevSeedNavigation(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 21
|
logger,
|
||||||
await bindDevSeedMedia(tracer, logger, bus, queue, realtime, realtimeRegistry); // Phase E task 22
|
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);
|
maybeRegisterRealtimePing(realtimeRegistry, realtime, tracer, logger);
|
||||||
bindRealtimeBridge(bus, realtime);
|
bindRealtimeBridge(bus, realtime);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user