libredte_lib_sdk.response_registry module

Registro de las clases de respuesta de la API y el DTO que las representa.

La API informa en meta.data_type la clase PHP de cada resultado. Cada DTO declara la suya con @api_response(…), junto a su from_api(): así la clase PHP queda a la vista donde se define el DTO, y el servicio no decide qué DTO usar, lo decide la respuesta.

Este módulo no importa ningún DTO (se registran ellos aquí), para no crear ciclos de importación.

libredte_lib_sdk.response_registry.api_response(php_class: str) → Callable[[type[_Dto]], type[_Dto]]

Registra el DTO decorado como representante de una clase PHP de la API.

php_class es el nombre completo de la clase, tal como llega en meta.data_type.

libredte_lib_sdk.response_registry.build_response(expected: type[_Dto], response: ApiResponse) → _Dto

Construye el DTO de una respuesta, según la clase que informó la API.

expected es el DTO que el servicio espera devolver: no elige el DTO (lo elige response.data_type), solo verifica que coincida y tipa el resultado.

Muestra:

LibreDteUnmappedResponseError – Si la clase de la respuesta no tiene DTO registrado o es distinta de la esperada.