-
Notifications
You must be signed in to change notification settings - Fork 0
[API] Ajout de documents #3682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[API] Ajout de documents #3682
Conversation
e2df3ff
to
aaa0946
Compare
3dc517d
to
5bef770
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai un test KO.
Sur un signalement, j'envoie un fichier dans files[]
C'est une image jpg.
Je reçois
[
{
"uuid": "abd44081-e86c-4022-8fb7-454446c07c86",
"titre": "capture-essence-juicy-ripe-pears-600nw-2518963683.jpg",
"documentType": "AUTRE",
"url": "http://localhost:8080/show/abd44081-e86c-4022-8fb7-454446c07c86"
}
]
quand je vais dans la fiche du signalement, elle apparait comme Photo Usager/
Je vais ensuite dans la route d'édition de fichier.
J'envoie le payload
{
"documentType": "PROCEDURE_ARRETE_MUNICIPAL",
"description": "tertre"
}
je reçois
{
"uuid": "abd44081-e86c-4022-8fb7-454446c07c86",
"titre": "capture-essence-juicy-ripe-pears-600nw-2518963683.jpg",
"documentType": "PROCEDURE_ARRETE_MUNICIPAL",
"url": "http://localhost:8080/show/abd44081-e86c-4022-8fb7-454446c07c86"
}
Et l'image n'apparait plus nulle part, car je pense qu'on a une limitation sur les formats de fichier qui sont en contradiction avec le documentType.
Je ne sais pas trop comment résoudre ça. Je pense qu'il faut prendre en compte le file_type (document ou photo), et qu'il faut faire des checks sur format/documentType au moment de l'édition.
)] | ||
#[Assert\NotBlank()] | ||
#[Assert\Choice( | ||
choices: [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apparemment dans Symfony 7.3 on pourra utiliser les enum en contraintes : symfony/symfony#54226
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
c'est cool :-D ça fait longtemps qu'on souffre
En plus de la revue, ne pas hésiter à intervenir directement sur la branche @numew @emilschn @hmeneuvrier |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suite à mes test et commentaires d'Hélène, ajout d'un commit qui:
- Corrige le message d'erreur en cas de format de fichier invalide pour lister ceux autorisés
- Corrige l'affichage des documents sur la fiche usager afin que ceux uploadé via un user ROLE_API_USER n'apparaissent pas dans la liste des documents usager
- Bloque les documentType invalide pour les fileType "photo"
Concernant le dernier point c'est imparfait car :
- Si le type est invalide on l'ignore (sans remonter d'erreur)
- En théorie on peux avoir des image de fileType "document", plusieurs possibilités :
--> soit permettre lors de l'upload d'indiquer le fileType -et dans ce cas aussi le documentType et description- pour chacun des éléments mais je ne sais pas avec quelle approche.
--> soit à l'édition permettre de redéfinir manuellement le fileType
--> soit implicitement si le documentType n'est pas autorisé, basculer automatiquement en fileType document
Cette dernière solution est la plus simple mais avec l'inconvénient de ne pas pouvoir revenir en arrière quand le doc est passé en fileType "document"
2e52d36
to
c2ba0fa
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
Ticket
#3622
Remarque
Le choix pourra se porter sur Redis car le service est dispo sur scalingo.
Autre avantage, ça permettra de réduire la charge en écriture sur la base de donnée.
Description
Mise à disposition deux routes pour la gestion des documents (Limitation à 5 pour commencer et observer l'usage)
1. Requête (Dépôt des fichiers)
2. Requête (Edition des fichiers déposés via uuid)
Payload
Changements apportés
Pré-requis
Tests