Skip to content

feat: Tag ドメインをフル CRUD で実装する#12

Merged
hideyukiMORI merged 1 commit into
mainfrom
feat/issue-6-tag-domain
May 19, 2026
Merged

feat: Tag ドメインをフル CRUD で実装する#12
hideyukiMORI merged 1 commit into
mainfrom
feat/issue-6-tag-domain

Conversation

@hideyukiMORI
Copy link
Copy Markdown
Owner

Summary

  • Tag entity / Repository / UseCase (5本) / Handler (5エンドポイント) をフル実装
  • TagNotFoundException + TagNotFoundExceptionHandler で 404 対応
  • make_tag_router() 内で APIRouter を生成する設計に修正(module-level singleton でテスト間状態汚染が起きるバグを発見・修正)
  • Note handler も同様の修正を適用

Test plan

  • 35 passed、coverage 98%
  • Tag CRUD 全 11 テスト追加(正常系・404・422・ページネーション)

Closes #6

🤖 Generated with Claude Code

- Tag entity / TagRepositoryInterface / InMemoryTagRepository を追加
- TagNotFoundException + TagNotFoundExceptionHandler を追加
- ListTagsUseCase / GetTagUseCase / CreateTagUseCase / UpdateTagUseCase / DeleteTagUseCase を追加
- GET/POST /tags、GET/PUT/DELETE /tags/{tag_id} を実装
- make_tag_router() 内で router を生成する設計(module-level singleton の汚染を回避)
- note/handler.py も同様の修正を適用
- テスト 11 件追加

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hideyukiMORI hideyukiMORI merged commit aa31c23 into main May 19, 2026
@hideyukiMORI hideyukiMORI deleted the feat/issue-6-tag-domain branch May 19, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: Tag ドメインをフル CRUD で実装する

1 participant