Commit graph

40 commits

Author SHA1 Message Date
senke
ef599a6f8c [INT-CLEANUP-004] Add barrel exports for clean imports 2025-12-26 09:25:52 +01:00
senke
491f3f3abc [INT-CLEANUP-001] Remove all unused API service files (offline-storage.ts, secure-auth.ts) 2025-12-26 09:17:31 +01:00
senke
a0c3e87946 [INT-AUTH-004] Add token expiration pre-check 2025-12-26 09:15:13 +01:00
senke
5afbab21ce [INT-AUTH-003] Verify refresh token flow handles edge cases 2025-12-26 09:13:36 +01:00
senke
d4733e8674 [INT-API-005] Add retry logic for 429 rate limit responses 2025-12-26 09:10:26 +01:00
senke
6bb5cccdfa [INT-API-004] Add request timeout configuration per endpoint type 2025-12-25 22:42:56 +01:00
senke
cd998907c0 [INT-API-002] Verify response unwrapping in interceptor 2025-12-25 22:40:59 +01:00
senke
a83adf936b [INT-TYPE-008] Validate AuthResponse matches backend exactly 2025-12-25 22:39:41 +01:00
senke
0c612e983b [INT-AUTH-001] Ensure CSRF protection active in production 2025-12-25 22:28:46 +01:00
senke
5b0a333bad [FE-TEST-001] fe-test: Add unit tests for API services
- Created comprehensive unit tests for marketplaceService (11 tests)
- Created comprehensive unit tests for profileService (12 tests)
- Created comprehensive unit tests for avatarService (9 tests)
- Created comprehensive unit tests for 2fa-service (8 tests)
- All 40 tests pass successfully
- Tests cover success cases, error handling, edge cases, and validation scenarios

Files modified:
- apps/web/src/services/marketplaceService.test.ts (new)
- apps/web/src/features/profile/services/profileService.test.ts (new)
- apps/web/src/features/profile/services/avatarService.test.ts (new)
- apps/web/src/services/2fa-service.test.ts (new)
- VEZA_COMPLETE_MVP_TODOLIST.json
2025-12-25 15:55:53 +01:00
senke
7b58dfcb65 [INT-016] int: Add authentication token refresh flow
- Added proactive token refresh mechanism (5 minutes before expiration)
- Implemented JWT decoding to check token expiration
- Added seamless refresh integration with login/logout flows
- Improved error handling and cleanup
- Integrated with auth store and API client

Files modified:
- apps/web/src/services/tokenRefresh.ts
- apps/web/src/services/api/auth.ts
- apps/web/src/stores/auth.ts
- VEZA_COMPLETE_MVP_TODOLIST.json
2025-12-25 15:45:30 +01:00
senke
118e67304e [FE-TYPE-010] fe-type: Add type safety for API client
- Created fully typed API client wrapper (typedClient.ts):
  * TypedApiClient interface with fully typed methods
  * typedApiClient implementation wrapping apiClient
  * TypedRequestConfig extending InternalAxiosRequestConfig
  * TypedApiRequestBuilder class for type-safe requests
- Added helper types:
  * ApiResponseData: Extract data from ApiResponse
  * UnwrappedApiResponse: Remove ApiResponse wrapper
- Added helper functions:
  * createTypedRequest: Create typed request builder
  * isApiResponseWrapper: Type guard for ApiResponse
  * extractApiData: Extract data from response
- Ensures full type safety for all API client methods
2025-12-25 14:48:35 +01:00
senke
479d972559 [FE-TYPE-003] fe-type: Add Zod schemas for all API requests
- Created comprehensive Zod schemas (apiRequestSchemas.ts) for:
  * LoginRequest, RegisterRequest, CreateUserRequest
  * UpdateUserRequest, UpdateProfileRequest
  * SendMessageRequest, UpdateMessageRequest
  * CreateConversationRequest, UpdateConversationRequest
  * UploadTrackRequest, UpdateTrackRequest
  * PaginationParams and list/search request types
- Added validation utilities:
  * validateApiRequest: Validate requests before sending
  * safeValidateApiRequest: Safe validation with error handling
  * validateApiRequestWithError: Validation with custom error handler
- Integrated validation into API client request interceptor
- Enhanced validatedApiClient with request validation support
- Automatic validation prevents invalid requests from being sent
- Comprehensive test suite (19 tests, all passing)
- Ensures runtime type safety for all API requests
2025-12-25 14:36:32 +01:00
senke
1f818b4b6f [FE-TYPE-002] fix: Remove unused strict parameter from validation functions 2025-12-25 14:33:19 +01:00
senke
c49e69bdef [FE-TYPE-002] fix: Resolve TypeScript errors in Zod schemas
- Removed strict() and passthrough() calls (not available on all Zod types)
- Simplified validation to use parse() directly
- Fixed type issues in clientWithValidation.ts
2025-12-25 14:32:30 +01:00
senke
92f29ddcac [FE-TYPE-002] fe-type: Add Zod schemas for all API responses
- Created comprehensive Zod schemas (apiSchemas.ts) for:
  * User, Track, Playlist, Conversation, Message
  * Session, AuditLog, Notification
  * PaginationData, ApiError, ApiResponse
- Added validation utilities:
  * validateApiResponse: Validate and normalize responses
  * safeValidateApiResponse: Safe validation with error handling
  * validateApiResponseArray: Validate arrays of items
  * validatePaginatedResponse: Validate paginated responses
- Integrated validation into API client interceptor
- Created validatedApiClient for type-safe API calls
- Automatic ID normalization during validation
- Comprehensive test suite (13 tests, all passing)
- Ensures runtime type safety for all API responses
2025-12-25 14:30:55 +01:00
senke
3b9a58bf84 [FE-STATE-004] fe-state: Add state invalidation 2025-12-25 13:45:49 +01:00
senke
c5d05fa480 [FE-API-017] fe-api: Add request caching 2025-12-25 13:29:43 +01:00
senke
92a989eb0e [FE-API-016] fe-api: Add request deduplication 2025-12-25 13:26:27 +01:00
senke
b108e74d01 [FE-API-015] fe-api: Add offline support 2025-12-25 13:24:19 +01:00
senke
99dbc03ef0 [FE-API-014] fe-api: Add request timeout handling 2025-12-25 13:22:15 +01:00
senke
d4f4e12fb3 [FE-COMP-005] fe-comp: Add toast notifications for all user actions 2025-12-25 11:32:53 +01:00
senke
8e20f3e745 [FE-API-006] fe-api: Add API request/response logging 2025-12-25 11:18:27 +01:00
senke
c7ee3c932a [FE-API-005] fe-api: Add request cancellation support 2025-12-25 11:14:03 +01:00
senke
b7c37dc1f1 [FE-API-004] fe-api: Add retry logic to API client 2025-12-25 11:11:54 +01:00
senke
1a721d34b2 [FE-API-003] fe-api: Fix API client response unwrapping 2025-12-25 11:09:19 +01:00
senke
2bacdac53c [FE-PAGE-006] fe-page: Complete Marketplace page implementation
- Added product browsing with pagination (page, limit, total_pages)
- Added product filtering: search, product type, price range
- Added cart functionality: add, remove, update quantity, checkout
- Created cartStore with Zustand and persistence
- Added Cart component with checkout functionality
- Enhanced ProductCard with Add to Cart button
- Added filter UI with collapsible filters panel
- Added search bar for product search
- Added pagination controls (Previous/Next)
- Updated marketplaceService to support filters and pagination
2025-12-24 12:54:20 +01:00
senke
b1b2adfc0e [FE-API-001] frontend-api: Enable 2FA service calls when backend is ready
- Replaced axios with apiClient for automatic authentication
- Updated URLs to use /auth/2fa/* endpoints (was /2fa/*)
- Fixed verify() to accept (secret, code) matching backend
- Fixed disable() to accept password instead of code
- Enabled TWO_FACTOR_AUTH feature flag
- Service now properly calls backend endpoints

Phase: PHASE-1
Priority: P0
Progress: 9/267 (3.4%)
2025-12-23 01:45:47 +01:00
senke
17b9d89769 fix(MVP-013): Add error correlation with request IDs in logs 2025-12-22 23:13:49 +01:00
senke
53c2e042ce fix(MVP-012): Add retry logic with exponential backoff for 502/503 errors 2025-12-22 23:10:52 +01:00
senke
0916e38b51 fix(MVP-011): Simplify token refresh response handling to single format 2025-12-22 23:06:52 +01:00
senke
d76ae37394 fix(MVP-008): Add feature flags to disable non-MVP features with missing endpoints 2025-12-22 23:01:36 +01:00
senke
34f3468c89 fix(MVP-006): Standardize environment variable names (VITE_API_BASE_URL → VITE_API_URL) 2025-12-22 22:56:37 +01:00
senke
1470f6030f batch 1 2025-12-22 22:00:50 +01:00
senke
c8c6e9c2b9 fix(INT-000002): Multiple Auth Storage Mechanisms
- Unified token storage to use TokenStorage service
- Removed deprecated token-manager.ts
- Removed fallback storage logic in API client
- Updated tests and feature components to use TokenStorage

Resolves: INT-000002
Severity: P0
2025-12-22 09:53:47 -05:00
senke
eff37efb57 stabilizing apps/web: FIRST BATCH 2025-12-17 08:07:35 -05:00
senke
c8c9215e6c stabilizing apps/web: SITUATION AWARENESS 2025-12-16 14:40:16 -05:00
senke
de191cf0fc refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
okinrev
e9e306c347 report generation and future tasks selection 2025-12-08 19:57:54 +01:00
okinrev
9fae6aeebc BASE: completing the initial repo state 2025-12-03 22:56:50 +01:00