o
    "Æiˆ  ã                   @   s€   d Z ddlmZmZ ddlmZ ddlmZ G dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZ	G dd„ deƒZ
eZeZe	Ze
ZdS )z
Tenant (Company) schemas
é    )Ú	BaseModelÚfield_serializer)ÚOptional)Údatetimec                   @   sF   e Zd ZU dZeed< dZee ed< dZee ed< dZ	eed< dS )Ú
TenantBasezBase tenant schemaÚnameNÚcodeÚdescriptionÚactiveÚstatus)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   r   r	   r   © r   r   ú:/lsinfo/ai/hellotax_ai/base_platform/app/schemas/tenant.pyr   	   s   
 r   c                   @   ó   e Zd ZdZdS )ÚTenantCreatezSchema for creating a tenantN)r   r   r   r   r   r   r   r   r      s    r   c                   @   sR   e Zd ZU dZdZee ed< dZee ed< dZ	ee ed< dZ
ee ed< dS )ÚTenantUpdatezSchema for updating a tenantNr   r   r	   r   )r   r   r   r   r   r   r   r   r   r	   r   r   r   r   r   r      s   
 r   c                   @   sd   e Zd ZU dZeed< dZee ed< dZ	ee ed< e
ddƒdee fdd„ƒZG d	d
„ d
ƒZdS )ÚTenantResponsezSchema for tenant responseÚidNÚ
created_atÚ
updated_atÚdtc                 C   s   |d u rd S |  ¡ S )N)Ú	isoformat)Úselfr   Ú_infor   r   r   Úserialize_datetime$   s   z!TenantResponse.serialize_datetimec                   @   r   )zTenantResponse.ConfigTN)r   r   r   Úfrom_attributesr   r   r   r   ÚConfig*   s    r!   )r   r   r   r   Úintr   r   r   r   r   r   r   r!   r   r   r   r   r      s   
 r   N)r   Úpydanticr   r   Útypingr   r   r   r   r   r   ÚCompanyBaseÚCompanyCreateÚCompanyUpdateÚCompanyResponser   r   r   r   Ú<module>   s    