feat(features): extend assertFeatureConformance to bind-dev-seed paths
This commit is contained in:
@@ -6,6 +6,8 @@ import {
|
||||
type ILogger,
|
||||
} from "@repo/core-shared/instrumentation";
|
||||
import type { BindContext } from "@repo/core-shared/di";
|
||||
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||
import { authManifest } from "../feature.manifest.js";
|
||||
import { authContainer } from "./container.js";
|
||||
import { AUTH_SYMBOLS } from "./symbols.js";
|
||||
import { MockUsersRepository } from "../infrastructure/repositories/users.repository.mock.js";
|
||||
@@ -152,4 +154,16 @@ export async function bindDevSeedAuth(ctx: BindContext): Promise<void> {
|
||||
// <gen:event-handlers>
|
||||
// <gen:jobs>
|
||||
// <gen:realtime-handlers>
|
||||
|
||||
// Boot-time conformance check (dev-seed mode).
|
||||
assertFeatureConformance(
|
||||
authContainer,
|
||||
authManifest,
|
||||
{
|
||||
signIn: AUTH_SYMBOLS.ISignInUseCase,
|
||||
signUp: AUTH_SYMBOLS.ISignUpUseCase,
|
||||
signOut: AUTH_SYMBOLS.ISignOutUseCase,
|
||||
},
|
||||
ctx,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
type ILogger,
|
||||
} from "@repo/core-shared/instrumentation";
|
||||
import type { BindContext } from "@repo/core-shared/di";
|
||||
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||
import { blogManifest } from "../feature.manifest.js";
|
||||
import { blogContainer } from "./container.js";
|
||||
import { BLOG_SYMBOLS } from "./symbols.js";
|
||||
import { MockArticlesRepository } from "../infrastructure/repositories/articles.repository.mock.js";
|
||||
@@ -145,4 +147,16 @@ export async function bindDevSeedBlog(ctx: BindContext): Promise<void> {
|
||||
// <gen:event-handlers>
|
||||
// <gen:jobs>
|
||||
// <gen:realtime-handlers>
|
||||
|
||||
// Boot-time conformance check (dev-seed mode).
|
||||
assertFeatureConformance(
|
||||
blogContainer,
|
||||
blogManifest,
|
||||
{
|
||||
getArticles: BLOG_SYMBOLS.IGetArticlesUseCase,
|
||||
getArticleBySlug: BLOG_SYMBOLS.IGetArticleBySlugUseCase,
|
||||
createArticle: BLOG_SYMBOLS.ICreateArticleUseCase,
|
||||
},
|
||||
ctx,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
type ILogger,
|
||||
} from "@repo/core-shared/instrumentation";
|
||||
import type { BindContext } from "@repo/core-shared/di";
|
||||
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||
import { marketingPagesManifest } from "../feature.manifest.js";
|
||||
import { marketingPagesContainer } from "./container.js";
|
||||
import { MARKETING_PAGES_SYMBOLS } from "./symbols.js";
|
||||
import { MockPagesRepository } from "../infrastructure/repositories/pages.repository.mock.js";
|
||||
@@ -196,4 +198,15 @@ export async function bindDevSeedMarketingPages(ctx: BindContext): Promise<void>
|
||||
void realtime;
|
||||
void realtimeRegistry;
|
||||
// <gen:realtime-handlers>
|
||||
|
||||
// Boot-time conformance check (dev-seed mode).
|
||||
assertFeatureConformance(
|
||||
marketingPagesContainer,
|
||||
marketingPagesManifest,
|
||||
{
|
||||
getPageBySlug: MARKETING_PAGES_SYMBOLS.IGetPageBySlugUseCase,
|
||||
getSiteSettings: MARKETING_PAGES_SYMBOLS.IGetSiteSettingsUseCase,
|
||||
},
|
||||
ctx,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
type ILogger,
|
||||
} from "@repo/core-shared/instrumentation";
|
||||
import type { BindContext } from "@repo/core-shared/di";
|
||||
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||
import { mediaManifest } from "../feature.manifest.js";
|
||||
import { mediaContainer } from "./container.js";
|
||||
import { MEDIA_SYMBOLS } from "./symbols.js";
|
||||
import { MockMediaRepository } from "../infrastructure/repositories/media.repository.mock.js";
|
||||
@@ -145,4 +147,16 @@ export async function bindDevSeedMedia(ctx: BindContext): Promise<void> {
|
||||
// <gen:event-handlers>
|
||||
// <gen:jobs>
|
||||
// <gen:realtime-handlers>
|
||||
|
||||
// Boot-time conformance check (dev-seed mode).
|
||||
assertFeatureConformance(
|
||||
mediaContainer,
|
||||
mediaManifest,
|
||||
{
|
||||
getMedia: MEDIA_SYMBOLS.IGetMediaUseCase,
|
||||
listMedia: MEDIA_SYMBOLS.IListMediaUseCase,
|
||||
deleteMedia: MEDIA_SYMBOLS.IDeleteMediaUseCase,
|
||||
},
|
||||
ctx,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import {
|
||||
type ILogger,
|
||||
} from "@repo/core-shared/instrumentation";
|
||||
import type { BindContext } from "@repo/core-shared/di";
|
||||
import { assertFeatureConformance } from "@repo/core-shared/conformance";
|
||||
import { navigationManifest } from "../feature.manifest.js";
|
||||
import { navigationContainer } from "./container.js";
|
||||
import { NAVIGATION_SYMBOLS } from "./symbols.js";
|
||||
import { MockHeaderRepository } from "../infrastructure/repositories/header.repository.mock.js";
|
||||
@@ -89,4 +91,12 @@ export async function bindDevSeedNavigation(ctx: BindContext): Promise<void> {
|
||||
// <gen:event-handlers>
|
||||
// <gen:jobs>
|
||||
// <gen:realtime-handlers>
|
||||
|
||||
// Boot-time conformance check (dev-seed mode).
|
||||
assertFeatureConformance(
|
||||
navigationContainer,
|
||||
navigationManifest,
|
||||
{ getHeader: NAVIGATION_SYMBOLS.IGetHeaderUseCase },
|
||||
ctx,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user