U
    YHgx                     @   sR   d dl mZ d dlZd dlZddlmZ d dlmZ d dlZG dd dej	Z
dS )    )absolute_importN   )AdminUserRole)dbc                   @   s   e Zd ZdZejdejddZejedddddZ	eedZ
eedZeejZeed	Zejd
edZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )	AdminUser	adminuseridT)primary_key2   F)uniqueindexnullable   
   ZRole)	secondaryc                 C   s>   || _ td | _t| j |   | _	d| _
d S )N   F)usernameosurandomhexsalthashlibsha512encode	hexdigestpasswordauthenticated)selfr   r    r   2/var/www/dostadmin/dostadmin/db_model/adminuser.py__init__   s    
zAdminUser.__init__c                 C   s2   t | j |   }|| jkr,d| _| jS NT)r   r   r   r   r   r   r   )r   r   Zip_hashr   r   r   authenticate   s    
zAdminUser.authenticatec                 C   s
   d| _ d S NFr   r   r   r   r   logout"   s    zAdminUser.logoutc                 C   s   | j S Nr$   r%   r   r   r   is_authenticated%   s    zAdminUser.is_authenticatedc                 C   s   dS r!   r   r%   r   r   r   	is_active(   s    zAdminUser.is_activec                 C   s   dS r#   r   r%   r   r   r   is_anonymous+   s    zAdminUser.is_anonymousc                 C   s   t | jS r'   )six	text_typer   r%   r   r   r   get_id.   s    zAdminUser.get_idc                 C   s   d| j  dS )Nz<AdminUser >)r   r%   r   r   r   __repr__1   s    zAdminUser.__repr__N)__name__
__module____qualname____tablename__r   ColumnIntegerr   Stringr   r   r   Booleanr   phonerelationshipr   rolesr    r"   r&   r(   r)   r*   r-   r/   r   r   r   r   r   	   s    	r   )
__future__r   r   r   roler   	dostadminr   r+   Modelr   r   r   r   r   <module>   s   