o
    Ah	                     @   s   d dl mZmZ d dlmZ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 )    )	BaseModelField)OptionalListDict)datetimec                   @   s   e Zd ZU edddZeed< edddZee ed< edddZ	ee
eee f  ed	< edd
dZee ed< edddZee ed< edddZee ed< edddZee ed< dS )RoleBase.z)Role name (e.g. 'Super Admin', 'Manager')descriptionnameNzA brief description of the roler
   FMapping of module IDs to allowed actions, e.g. {1: ['read', 'update']}permissionszCAccount ID if role is account-specific; null/empty for global roles
account_idFIFlag indicating this is a system default role and should not be modified.is_system_default`Flag indicating whether the role has global access (True) or is limited to its own data (False).is_global_access.Flag indicating whether the role is SaaS-only.is_saas_only)__name__
__module____qualname__r   r   str__annotations__r
   r   r   r   intr   r   r   boolr   r    r   r   8/var/www/html/moveengine/app/v1/models/saas/rolemodel.pyr      s$   
 r   c                   @   s   e Zd ZU dZee ed< dS )
RoleCreateNrole_id)r   r   r   r   r   r   r   r   r   r   r   r      s   
 r   c                   @   s   e Zd ZU edddZee ed< edddZee ed< edddZ	ee
eee f  ed< ed	d
dZee ed< ed	ddZee ed< ed	ddZee ed< dS )
RoleUpdateNzNew role namer	   r   zNew descriptionr
   r   r   Fr   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   r   r       s   
 r    c                   @   s2   e Zd ZU edddZeed< eed< eed< dS )Role.r   )aliasidcreated_dateupdated_dateN)r   r   r   r   r#   r   r   r   r   r   r   r   r!   /   s   
 r!   c                   @   s"   e Zd ZU eed< ee ed< dS )RoleListResponsetotal_countrolesN)r   r   r   r   r   r   r!   r   r   r   r   r&   4   s   
 r&   N)pydanticr   r   typingr   r   r   r   r   r   r    r!   r&   r   r   r   r   <module>   s    