Coverage for src/henrri_connect/models/base/responses.py: 100%
23 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-05 10:54 +0200
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-05 10:54 +0200
1"""
2Modèles de base pour les réponses de l'API Henrri Connect.
4Attributs:
5- Cell: Représente une cellule de total dans une réponse paginée.
6- ElementDisplay: Représente les informations d'affichage pour un élément dans une réponse paginée.
7- PagedListResponse: Réponse paginée générique.
8- ListResponse: Réponse liste générique.
9"""
11from typing import Generic, TypeVar
12from .models import (
13 CamelModel,
14 Link,
15 MetaListResponse,
16 MetaPagedListResponse,
17)
19T = TypeVar("T")
21class Cell(CamelModel):
22 """
23 Représente une cellule de total dans une réponse paginée.
25 Attributs
26 - name: Nom de la cellule.
27 - value: Valeur de la cellule.
28 - type: Type de la cellule.
29 - is_amount: Indique si la cellule représente un montant.
30 - show_alert: Indique si une alerte doit être affichée pour cette cellule.
31 - links: Liste de liens associés à la cellule (si applicable).
32 """
33 name: str | None = None
34 value: str | None = None
35 type: str | None = None
36 is_amount: bool = False
37 show_alert: bool = False
38 links: list[Link] | None = None
41class ElementDisplay(CamelModel):
42 """
43 Représente les informations d'affichage pour un élément dans une réponse paginée.
45 Attributs
46 - id: Identifiant de l'élément.
47 - title: Titre de l'élément.
48 - index: Index de l'élément.
49 - width: Largeur de l'élément.
50 """
51 id: int | None = None
52 title: str | None = None
53 index: int = 0
54 width: int = 0
57class PagedListResponse(CamelModel, Generic[T]):
58 """
59 Réponse paginée générique.
61 Attributs
62 - elements: Liste d'éléments de la page.
63 - totals: Liste de cellules de total pour la page (si applicable).
64 - display: Liste d'informations d'affichage pour les éléments de la page (si applicable).
65 - meta: Métadonnées de la réponse paginée (si applicable).
66 """
68 elements: list[T] | None = None
69 totals: list[Cell] | None = None
70 display: list[ElementDisplay] | None = None
71 meta: MetaPagedListResponse | None = None
74class ListResponse(CamelModel, Generic[T]) :
75 """
76 Réponse liste générique.
78 Attributs
79 - elements: Liste d'éléments.
80 - meta: Métadonnées de la réponse liste (si applicable).
81 """
83 elements: list[T] | None = None
84 meta: MetaListResponse | None = None