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

1""" 

2Modèles de base pour les réponses de l'API Henrri Connect. 

3 

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""" 

10 

11from typing import Generic, TypeVar 

12from .models import ( 

13 CamelModel, 

14 Link, 

15 MetaListResponse, 

16 MetaPagedListResponse, 

17) 

18 

19T = TypeVar("T") 

20 

21class Cell(CamelModel): 

22 """ 

23 Représente une cellule de total dans une réponse paginée. 

24 

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 

39 

40 

41class ElementDisplay(CamelModel): 

42 """ 

43 Représente les informations d'affichage pour un élément dans une réponse paginée. 

44 

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 

55 

56 

57class PagedListResponse(CamelModel, Generic[T]): 

58 """ 

59 Réponse paginée générique. 

60 

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 """ 

67 

68 elements: list[T] | None = None 

69 totals: list[Cell] | None = None 

70 display: list[ElementDisplay] | None = None 

71 meta: MetaPagedListResponse | None = None 

72 

73 

74class ListResponse(CamelModel, Generic[T]) : 

75 """ 

76 Réponse liste générique. 

77 

78 Attributs 

79 - elements: Liste d'éléments. 

80 - meta: Métadonnées de la réponse liste (si applicable). 

81 """ 

82 

83 elements: list[T] | None = None 

84 meta: MetaListResponse | None = None