veza/apps/web/src/services
senke 7fd43ab609
Some checks failed
Veza CI / Backend (Go) (push) Failing after 0s
Veza CI / Frontend (Web) (push) Failing after 0s
Veza CI / Rust (Stream Server) (push) Failing after 0s
Frontend CI / test (push) Failing after 0s
Security Scan / Secret Scanning (gitleaks) (push) Failing after 0s
Veza CI / Notify on failure (push) Failing after 0s
refactor(web): migrate dashboard service to orval client (v1.0.8 P1 pilote)
Pivoted B2 pilote from developer.ts → dashboard because the developer
endpoints (/developer/api-keys) are not yet covered by swaggo annotations
in veza-backend-api, so they do not appear in openapi.yaml. Completing
the OpenAPI spec is a backend chantier of its own (v1.0.9 scope).

Dashboard was chosen instead:
  - single endpoint (GET /api/v1/dashboard)
  - fully spec-covered (Dashboard tag)
  - non-trivial consumer chain (feature/dashboard/services → hooks → UI)

Changes:

- apps/web/src/features/dashboard/services/dashboardService.ts
  Replace `apiClient.get('/dashboard', { params, signal })` with
  `getApiV1Dashboard({ activity_limit, library_limit, stats_period },
  { signal })`. Same response shape, same error fallback, same
  interceptor chain — only the fetch call is now typed + generated.
  Removes the direct @/services/api/client import.

- apps/web/src/services/api/orval-mutator.ts
  New `stripBaseURLPrefix` helper. Orval emits absolute paths
  (e.g. `/api/v1/dashboard`) but apiClient.baseURL resolves to
  `/api/v1` already. The mutator now strips a matching `/api/vN`
  prefix before delegating to apiClient, preventing double-prefix.
  No-op when baseURL lacks the prefix.

Verification:
- npm run typecheck 
- npm run lint  (0 errors, pre-existing warnings unchanged)
- npm test -- --run src/features/dashboard  4/4 pass

Scope adjustment (discovered during execution): many hand-written
services (developer, search, queue, social, metrics) call endpoints
that lack swaggo annotations. Full bulk migration (original B3-B8)
requires completing the OpenAPI spec first. Next direct-migration
candidates are the fully spec-covered services: auth, track, user,
playlist, marketplace.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 00:32:12 +02:00
..
__tests__ chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
api refactor(web): migrate dashboard service to orval client (v1.0.8 P1 pilote) 2026-04-24 00:32:12 +02:00
generated chore(web): install orval + mutator for OpenAPI code generation (v1.0.8 P1) 2026-04-24 00:18:14 +02:00
2fa-service.test.ts test: fix and improve unit tests across multiple features 2026-03-25 23:34:42 +01:00
2fa-service.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
adminService.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
adminService.ts feat: UI components, services, utils, i18n, and routing 2026-03-23 15:46:42 +01:00
analyticsService.test.ts feat(analytics): complete backend analytics, remove frontend mocks 2026-02-15 16:21:20 +01:00
analyticsService.ts feat(v0.11.1): F396-F399 frontend advanced analytics components 2026-03-10 17:13:13 +01:00
authService.ts Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy 2026-02-14 17:23:32 +01:00
chatService.test.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
chatService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
coListeningService.ts feat(v0.10.7): Collaboration Temps Réel F481-F483 2026-03-10 13:34:16 +01:00
commerceService.test.ts fix(tests): cycles 12–18 – corrections services, mocks et design tokens 2026-02-11 09:43:55 +01:00
commerceService.ts feat(frontend): add admin transfer API functions in commerceService 2026-02-23 23:36:09 +01:00
cookieService.ts chore: enable noUncheckedIndexedAccess, isolate ghost MSW handlers, document go-clamd tech debt 2026-02-12 23:12:35 +01:00
csrf.ts fix(web): silence console for expected failures (CSRF, webhooks 5xx) 2026-02-10 19:51:20 +01:00
developerService.test.ts fix(a11y): fix heading hierarchy h1→h3 gaps on 8 pages 2026-03-25 10:14:18 +01:00
developerService.ts feat(developer): connect API keys to real backend (Lot C frontend) 2026-02-20 00:19:58 +01:00
discoverService.ts fix(backend,web): restore audio playback via /stream fallback 2026-04-16 14:52:26 +02:00
distributionService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
educationService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
feedService.ts fix(backend,web): restore audio playback via /stream fallback 2026-04-16 14:52:26 +02:00
gearService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
groupService.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
groupService.ts feat(groups): S2 frontend - request join, invite, roles, my groups, MSW handlers 2026-02-21 05:51:29 +01:00
liveService.ts feat(v0.10.6): Livestreaming basique F471-F476 2026-03-10 10:21:57 +01:00
marketplaceService.test.ts fix(tests): cycles 12–18 – corrections services, mocks et design tokens 2026-02-11 09:43:55 +01:00
marketplaceService.ts feat(v0.12.0): F254-F255 frontend marketplace payout and balance UI 2026-03-10 18:52:37 +01:00
offlineQueue.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
offlineQueue.ts chore: enable noUncheckedIndexedAccess, isolate ghost MSW handlers, document go-clamd tech debt 2026-02-12 23:12:35 +01:00
productService.ts feat(marketplace): connect CreateProductView to enriched product API 2026-02-22 14:10:26 +01:00
pwa.ts feat(pwa): re-enable service worker with safe caching, add Install App in Settings 2026-02-25 09:56:26 +01:00
requestDeduplication.test.ts chore: consolidate pending changes (Hyperswitch, PostCard, dashboard, stream server, etc.) 2026-02-14 21:45:15 +01:00
requestDeduplication.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
responseCache.test.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
responseCache.ts fix(web): resolve all 568 TypeScript errors — tsc --noEmit now passes with zero errors 2026-02-13 00:32:08 +01:00
roleService.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
searchService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
searchService.ts fix: resolve ts-ignore directives and unsafe type casts 2026-02-12 22:21:55 +01:00
sessionService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
sessionService.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
socialService.test.ts fix(a11y): fix heading hierarchy h1→h3 gaps on 8 pages 2026-03-25 10:14:18 +01:00
socialService.ts feat(social): GET /social/explore, explore tab, feed filters all/following/groups (S1.5, S1.6) 2026-02-21 05:31:12 +01:00
subscriptionService.ts fix: stabilize frontend — 98 TS errors to 0, align API endpoints, optimize bundle 2026-03-24 21:18:49 +01:00
tokenRefresh.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
tokenRefresh.ts chore: enable noUncheckedIndexedAccess, isolate ghost MSW handlers, document go-clamd tech debt 2026-02-12 23:12:35 +01:00
tokenStorage.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
tokenStorage.ts security: migrate access token to httpOnly cookie (Actions 5.1.1.1-5.1.1.3) 2026-01-16 01:03:23 +01:00
uploadService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
uploadService.ts incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
userService.test.ts chore(refactor/sumi-migration): commit pending changes — tests, stream server, dist_verification 2026-02-13 19:39:18 +01:00
userService.ts stabilisation commit: while implementing v0.10.5 2026-03-09 19:36:33 +01:00
webhookService.ts fix(web): silence console for expected failures (CSRF, webhooks 5xx) 2026-02-10 19:51:20 +01:00
websocket.ts refactor(frontend): eliminate ~45 'any' types in production code 2026-02-22 17:44:49 +01:00