From f981266fd591ccdfc33f05e407d22aadbb4fb9ed Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Tue, 5 May 2026 08:49:55 +0200 Subject: [PATCH] feat(blog): add bindProductionBlog(config) DI helper for app boot --- packages/blog/package.json | 3 ++- packages/blog/src/di/bind-production.ts | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 packages/blog/src/di/bind-production.ts diff --git a/packages/blog/package.json b/packages/blog/package.json index ba59be2..ed2a5bd 100644 --- a/packages/blog/package.json +++ b/packages/blog/package.json @@ -6,7 +6,8 @@ "exports": { ".": "./src/index.ts", "./cms": "./src/integrations/cms/index.ts", - "./api": "./src/integrations/api/router.ts" + "./api": "./src/integrations/api/router.ts", + "./di/bind-production": "./src/di/bind-production.ts" }, "scripts": { "build": "tsc --noEmit", diff --git a/packages/blog/src/di/bind-production.ts b/packages/blog/src/di/bind-production.ts new file mode 100644 index 0000000..10e81dc --- /dev/null +++ b/packages/blog/src/di/bind-production.ts @@ -0,0 +1,13 @@ +import type { SanitizedConfig } from "payload"; +import { blogContainer } from "./container"; +import { BLOG_SYMBOLS } from "./symbols"; +import { PayloadArticlesRepository } from "../infrastructure/repositories/payload-articles.repository"; + +export function bindProductionBlog(config: SanitizedConfig): void { + if (blogContainer.isBound(BLOG_SYMBOLS.IArticlesRepository)) { + blogContainer.unbind(BLOG_SYMBOLS.IArticlesRepository); + } + blogContainer + .bind(BLOG_SYMBOLS.IArticlesRepository) + .toConstantValue(new PayloadArticlesRepository(config)); +}