Code source de henrri_connect.item_categories.synchro
"""
Sous-client pour les endpoints /v1/itemcategories.
Classes:
- ``henrri_connect.item_categories.synchro.SyncItemCategoriesClient``
Accès synchrone aux endpoints categories d'articles.
Notes:
- Utiliser de préférence l'objet ``henrri_connect.SyncHenrriClient`` pour acceder aux endpoints.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
from ..models import ItemCategory, PagedListResponse, ItemCategoryRequest
from ..utils import clean
if TYPE_CHECKING:
from ..connect import SyncHenrriClient
ITEMCATEGORIES_ENDPOINT = "/v1/itemcategories"
[docs]
class SyncItemCategoriesClient:
"""
Accès synchrone aux catégories d'articles.
Arguments
- ``client`` : Objet ``henrri_connect.SyncHenrriClient`` pour acceder aux endpoints.
Methodes
- ``list_item_categories`` : Liste les catégories d'articles avec pagination.
"""
def __init__(self, client: SyncHenrriClient) -> None:
self._c = client
[docs]
def list_item_categories(
self,
*,
request: ItemCategoryRequest,
) -> PagedListResponse[ItemCategory]:
"""
Liste les catégories d'articles avec pagination.
Arguments
- ``request`` (ItemCategoryRequest) : Paramètres de recherche.
Returns
- ``PagedListResponse[ItemCategory]`` : Liste paginée de catégories d'articles.
"""
params = clean(request.model_dump(by_alias=True))
resp = self._c.request("GET", ITEMCATEGORIES_ENDPOINT, params=params)
return PagedListResponse[ItemCategory].model_validate(resp.json())