o
    "i                     @   sP   d Z ddlmZmZmZmZmZmZ ddlm	Z	 ddl
mZ G dd deZdS )z
Role model
    )ColumnStringBooleanTextInteger
ForeignKey)relationship)	BaseModelc                   @   s   e Zd ZdZdZddiZeedddddZeed	dd
Z	ee
dd
ZeedddZeeeddddZedddddZedddddZedddddZdS )Rolezc
    Role model
    Represents a role in the system with menu permissions and RBAC permissions
    rolesschemapublic2   TF)uniquenullableindexd   )r   )defaultr   zpublic.tenants.id)r   r   UserRolerolezall, delete-orphanzUserRole.role_id)back_populatescascadeforeign_keysRoleMenuzRoleMenu.role_idRolePermissionzRolePermission.role_idN)__name__
__module____qualname____doc____tablename____table_args__r   r   codenamer   descriptionr   	is_systemr   r   	tenant_idr   
user_roles
role_menusrole_permissions r)   r)   7/lsinfo/ai/hellotax_ai/base_platform/app/models/role.pyr
   	   s    r
   N)r   
sqlalchemyr   r   r   r   r   r   sqlalchemy.ormr   app.models.baser	   r
   r)   r)   r)   r*   <module>   s
     