diff --git a/PRODUCTION_TODOLIST.json b/PRODUCTION_TODOLIST.json index 13a62d987..d1c52bb9f 100644 --- a/PRODUCTION_TODOLIST.json +++ b/PRODUCTION_TODOLIST.json @@ -31,7 +31,7 @@ "category": "testing", "title": "Débugger le setup global E2E", "description": "Les tests E2E ne peuvent pas démarrer car le setup global échoue avec 'API login failed: Failed to fetch'. Le Backend API est UP (health, register, login fonctionnent), mais le setup E2E a un problème de connexion.", - "status": "open", + "status": "fixed", "blocking": false, "test_command": "cd apps/web && npx playwright test --reporter=list", "expected_result": "Tests E2E démarrent et s'exécutent", @@ -79,7 +79,7 @@ "category": "frontend", "title": "Corriger les imports use-toast → useToast", "description": "Le build frontend échoue car les fichiers importent 'use-toast' au lieu de 'useToast'. Le hook existe sous le nom useToast.ts mais est importé avec un tiret.", - "status": "open", + "status": "fixed", "blocking": true, "test_command": "cd apps/web && npm run build", "expected_result": "Build réussi", @@ -175,7 +175,7 @@ "category": "backend", "title": "Corriger la validation de mot de passe", "description": "La validation de mot de passe rejette tous les mots de passe valides avec le message 'Password contains common words or patterns'. 7 tests échouent.", - "status": "open", + "status": "fixed", "blocking": false, "test_command": "cd veza-backend-api && go test ./internal/validators -v -run TestPasswordValidator", "expected_result": "Tous les tests passent", diff --git a/apps/web/src/features/auth/pages/VerifyEmailPage.tsx b/apps/web/src/features/auth/pages/VerifyEmailPage.tsx index 6cac4cf31..b64b34557 100644 --- a/apps/web/src/features/auth/pages/VerifyEmailPage.tsx +++ b/apps/web/src/features/auth/pages/VerifyEmailPage.tsx @@ -3,7 +3,7 @@ import { useNavigate, useSearchParams } from 'react-router-dom'; import { AuthLayout } from '../components/AuthLayout'; import { AuthButton } from '../components/AuthButton'; import { verifyEmail, resendVerificationEmail } from '../services/authService'; -import type { ApiError } from '../services/authService'; +import type { ApiError } from '@/types/api'; export function VerifyEmailPage() { const [searchParams] = useSearchParams(); diff --git a/apps/web/src/features/playlists/services/playlistService.ts b/apps/web/src/features/playlists/services/playlistService.ts index 6afeb7623..502eb6400 100644 --- a/apps/web/src/features/playlists/services/playlistService.ts +++ b/apps/web/src/features/playlists/services/playlistService.ts @@ -1,10 +1,14 @@ import { apiClient } from '@/services/api/client'; +import { requireFeature } from '@/config/features'; import type { Playlist, - PlaylistListResponse, CreatePlaylistRequest, UpdatePlaylistRequest, } from '../types'; +import type { PlaylistListResponse } from '../types'; + +// Re-export PlaylistListResponse for use in other modules +export type { PlaylistListResponse } from '../types'; // Collaborator interfaces (assuming they might be in types/collaborator but defining here if needed or using any for now if not in types.ts) // types.ts content I saw above did NOT include Collaborator types. diff --git a/apps/web/src/features/tracks/index.ts b/apps/web/src/features/tracks/index.ts index e50f3b01a..7cb9bea06 100644 --- a/apps/web/src/features/tracks/index.ts +++ b/apps/web/src/features/tracks/index.ts @@ -62,8 +62,8 @@ export type { PaginatedResponse, GetTracksOptions, TracksResponse, - ApiError, } from './services/trackListService'; +export type { ApiError } from '@/types/api'; // Types export type { diff --git a/apps/web/src/services/api/client.ts b/apps/web/src/services/api/client.ts index 4075d450e..0a0e7dcbb 100644 --- a/apps/web/src/services/api/client.ts +++ b/apps/web/src/services/api/client.ts @@ -477,8 +477,8 @@ apiClient.interceptors.response.use( }); // FIX #18: Utiliser logger structuré au lieu de console.warn logger.warn('[API Validation Error]', { - request_id: getRequestId(config), - url: config.url, + request_id: getRequestId(response.config), + url: response.config.url, }, validation.error); // Continue with unvalidated data (don't break the app) // In production, you might want to throw or handle differently diff --git a/apps/web/src/stores/index.ts b/apps/web/src/stores/index.ts index d38ad2f67..b0b116548 100644 --- a/apps/web/src/stores/index.ts +++ b/apps/web/src/stores/index.ts @@ -4,14 +4,14 @@ */ // Store hooks -export { useAuthStore } from './auth'; +export { useAuthStore } from '@/features/auth/store/authStore'; export { useUIStore } from './ui'; export { useLibraryStore } from './library'; export { useChatStore } from './chat'; export { useCartStore } from './cartStore'; // Store types -export type { AuthStore, AuthState, AuthActions } from './auth'; +export type { AuthStore, AuthState, AuthActions } from '@/features/auth/store/authStore'; export type { UIStore, UIActions } from './ui'; export type { LibraryStore, LibraryState, LibraryActions } from './library'; export type { ChatStore, ChatState, ChatActions } from './chat';