Appearance
BDD-15 — Consultation de la liste des fichiers deposes
📄 Ticket fonctionnel
Consulter les fichiers deja transmis
Le client externe voit directement la liste de ses depots depuis l espace upload. L objectif est de confirmer ce qui a ete transmis, quand, et avec quelle taille.
1. User Story
En tant que client externe,
Je veux consulter la liste de mes fichiers deposes,
Afin de savoir ce que j'ai transmis et quand.
2. Criteres d'acceptance
- La liste affiche le nom, la date de depot et la taille de chaque fichier.
- Les fichiers sont tries par date decroissante, du plus recent au plus ancien.
- La liste est accessible des la connexion.
3. Parcours utilisateur
mermaid
sequenceDiagram
autonumber
participant U as 👤 Client externe
participant F as 🖥️ Front UploadPage
participant API as 🧠 API NestJS
participant DB as 🗄️ prisma.tool
U->>F: Arrive sur /upload apres connexion
F->>API: GET /documents
API->>API: AuthGuard verifie le token et le user
API->>DB: Recherche les documents lies a user_id
DB-->>API: Documents tries par created_at desc
API-->>F: uuid, name, size, created_at
F-->>U: Affiche "Mes fichiers deposes"4. Perimetre fonctionnel
- Page front :
front/src/pages/upload/UploadPage.vue - Composant d'affichage :
front/src/components/documents/DocumentListItem.vue - Store Pinia :
front/src/stores/files-store.js - Endpoint back :
GET /documents - Controller back :
back/src/api/documents/document.controller.ts - Service back :
back/src/api/documents/document.service.ts - Modele Prisma tool :
back/prisma/schema.prisma - Migration SQL :
sql/tool_01_add_size_to_documents.sql
5. Contrat API
Requete
http
GET /documents
X-App-Access-Token: <app_access_token>Reponse
json
[
{
"uuid": "11111111-1111-4111-8111-111111111111",
"name": "export-client.csv",
"size": 15432,
"created_at": "2026-04-16T08:12:00.000Z"
}
]INFO
Le backend retourne uniquement les documents rattaches a l'utilisateur connecte via users_documents. La taille est convertie en number avant retour API, car Prisma expose le champ BigInt. L'API expose le uuid public du document. L'ID numerique interne reste reserve aux jointures base de donnees.
6. Points de verification
- La section
Mes fichiers deposesest visible sur/uploadapres connexion. - Un chargement est affiche pendant l'appel
GET /documents. - Un etat vide
Aucun fichier depose.est affiche si l'utilisateur n'a encore transmis aucun fichier. - Chaque ligne affiche le nom du fichier, son extension, la date formatee et la taille.
- Les fichiers sont affiches dans l'ordre
created_at DESC. - Apres un upload reussi, la liste est rechargee pour inclure le nouveau fichier.
- Un utilisateur ne voit que ses propres fichiers.
7. Tests associes
- Tests unitaires front :
front/src/__tests__/pages/upload/UploadPage.spec.jsfront/src/__tests__/components/documents/DocumentListItem.spec.jsfront/src/__tests__/stores/files-store.spec.js
- Tests unitaires back :
back/src/api/documents/document.service.spec.ts
- Tests E2E recommandes :
- connexion reelle -> acces
/upload-> affichage deMes fichiers deposes - liste non vide -> verification nom/date/taille
- upload reussi -> rafraichissement de la liste
- utilisateur sans document -> etat vide
- connexion reelle -> acces
