Development #43077
Split du endpoint fillslots
0%
Description
Le endpoint fillslots gère les réservations de tous les types d'agenda, or un agenda de type events ou meetings/virtual n'ont pas forcément les mêmes options.
Ainsi:
- un Event d'agenda meetings/virtual n'a forcément qu'une place, du coup le paramètre count
n'a pas de sens
- seul les agendas de type events a une file d'attente
- seuls les agendas de type meetings/virtual ont des Desk, des TimePeriod et des TimePeriodException
A priori, il peut arriver qu'une url fillslots soit construite à la main pour un agenda de type events, mais pas pour les autres.
Du coup, on pourrait splitter le endpoint fillslots, et avoir une url agenda/<agenda_id>/meetings/fillslots pour meetings/virtual et l'url habituelle pour events.
En profiter pour ajouter quelques checks sur le type d'agenda pour les endpoints accept, suspend, resize
Fichiers
Demandes liées
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a presque 4 ans
Mis à jour par Lauréline Guérin il y a presque 4 ans
Mis à jour par Lauréline Guérin il y a presque 4 ans
- Fichier 0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch 0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch ajouté
- Fichier 0004-api-split-fillslot-endpoints-43077.patch 0004-api-split-fillslot-endpoints-43077.patch ajouté
- Fichier 0003-api-move-serializers-43077.patch 0003-api-move-serializers-43077.patch ajouté
- Fichier 0002-api-use-APIError-in-fillslots-view-43077.patch 0002-api-use-APIError-in-fillslots-view-43077.patch ajouté
- Fichier 0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch 0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
J'ai essayé de réorganiser le code en limitant les spaghettis. J'aurais bien tenté de factoriser un peu plus la méthode fillslots
mais j'ai peur que ça soit moins lisible.
Ca fait 4 urls: events/single, events/multiple, meetings/single, meetings/multiple, sachant que pour la réservation multiple d'après la doc c'est que pour les agendas de type events, mais que le code était très permissif.
J'ai conservé cette possibilité, avec l'idée d'analyser les logs dans quelques temps pour voir si c'est utilisé ou pas.
Mis à jour par Lauréline Guérin il y a presque 4 ans
- Fichier 0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch 0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch ajouté
- Fichier 0004-api-split-fillslot-endpoints-43077.patch 0004-api-split-fillslot-endpoints-43077.patch ajouté
- Fichier 0003-api-move-serializers-43077.patch 0003-api-move-serializers-43077.patch ajouté
- Fichier 0002-api-use-APIError-in-fillslots-view-43077.patch 0002-api-use-APIError-in-fillslots-view-43077.patch ajouté
- Fichier 0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch 0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch ajouté
Mis à jour par Lauréline Guérin il y a presque 4 ans
(derniers patch: juste une modif dans le 0004 pour déplacer get_places_count
dans EventFillSlotsMixin
)
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Fichier 0004-api-remove-fillslots_url-from-meetings-agenda-detail.patch 0004-api-remove-fillslots_url-from-meetings-agenda-detail.patch ajouté
- Fichier 0003-api-split-fillslot-endpoints-43077.patch 0003-api-split-fillslot-endpoints-43077.patch ajouté
- Fichier 0002-api-move-serializers-43077.patch 0002-api-move-serializers-43077.patch ajouté
- Fichier 0001-api-use-APIError-in-fillslots-view-43077.patch 0001-api-use-APIError-in-fillslots-view-43077.patch ajouté
(rebase, gestion des merge conflicts)
Mis à jour par Benjamin Dauvergne il y a plus de 3 ans
- Statut changé de Solution proposée à En cours
Un truc a bougé dans les tests.
Mis à jour par Frédéric Péters il y a plus de 3 ans
Au vu des problèmes récents sur le changement sur l'API /status (résultat #46772), je suis super frileux sur un changement d'URL.
Mis à jour par Lauréline Guérin il y a plus de 3 ans
- Statut changé de En cours à Rejeté
Allez, je ferme ce ticket; le code a tellement bougé depuis que c'est difficile à maintenir, et je n'étais pas forcément super satisfaite du découpage réalisé. + la frilosité de fred :)
Mis à jour par Lauréline Guérin il y a 10 mois
- Lié à Development #79300: api: splitter Fillslots ajouté
api: use APIError in fillslots view (#43077)