feat: add comments feature with nested replies and recursive rendering
All checks were successful
ci/woodpecker/pr/pipeline Pipeline was successful

Implement full comments system: domain entities (Comment, CommentLike),
value objects (CommentContent), use cases (CRUD, like toggle), SQLAlchemy
repository, API v1 endpoints, web UI with comment form and nested replies,
i18n translations (EN/RU/FR/DE), and E2E tests.

Fix nested reply (reply-to-reply) not displaying — the flat reply_comments
dict was only queried for top-level comment IDs, so deeply nested replies
were saved to DB (incrementing comment count) but never rendered. Switch
to a recursive Jinja2 macro that renders any nesting depth.
This commit is contained in:
2026-05-11 15:34:20 +03:00
parent 63da25174e
commit 7ff3fa0992
40 changed files with 3161 additions and 44 deletions

View File

@@ -4,6 +4,11 @@ This module re-exports all Pydantic schemas used for
request/response validation in the API layer.
"""
from app.presentation.schemas.comment import (
CommentCreateSchema,
CommentLikeResponseSchema,
CommentResponseSchema,
)
from app.presentation.schemas.post import (
PostBaseSchema,
PostCreateSchema,
@@ -22,4 +27,7 @@ __all__ = [
"PostListResponseSchema",
"PostSearchSchema",
"PostPublishSchema",
"CommentCreateSchema",
"CommentResponseSchema",
"CommentLikeResponseSchema",
]