diff --git a/CLAUDE.md b/CLAUDE.md index 66ca7b8..dea8c7f 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -199,6 +199,7 @@ ROLE_ADMIN → ROLE_GESTIONNAIRE → ROLE_VIEWER → ROLE_USER - **Composables** : `interface Deps { ... }` + `export function useXxx(deps: Deps)` - **Communication composants** : Props + Events uniquement (pas de provide/inject) - **API** : `useApi.ts` wraps fetch avec `credentials: 'include'` pour les cookies session +- **⚠️ Préfixe `/api`** : `useApi()` **prepend déjà** `apiBaseUrl` (= `/api` par défaut, cf. `nuxt.config.ts`). Les appels doivent donc utiliser des chemins **sans** `/api` au début. Ex : `api.get('/custom-fields/names')` et **PAS** `api.get('/api/custom-fields/names')` (sinon 404 sur `/api/api/...`). - **Content-Type** : `application/ld+json` pour POST/PUT, `application/merge-patch+json` pour PATCH - **Auth** : `useProfileSession` + middleware global `profile.global.ts` - **Permissions** : `usePermissions.ts` miroir de la hiérarchie backend côté client diff --git a/frontend/app/composables/useCustomFieldNameSuggestions.ts b/frontend/app/composables/useCustomFieldNameSuggestions.ts index 6112776..fdb749b 100644 --- a/frontend/app/composables/useCustomFieldNameSuggestions.ts +++ b/frontend/app/composables/useCustomFieldNameSuggestions.ts @@ -11,7 +11,7 @@ export function useCustomFieldNameSuggestions() { if (loading.value) return cache.value ?? [] loading.value = true try { - const response = await api.get('/api/custom-fields/names') + const response = await api.get('/custom-fields/names') if (response.success && Array.isArray(response.data)) { cache.value = response.data }