75 lines
2.3 KiB
Markdown
75 lines
2.3 KiB
Markdown
# Migration du Backoffice vers l'API Laravel
|
|
|
|
Ce document décrit les changements effectués pour migrer le backoffice de Supabase vers l'API Laravel.
|
|
|
|
## Changements effectués
|
|
|
|
### 1. Remplacement de Supabase par un client API personnalisé
|
|
|
|
- **Supprimé** : `src/lib/supabaseClient.js`
|
|
- **Créé** : `src/lib/apiClient.js` - Client API pour communiquer avec l'API Laravel
|
|
|
|
### 2. Adaptation de l'authentification
|
|
|
|
- **Fichier modifié** : `src/contexts/AuthContext.jsx`
|
|
- **Changement** : Remplacement de `supabase.functions.invoke('verify-admin-password')` par `api.auth.login()`
|
|
|
|
### 3. Adaptation du dashboard
|
|
|
|
- **Fichier modifié** : `src/pages/DashboardPage.jsx`
|
|
- **Changements** :
|
|
- Remplacement de `supabase.from('orders').select()` par `api.orders.getOrders()`
|
|
- Remplacement de `supabase.functions.invoke('update-order-status')` par `api.orders.updateStatus()`
|
|
- Utilisation de `api.orders.getMetrics()` pour les métriques au lieu de récupérer toutes les commandes
|
|
|
|
### 4. Suppression des dépendances Supabase
|
|
|
|
- **Supprimé** : `@supabase/supabase-js` du `package.json`
|
|
|
|
## Configuration
|
|
|
|
### Variables d'environnement
|
|
|
|
Créez un fichier `.env` dans `backoffice/src/` avec :
|
|
|
|
```env
|
|
# URL de l'API Laravel
|
|
# En développement local : http://localhost:8000
|
|
# En production : https://api.ditesleenchanson.fr
|
|
VITE_API_URL=http://localhost:8000
|
|
```
|
|
|
|
### Installation
|
|
|
|
1. Installer les dépendances (sans Supabase) :
|
|
```bash
|
|
cd backoffice/src
|
|
npm install
|
|
```
|
|
|
|
2. Configurer le fichier `.env` avec l'URL de l'API
|
|
|
|
3. Démarrer le serveur de développement :
|
|
```bash
|
|
npm run dev
|
|
```
|
|
|
|
## API Endpoints utilisés
|
|
|
|
- `POST /auth/admin/login` - Authentification admin
|
|
- `GET /orders` - Liste des commandes avec pagination
|
|
- `GET /orders/metrics` - Métriques des commandes
|
|
- `POST /orders/{orderId}/status` - Mise à jour du statut d'une commande
|
|
|
|
## Authentification
|
|
|
|
Le token d'authentification est stocké dans `localStorage` sous la clé `admin_auth_token` et est envoyé dans le header `Authorization: Bearer {token}` pour les requêtes protégées.
|
|
|
|
## Notes
|
|
|
|
- Le format des réponses de l'API a été adapté pour correspondre au format Supabase utilisé précédemment
|
|
- Les métriques incluent maintenant les revenus par statut (pendingRevenue, processingRevenue, completedRevenue)
|
|
- La pagination fonctionne de la même manière qu'avec Supabase
|
|
|
|
|