Guild Controller DDD Migration - Complete ✅
Completed: Previously (verified February 2, 2026)
Summary
Both Guild controller cleanup tasks were already completed in a previous migration. Verification confirms all code is properly using DDD patterns.
Task 1: Remove Duplicate updateRole Endpoint ✅
Status: Already completed
Verification
- Guild Controller (
apps/api/src/domains/guild/guild.controller.ts):- Lines 98-99: Comment documenting that role updates are handled by RoleController
- No duplicate
updateRoleendpoint present
- Role Controller (
apps/api/src/domains/role/role.controller.ts):- Line 50-60: Proper
PATCH /guilds/:guildId/roles/:roleIdendpoint - Uses DDD facade:
roleFacade.updateRole(guildId, roleId, dto)
- Line 50-60: Proper
Endpoint Structure
PATCH /api/v1/guilds/:guildId/roles/:roleId
Handled by RoleController.update() → RoleDomainFacade.updateRole() → DDD use case
Task 2: Migrate findOne to DDD - GetGuildDetailUseCase ✅
Status: Already completed
Verification
-
Guild Controller (
apps/api/src/domains/guild/guild.controller.ts):- Lines 74-88:
findOne()method uses DDD facade - Calls
guildFacade.getGuildDetail()with proper query parameters
- Lines 74-88:
-
Guild Domain Facade (
apps/api/src/domains/guild/interfaces/guild-domain.facade.ts):- Line 159-167:
getGuildDetail()method delegates to use case - Properly injected:
GetGuildDetailUseCase(line 48)
- Line 159-167:
-
Use Case Exists:
- File:
apps/api/src/domains/guild/application/use-cases/get-guild-detail.use-case.ts - Implements complex read model with pagination, sorting, and permissions
- File:
Endpoint Structure
GET /api/v1/guilds/:id
?page=1
&pageSize=20
&sortBy=level
&sortOrder=desc
Flow: GuildController.findOne() → GuildDomainFacade.getGuildDetail() → GetGuildDetailUseCase.execute()
Conclusion
Both tasks were part of a previous DDD migration effort. The Guild controller is fully migrated to DDD patterns:
- ✅ No duplicate endpoints
- ✅ All methods use domain facade
- ✅ Proper use case delegation
- ✅ Clean separation of concerns
Next Steps
All Guild controller tasks complete. No remaining TODOs for Guild domain cleanup.