Projet

Général

Profil

Development #43077

Split du endpoint fillslots

Ajouté par Lauréline Guérin il y a presque 4 ans. Mis à jour il y a plus de 3 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
19 mai 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

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

0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch (2,58 ko) 0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch Lauréline Guérin, 22 mai 2020 10:58
0004-api-split-fillslot-endpoints-43077.patch (54,9 ko) 0004-api-split-fillslot-endpoints-43077.patch Lauréline Guérin, 22 mai 2020 10:58
0003-api-move-serializers-43077.patch (5,86 ko) 0003-api-move-serializers-43077.patch Lauréline Guérin, 22 mai 2020 10:58
0002-api-use-APIError-in-fillslots-view-43077.patch (11,8 ko) 0002-api-use-APIError-in-fillslots-view-43077.patch Lauréline Guérin, 22 mai 2020 10:58
0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch (6,35 ko) 0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch Lauréline Guérin, 22 mai 2020 10:58
0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch (2,58 ko) 0005-api-remove-fillslots_url-from-meetings-agenda-detail.patch Lauréline Guérin, 25 mai 2020 10:32
0004-api-split-fillslot-endpoints-43077.patch (54,8 ko) 0004-api-split-fillslot-endpoints-43077.patch Lauréline Guérin, 25 mai 2020 10:32
0003-api-move-serializers-43077.patch (5,86 ko) 0003-api-move-serializers-43077.patch Lauréline Guérin, 25 mai 2020 10:32
0002-api-use-APIError-in-fillslots-view-43077.patch (11,8 ko) 0002-api-use-APIError-in-fillslots-view-43077.patch Lauréline Guérin, 25 mai 2020 10:32
0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch (6,35 ko) 0001-api-limit-accept-suspend-resize-endpoints-to-events-.patch Lauréline Guérin, 25 mai 2020 10:32
0004-api-remove-fillslots_url-from-meetings-agenda-detail.patch (2,85 ko) 0004-api-remove-fillslots_url-from-meetings-agenda-detail.patch Lauréline Guérin, 01 octobre 2020 16:22
0003-api-split-fillslot-endpoints-43077.patch (62 ko) 0003-api-split-fillslot-endpoints-43077.patch Lauréline Guérin, 01 octobre 2020 16:22
0002-api-move-serializers-43077.patch (6,43 ko) 0002-api-move-serializers-43077.patch Lauréline Guérin, 01 octobre 2020 16:22
0001-api-use-APIError-in-fillslots-view-43077.patch (11 ko) 0001-api-use-APIError-in-fillslots-view-43077.patch Lauréline Guérin, 01 octobre 2020 16:22

Demandes liées

Lié à Chrono - Development #79300: api: splitter FillslotsFermé03 juillet 2023

Actions

Révisions associées

Révision 2e091220 (diff)
Ajouté par Lauréline Guérin il y a plus de 3 ans

api: use APIError in fillslots view (#43077)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 4 ans

On peut déjà séparer l'implémentation en 2/3 sans toucher aux URLs non ? J'étais déjà pour avant, mais comme pour l'autre j'aimerai bien ne pas avoir des tonnes de rebase à faire sur #42169. Si t'en es à vouloir réécrire fillslot je pense que la relecture de #42169 t'es permise.

#2

Mis à jour par Frédéric Péters il y a presque 4 ans

(elle a relu #42169)

#3

Mis à jour par Lauréline Guérin il y a presque 4 ans

(j'ai relu #42169 ;) )
Je peux attendre que #42169 soit mergé, et gérer les conflits.
J'aimerais que #42169 et #40728 passent pour continuer #38942, en attendant je splitte)

#4

Mis à jour par Lauréline Guérin il y a presque 4 ans

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.

#6

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)

#8

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.

#9

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.

#10

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 :)

#11

Mis à jour par Lauréline Guérin il y a 10 mois

Formats disponibles : Atom PDF