diff --git a/packages/blog/src/application/use-cases/create-article.use-case.ts b/packages/blog/src/application/use-cases/create-article.use-case.ts index 38526d6..db3e168 100644 --- a/packages/blog/src/application/use-cases/create-article.use-case.ts +++ b/packages/blog/src/application/use-cases/create-article.use-case.ts @@ -3,6 +3,7 @@ import { z } from "zod"; import { articleSchema } from "../../entities/models/article"; import type { IArticlesRepository } from "../repositories/articles.repository.interface"; +// ── Input ──────────────────────────────────────────────────────────────── export const createArticleInputSchema = z .object({ title: z.string().min(1).max(255), @@ -13,9 +14,11 @@ export const createArticleInputSchema = z .strict(); export type CreateArticleInput = z.infer; +// ── Output ─────────────────────────────────────────────────────────────── export const createArticleOutputSchema = articleSchema; export type CreateArticleOutput = z.infer; +// ── Use case ───────────────────────────────────────────────────────────── function generateSlug(title: string): string { return title .toLowerCase() diff --git a/packages/blog/src/application/use-cases/get-article-by-slug.use-case.ts b/packages/blog/src/application/use-cases/get-article-by-slug.use-case.ts index d0651fe..f7114cc 100644 --- a/packages/blog/src/application/use-cases/get-article-by-slug.use-case.ts +++ b/packages/blog/src/application/use-cases/get-article-by-slug.use-case.ts @@ -4,14 +4,17 @@ import { ArticleNotFoundError } from "../../entities/errors/article"; import { articleSchema } from "../../entities/models/article"; import type { IArticlesRepository } from "../repositories/articles.repository.interface"; +// ── Input ──────────────────────────────────────────────────────────────── export const getArticleBySlugInputSchema = z .object({ slug: z.string().min(1) }) .strict(); export type GetArticleBySlugInput = z.infer; +// ── Output ─────────────────────────────────────────────────────────────── export const getArticleBySlugOutputSchema = articleSchema; export type GetArticleBySlugOutput = z.infer; +// ── Use case ───────────────────────────────────────────────────────────── export type IGetArticleBySlugUseCase = ReturnType; export const getArticleBySlugUseCase = diff --git a/packages/blog/src/application/use-cases/get-articles.use-case.ts b/packages/blog/src/application/use-cases/get-articles.use-case.ts index 60bf66b..87b8a2a 100644 --- a/packages/blog/src/application/use-cases/get-articles.use-case.ts +++ b/packages/blog/src/application/use-cases/get-articles.use-case.ts @@ -3,6 +3,7 @@ import { z } from "zod"; import { articleSchema, articleStatusSchema } from "../../entities/models/article"; import type { IArticlesRepository } from "../repositories/articles.repository.interface"; +// ── Input ──────────────────────────────────────────────────────────────── export const getArticlesInputSchema = z .object({ status: articleStatusSchema.optional(), @@ -13,9 +14,11 @@ export const getArticlesInputSchema = z .strict(); export type GetArticlesInput = z.infer; +// ── Output ─────────────────────────────────────────────────────────────── export const getArticlesOutputSchema = z.array(articleSchema); export type GetArticlesOutput = z.infer; +// ── Use case ───────────────────────────────────────────────────────────── export type IGetArticlesUseCase = ReturnType; export const getArticlesUseCase = diff --git a/packages/blog/src/interface-adapters/controllers/get-articles.controller.ts b/packages/blog/src/interface-adapters/controllers/get-articles.controller.ts index a739ed4..85ce167 100644 --- a/packages/blog/src/interface-adapters/controllers/get-articles.controller.ts +++ b/packages/blog/src/interface-adapters/controllers/get-articles.controller.ts @@ -6,7 +6,6 @@ import { } from "../../application/use-cases/get-articles.use-case"; function presenter(value: GetArticlesOutput) { - // identity for now (R11 — every non-void controller has a presenter) return value; }