kjh2064
|
80a16d8b20
|
refactor: Phase 7-3 Complete - All API Controllers + Browser Clients
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m5s
**API Controllers Complete:**
- ClientController (GET /api/client paged, POST/PUT/DELETE)
- TaxFilingController (GET upcoming, GET by client, POST/PUT/DELETE)
- FaqController (GET active/all, GET by id, POST/PUT/DELETE)
- AnnouncementController (GET active/all, GET by id, POST/PUT/DELETE)
**Browser Clients Complete:**
- IClientBrowserClient + ClientBrowserClient
- ITaxFilingBrowserClient + TaxFilingBrowserClient
- IFaqBrowserClient + FaqBrowserClient
- IAnnouncementBrowserClient + AnnouncementBrowserClient
**All Registered in Program.cs:**
- BaseAddress: http://localhost:5001/taxbaik/api/
- TokenRefreshHandler attached to all clients
- DI container: AddHttpClient<IXxxClient, XxxClient>
**Blazor Refactored (Partial):**
- ClientList.razor: ✅ IClientBrowserClient (service → API)
- ClientEdit.razor: ✅ IClientBrowserClient (service → API)
- TaxFilings Blazor: ⏳ Pending refactor
- Faqs Blazor: ⏳ Pending refactor
- Announcements Blazor: ⏳ Pending refactor
**Phase 7 Status:**
- API-First Foundation: ✅ 100% (all controllers + clients ready)
- Blazor Refactoring: 🟡 30% (Clients done, others pending)
- Phase 6 SignalR: ⏳ Deferred (ready for real-time on API-first pages)
**SOLID Applied Throughout:**
✓ Single Responsibility: Each client handles one domain
✓ Open/Closed: Extend via interface, not modification
✓ Dependency Inversion: Blazor → Interfaces, not services
✓ Interface Segregation: Specialized clients per operation
✓ Liskov Substitution: All clients follow same contract
**Build:** ✅ Success (0 errors, 2 warnings in Dashboard)
**Pattern:** Established & repeatable for remaining Blazor pages
Next: Blazor page migrations (TaxFilings, Faqs, Announcements)
Then: Phase 6 SignalR for real-time notifications
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-28 11:10:27 +09:00 |
|