Code source de henrri_connect.item_categories.asynchro

"""
Sous-client pour les endpoints /v1/itemcategories.

Classes:
- ``henrri_connect.item_categories.asynchro.AsyncItemCategoriesClient``
    Accès asynchrone aux endpoints categories d'articles.

Notes:
- Utiliser de préférence l'objet ``henrri_connect.AsyncHenrriClient`` 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 AsyncHenrriClient

ITEMCATEGORIES_ENDPOINT = "/v1/itemcategories"


[docs] class AsyncItemCategoriesClient: """ Accès asynchrone aux catégories d'articles. Arguments - ``client`` : Objet ``henrri_connect.AsyncHenrriClient`` pour acceder aux endpoints. Methodes - ``list_item_categories`` : Liste les catégories d'articles avec pagination. """ def __init__(self, client: AsyncHenrriClient) -> None: self._c = client
[docs] async 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 = await self._c.request("GET", ITEMCATEGORIES_ENDPOINT, params=params) return PagedListResponse[ItemCategory].model_validate(resp.json())