o
    kBhS*                     @   s2   d dl mZ ddlZddlmZ G dd dZdS )   )User    N)generate_password_hashc                   @   s   e Zd ZdddddZedd Zedd	 Zed
d Zedd Zedd Z	edd Z
edd Zedd Zedd Zedd ZdS )	ModelUserz	127.0.0.1sebap2PApV7b0bLkzLLxQ0ZNspxButterfly)hostuserpassworddatabasec                 C   s   t jjdi | jS )N )mysql	connectorconnect	db_config)clsr   r   </var/www/html/opcionsigma.spxbutterflies/models/ModelUser.py_connect   s   zModelUser._connectc                 C   sx   |   }| r:| }d}|||jf | }|d ur8t|d |d t|d |j|d |d d}|S d S d S )NzOSELECT id, username, password, fullname, userPlan FROM user WHERE username = %sr   r            )fullnameuserPlan)	r   is_connectedcursorexecuteusernamefetchoner   check_passwordr   )r   dbr
   
connectionr   sqlrowr   r   r   login   s   
zModelUser.loginc                 C   s*  |   }| r|jdd}d}|||f | }|d urtd3i d|d d|d dd d|d d|d d	|d	 d
|d
 d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d|d d |d  d!|d! d"|d" d#|d# d$|d$ d%|d% d&|d& d'|d' d(|d( d)|d) d*|d* d+|d+ d,|d, d-|d- d.|d. d/|d/ d0|d0 d1|d1 d2|d2 }|S d S d S )4NT)
dictionaryz SELECT * FROM user WHERE id = %sidr   r   r   takeProfit1_PercenstopLoss1_PercentakeProfit2_PercenstopLoss2_PercentakeProfit3_PercenstopLoss3_PercentakeProfit4_PercenstopLoss4_PercentakeProfit5_PercenstopLoss5_PercentakeProfit6_PercenstopLoss6_PercentakeProfit7_PercenstopLoss7_PercentakeProfit8_PercenstopLoss8_PercentakeProfit9_PercenstopLoss9_PercentakeProfit10_PercenstopLoss10_PercentakeProfit1_DollarstopLoss1_DollartakeProfit2_DollarstopLoss2_DollartakeProfit3_DollarstopLoss3_DollartakeProfit4_DollarstopLoss4_DollartakeProfit5_DollarstopLoss5_DollartakeProfit6_DollarstopLoss6_DollartakeProfit7_DollarstopLoss7_DollartakeProfit8_DollarstopLoss8_DollartakeProfit9_DollarstopLoss9_DollartakeProfit10_DollarstopLoss10_Dollaroffset	contractsr   r   )r   r   r   r   r   r   )r   r    r&   r!   r   r"   r#   logged_userr   r   r   	get_by_id!   s   

	
 !"#$%&'()*+,-/013zModelUser.get_by_idc           
      C   sJ   t |}|  }| r#| }d}|||f}	|||	 |  d S d S )NzCINSERT INTO user (username, password, fullname) VALUES (%s, %s, %s))r   r   r   r   r   commit)
r   r    r   r   namehashed_passwordr!   r   r"   valuesr   r   r   createf   s   
zModelUser.createc                 C   s  |   }| r| }d}g |d |d |d |d |d |d |d |d	 |d
 |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d |d  |d! |d" |d# |d$ |d% |d& |d' |d( |d) |d* |d+ |R }||| |  d S d S ),Na  UPDATE user SET takeProfit1_Percen = %s, stopLoss1_Percen = %s, takeProfit2_Percen = %s, stopLoss2_Percen = %s, takeProfit3_Percen = %s, stopLoss3_Percen = %s, takeProfit4_Percen = %s, stopLoss4_Percen = %s, takeProfit5_Percen = %s, stopLoss5_Percen = %s, takeProfit6_Percen = %s, stopLoss6_Percen = %s, takeProfit7_Percen = %s, stopLoss7_Percen = %s, takeProfit8_Percen = %s, stopLoss8_Percen = %s , takeProfit9_Percen = %s, stopLoss9_Percen = %s, takeProfit10_Percen = %s, stopLoss10_Percen = %s takeProfit1_Dollar = %s, stopLoss1_Dollar = %s, takeProfit2_Dollar = %s, stopLoss2_Dollar = %s, takeProfit3_Dollar = %s, stopLoss3_Dollar = %s, takeProfit4_Dollar = %s, stopLoss4_Dollar = %s, takeProfit5_Dollar = %s, stopLoss5_Dollar = %s , takeProfit6_Dollar = %s, stopLoss6_Dollar = %s, takeProfit7_Dollar = %s, stopLoss7_Dollar = %s, takeProfit8_Dollar = %s, stopLoss8_Dollar = %s , takeProfit9_Dollar = %s, stopLoss9_Dollar = %s, takeProfit10_Dollar = %s, stopLoss10_Dollar = %s, contracts = %s, offset = %s WHERE id = %sr'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rP   rO   )r   r   r   r   rS   )r   r    datar&   r!   r   r"   rV   r   r   r   saveDataq   s   		

zModelUser.saveDatac           	   
   C   s   t || z*|  }| r-| }d}||f}||| |  |  |  W dS W dS  tyG } zt d| W Y d }~dS d }~ww )NzEUPDATE user SET userPlan = 99, idTransaction = %s WHERE username = %sTzError:F)printr   r   r   r   rS   close	Exception)	r   r    r   transactionIDr!   r   r"   rV   er   r   r   saveDataVIP   s&   
zModelUser.saveDataVIPc                 C   F   |   }| r!| }d}|||f | }|d }|dkS dS )Nz-SELECT COUNT(*) FROM user WHERE username = %sr   Fr   r   r   r   r   )r   r    r   r!   r   r"   r#   
user_countr   r   r   check_user_exists      zModelUser.check_user_existsc                 C   sP   |   }| r&| }d}||f}||| |  |  |  dS dS )Nz.UPDATE user SET token = %s WHERE username = %sTF)r   r   r   r   rS   r[   )r   r    r   tokenr!   r   r"   rV   r   r   r   	saveToken   s   zModelUser.saveTokenc                 C   r`   )Nz*SELECT COUNT(*) FROM user WHERE token = %sr   Fra   )r   r    re   r!   r   r"   r#   token_countr   r   r   token_exists   rd   zModelUser.token_existsc           	   
   C   s   |   }t|}| rX| }z>zd}||||f |  W W |  |  dS  tyN } ztd|  W Y d }~W |  |  dS d }~ww |  |  w dS )Nz.UPDATE user SET password = %s WHERE token = %sTzError resetting password: F)	r   r   r   r   r   rS   r[   r\   rZ   )	r   r    re   new_passwordr!   rU   r   r"   r^   r   r   r   reset_password   s*   
zModelUser.reset_passwordN)__name__
__module____qualname__r   classmethodr   r$   rR   rW   rY   r_   rc   rf   rh   rj   r   r   r   r   r      s4    


D


!



r   )entities.Userr   mysql.connectorr   werkzeug.securityr   r   r   r   r   r   <module>   s    