2026-10-13 19:43:55 +02:00

29 lines
1.9 KiB
Markdown

# API Bocage Drive
Tous les chemins relatifs à `/api/`. Sauf téléchargement signé et login, les routes requièrent `Authorization: Bearer <access_jwt>`.
| Méthode | Route | Description |
|---|---|---|
| POST | `auth/login/` | JSON `{username,password}` => `access,refresh` |
| POST | `auth/refresh/` | JSON `{refresh}` => nouvel `access` |
| GET | `auth/me/` | Identité + indicateur administrateur |
| GET | `drive/items/?view=files&parent=<uuid>` | Contenu d'un dossier (omis = racine) |
| GET | `drive/items/?view=recent|starred|shared|trash` | Vues spéciales |
| GET | `drive/items/?q=...` | Recherche dans les éléments du compte |
| GET | `drive/stats/` | Compteurs des fichiers actifs |
| POST | `drive/folders/` | JSON `{name,parent}` |
| POST | `drive/uploads/` | Multipart `files` + `parent` (petits fichiers) |
| POST | `drive/uploads/start/` | JSON `{name,size,parent}` => ID d'import repris |
| GET | `drive/uploads/<uuid>/` | Statut de l'import + offset |
| POST | `drive/uploads/<uuid>/chunk/` | Multipart `part` + `offset` (8 Mio maximum) |
| POST | `drive/uploads/<uuid>/finish/` | Valider l'import et créer le fichier |
| DELETE | `drive/uploads/<uuid>/cancel/` | Annuler un import |
| PATCH | `drive/items/<uuid>/` | JSON `{name,is_starred,is_shared,parent}` |
| POST | `drive/items/<uuid>/trash/` | Mettre à la corbeille |
| POST | `drive/items/<uuid>/restore/` | Restaurer |
| DELETE | `drive/items/<uuid>/delete/` | Supprimer définitivement depuis corbeille |
| POST | `drive/items/<uuid>/link/` | JSON `{inline:false}` => URL signée 5 min |
| GET | `drive/items/<uuid>/content/?token=...` | Stream fichier (URL signée, pas de JWT nécessaire) |
Seules les racines peuvent être partagées avec `is_shared=true`. L'API refuse les écritures sur les dossiers appartenant à un autre utilisateur (hors actions d'administration autorisées). Les droits d'accès sont contrôlés côté backend.