refactor(marketing-pages): factory-style use cases + per-use-case controllers

- Use cases (get-page-by-slug, get-site-settings) → factory functions with I*UseCase aliases
- Controllers split: pages.controller.ts → 2 single-responsibility files
- DI module wires factories with .toDynamicValue()
- tRPC router resolves controllers via container

Refactor log: §2, §3, §4.1, §4.2, §5.1
Spec: §6.3

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-06 00:14:27 +02:00
parent 700d311052
commit 353a41b244
15 changed files with 206 additions and 162 deletions

View File

@@ -0,0 +1,10 @@
import type { SiteSettings } from "../../entities/models/site-settings";
import type { IGetSiteSettingsUseCase } from "../../application/use-cases/get-site-settings.use-case";
export type IGetSiteSettingsController = ReturnType<typeof getSiteSettingsController>;
export const getSiteSettingsController =
(getSiteSettingsUseCase: IGetSiteSettingsUseCase) =>
async (): Promise<SiteSettings> => {
return getSiteSettingsUseCase();
};