Skip to content

feat(api): add date_from/date_to filter to club matches endpoint - #65

Open
Fab1 wants to merge 1 commit into
nickdesi:masterfrom
Fab1:feat/club-matches-date-filter
Open

Fab1 wants to merge 1 commit into
nickdesi:masterfrom
Fab1:feat/club-matches-date-filter

Conversation

@Fab1

@Fab1 Fab1 commented Oct 18, 2026

Copy link
Copy Markdown

📝 Description

Ajoute deux paramètres optionnels à GET /api/v1/club/{organisme_id}/matches : date_from et date_to (format AAAA-MM-JJ, bornes incluses). On peut ainsi récupérer le calendrier d'une semaine sans télécharger toute la saison puis filtrer côté client.

  • Les rencontres hors période sont écartées à l'étape 4, grâce au date_rencontre déjà présent dans la poule : leur fiche détaillée (get_rencontre_async) n'est pas chargée.
  • La date de la fiche détaillée est revérifiée avant la pagination. Une rencontre sans date connue côté poule (valeur par défaut 1970) est donc chargée, puis filtrée.
  • date_from > date_to renvoie 400 et une date invalide renvoie 422, avec l'enveloppe d'erreur standard.
  • Sans ces paramètres, le comportement est inchangé.

Exemple sur données réelles : pour un club de 148 rencontres sur la saison, ?date_from=2026-10-12&date_to=2026-10-18 renvoie 6 matchs, en ~10 s au lieu de ~35 s à froid. Le résultat est identique au filtrage manuel de la saison complète.


🛠️ Type de changement

  • ✨ Nouvelle fonctionnalité (changement non bloquant qui ajoute une fonctionnalité)
  • 🚨 Tests (ajout ou mise à jour de la couverture de tests)

🔍 Comment cela a-t-il été testé ?

  • 2 tests ajoutés dans tests/unit/test_314_api_endpoints.py. Le premier vérifie le filtrage et l'absence d'appel détaillé hors période, le second les validations 400 et 422. Les deux échouent sans la modification.
  • Suite unitaire complète : 728 passed, 32 skipped (Python 3.11).
  • Vérification manuelle sur données réelles, avec l'image Docker construite depuis la branche.
  • Tox non exécuté.

✅ Checklist de validation

  • Mon code respecte le style et les règles de conception du projet.
  • Nouvelles options documentées : descriptions OpenAPI des paramètres, docstring, entrée [Unreleased] du CHANGELOG.
  • J'ai ajouté des tests couvrant mes modifications.
  • Tous les tests existants et nouveaux passent.
  • ruff format --check OK. ruff check remonte 2 alertes B008 sur date_from/date_to, avec le même style = Query(...) que les autres paramètres. Ruff ne les signale que parce que date n'est pas reconnu comme type immuable. Aucune autre nouvelle alerte.
  • mypy src OK.
  • pre-commit run --all-files OK.
  • AGENTS.md non modifié.

Note : commandes exécutées sans le préfixe rtk, non installé dans mon environnement.

🤖 Generated with Claude Code

GET /api/v1/club/{organisme_id}/matches accepts date_from and date_to
(YYYY-MM-DD, inclusive). Matches outside the range are skipped using the
poule's known date before fetching their detailed rencontre, then the
detailed date is re-checked before pagination.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant