o
    "Æiý  ã                   @   s€   d Z ddlmZ ddlmZ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
G dd„ de
ƒZdS )z
Menu schemas
é    )Ú	BaseModel)ÚOptionalÚList)Údatetimec                   @   sb   e Zd ZU dZeed< eed< eed< dZee ed< dZee	 ed< dZ
e	ed	< d
Zeed< dS )ÚMenuBasezBase menu schemaÚcodeÚnameÚpathNÚiconÚ	parent_idr   Ú
sort_orderTÚ	is_active)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r
   r   r   Úintr   r   Úbool© r   r   ú8/lsinfo/ai/hellotax_ai/base_platform/app/schemas/menu.pyr   	   s   
 r   c                   @   ó   e Zd ZdZdS )Ú
MenuCreatezSchema for creating a menuN)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Zee ed< dZee ed< dS )	Ú
MenuUpdatezSchema for updating a menuNr   r	   r
   r   r   r   )r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r      s   
 r   c                   @   s8   e Zd ZU dZeed< eed< eed< G dd„ dƒZdS )ÚMenuResponsezSchema for menu responseÚidÚ
created_atÚ
updated_atc                   @   r   )zMenuResponse.ConfigTN©r   r   r   Úfrom_attributesr   r   r   r   ÚConfig)   ó    r!   N)r   r   r   r   r   r   r   r!   r   r   r   r   r   #   s   
 r   c                   @   s0   e Zd ZU dZg Zed  ed< G dd„ dƒZdS )ÚMenuTreez"Schema for menu tree with childrenÚchildrenc                   @   r   )zMenuTree.ConfigTNr   r   r   r   r   r!   1   r"   r!   N)r   r   r   r   r$   r   r   r!   r   r   r   r   r#   -   s   
 r#   N)r   Úpydanticr   Útypingr   r   r   r   r   r   r   r#   r   r   r   r   Ú<module>   s    

