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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
Role schemas
é    )Ú	BaseModel)ÚOptionalÚList)Údatetimec                   @   s*   e Zd ZU dZeed< dZee ed< dS )ÚRoleBasezBase role schemaÚnameNÚdescription)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__r   r   © r   r   ú8/lsinfo/ai/hellotax_ai/base_platform/app/schemas/role.pyr   	   s   
 r   c                   @   ó   e Zd ZdZdS )Ú
RoleCreatez0Schema for creating a role (code auto-generated)N)r	   r
   r   r   r   r   r   r   r      s    r   c                   @   s2   e Zd ZU dZdZee ed< dZee ed< dS )Ú
RoleUpdatezSchema for updating a roleNr   r   )	r	   r
   r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   c                   @   sp   e Zd ZU dZeed< eed< eed< dZee ed< e	ed< dZ
ee ed< eed	< eed
< G dd„ dƒZdS )ÚRoleResponsezSchema for role responseÚidÚcoder   Nr   Ú	is_systemÚ	tenant_idÚ
created_atÚ
updated_atc                   @   r   )zRoleResponse.ConfigTN©r	   r
   r   Úfrom_attributesr   r   r   r   ÚConfig%   ó    r   )r	   r
   r   r   Úintr   r   r   r   Úboolr   r   r   r   r   r   r   r      s   
 r   c                   @   s0   e Zd ZU dZg Zee ed< G dd„ dƒZdS )ÚRoleWithMenuszSchema for role with menu IDsÚmenu_idsc                   @   r   )zRoleWithMenus.ConfigTNr   r   r   r   r   r   -   r   r   N)	r	   r
   r   r   r"   r   r   r   r   r   r   r   r   r!   )   s   
 r!   c                   @   s"   e Zd ZU dZeed< eed< dS )ÚPermissionItemzSchema for a single permissionÚresourceÚactionN)r	   r
   r   r   r   r   r   r   r   r   r#   1   s   
 r#   c                   @   s   e Zd ZU dZee ed< dS )ÚRolePermissionsUpdatez$Schema for updating role permissionsÚpermissionsN)r	   r
   r   r   r   r#   r   r   r   r   r   r&   7   s   
 r&   c                   @   s0   e Zd ZU dZeed< eed< G dd„ dƒZdS )ÚRolePermissionResponsez#Schema for role permission responser$   r%   c                   @   r   )zRolePermissionResponse.ConfigTNr   r   r   r   r   r   A   r   r   N)r	   r
   r   r   r   r   r   r   r   r   r   r(   <   s
   
 r(   c                   @   s&   e Zd ZU dZeed< ee ed< dS )ÚResourceInfozSchema for resource informationr   ÚactionsN)r	   r
   r   r   r   r   r   r   r   r   r   r)   E   s   
 r)   N)r   Úpydanticr   Útypingr   r   r   r   r   r   r   r!   r#   r&   r(   r)   r   r   r   r   Ú<module>   s    	