o
    i                     @   sv   d dl mZ d dlmZmZmZmZ edddZe Zde_	G dd deZ
d	d
 Zdd Zdd Zejdd ZdS )    )Cache)	UserMixin
login_userLoginManagerlogout_useri  ip  )maxsizettlzhome.login_pagec                   @   s*   e Zd Zd	ddZdd Zedd ZdS )
UserFNc                 C   s6   || _ || _|| _|| _|| _|pg | _|pi | _d S N)idnamepasswordemailadmingroups
sys_config)selfr   r   r   r   r   r   r    r   (/opt/nsrc-open-message/app/utils/auth.py__init__
   s   
zUser.__init__c                 C      | j S r
   )r   r   r   r   r   __repr__   s   zUser.__repr__c                 C   r   r
   )r   r   r   r   r   is_admin   s   zUser.is_admin)FNN)__name__
__module____qualname__r   r   propertyr   r   r   r   r   r	   	   s
    
	r	   c                 C   s   t |  d S r
   )login_managerinit_app)appr   r   r   r      s   r   c                 C   s    t | dd t|  |  d S )NT)Zremember)r   cachesetZget_id)userr   r   r   
user_login   s   r$   c                   C   s
   t   d S r
   )r   r   r   r   r   user_logout$   s   
r%   c                 C   s
   t | S r
   )r!   get)Zuser_idr   r   r   	load_user(   s   
r'   N)cacheoutr   Zflask_loginr   r   r   r   r!   r   Z
login_viewr	   r   r$   r%   Zuser_loaderr'   r   r   r   r   <module>   s    