Coverage for src/henrri_connect/companies/synchro.py: 100%
12 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"""
2Sous-client pour les endpoints /v1/companies.
4Constantes:
5- ``COMPANIES_ENDPOINT`` URL de base des endpoints entreprises (/v1/companies).
7Classes:
8- ``henrri_connect.companies.synchro.SyncCompaniesClient``
9 Accès synchrone aux endpoints entreprises.
11Notes:
12- Utiliser de préférence l'objet ``henrri_connect.connect.SyncHenrriClient`` pour acceder
13aux endpoints.
14"""
16from __future__ import annotations
18from typing import TYPE_CHECKING
20from ..models import Address, Company
22if TYPE_CHECKING:
23 from ..connect import SyncHenrriClient
25class SyncCompaniesClient:
26 """
27 Accès synchrone aux endpoints entreprises.
29 Arguments
30 - ``client`` (SyncHenrriClient) : Client HTTP.
32 Methodes
33 - get(self, company_id: int) : Récupère une entreprise par son identifiant.
34 - get_address(self, company_id: int) : Récupère l'adresse d'une entreprise.
35 """
36 def __init__(self, client: SyncHenrriClient) -> None:
37 self._c = client
39 def get(self, company_id: int) -> Company:
40 """
41 Récupère une entreprise par son identifiant.
43 Arguments
44 - ``company_id`` : Identifiant de l'entreprise.
46 Returns
47 - ``henrri_connect.models.Company`` : Entreprise.
48 """
49 resp = self._c.request("GET", f"/v1/companies/{company_id}")
50 return Company.model_validate(resp.json())
52 def get_address(self, company_id: int) -> Address:
53 """
54 Récupère l'adresse d'une entreprise.
56 Arguments
57 - ``company_id`` : Identifiant de l'entreprise.
59 Returns
60 - ``henrri_connect.models.Address`` : Adresse de l'entreprise.
61 """
62 resp = self._c.request("GET", f"/v1/companies/{company_id}/address")
63 return Address.model_validate(resp.json())