clear project
This commit is contained in:
74
MIGRATION_API.md
Normal file
74
MIGRATION_API.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user