kjh2064
|
0334a5f607
|
refactor: Phase 4 - Dashboard Blazor → API client (Service Locator → Dependency Injection)
TaxBaik CI/CD / build-and-deploy (push) Successful in 1m19s
**Implementation:**
- AdminDashboardClient: HTTP API client interface
- GetSummaryAsync: Fetch dashboard metrics
- GetUpcomingFilingsAsync: 30-day filings forecast
- GetRecentInquiriesAsync: Latest inquiries
- GetMonthlyStatsAsync: Monthly statistics
- Program.cs: Register IAdminDashboardClient
- Dashboard.razor: Replace service injection with API client
- Remove: Direct AdminDashboardService/TaxFilingService injection
- Add: IAdminDashboardClient injection
- Add: Error handling & loading state
- Change: OnInitializedAsync() calls API endpoints
**SOLID Principles Applied:**
✓ D (Dependency Inversion): Blazor depends on IAdminDashboardClient abstraction
✓ S (Single Responsibility): Client handles only HTTP communication
✓ O (Open/Closed): Can extend API without changing Blazor component
**Architecture Pattern:**
- Before: Blazor → Service (server-side logic) → Repository → DB
- After: Blazor → HTTP → API → Service → Repository → DB
**Benefits:**
- Clear separation of concerns
- Easier to test (mock HTTP)
- Foundation for token refresh middleware
- Prepare for SignalR integration
Status: Ready for Phase 5 (JWT token refresh)
Next: Implement automatic token refresh on 401 responses
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-28 10:47:29 +09:00 |
|