o
    gY
                     @   sl   d dl mZmZmZmZmZmZmZmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ G dd deZdS )	    )ColumnStringDateTimeIntegerBooleanfuncIndexComputed)BIGINT)relationship)Base)nowc                   @   s  e Zd ZdZeedddddZeedddZee	ddddZ
ee	ddd	Zee	d
dd	Zee	d
dd	Zee	ddd	Zee	ddd	Zee	ddddZede	ddddZeedddZee	ddddZee	ddd	Zee	ddddZee	ddd	ZeeddZeedd	ZeedddZee	ddddZeedddZeedd	ZeedddZeede dZ!eede e dZ"ee	de#ddddd	Z$e%d d!d"d#Z&e'd$e$dd%e'd&d'fZ(d(S ))UserusersT)unsigned)primary_keyautoincrementF)defaultnullable   )r   index)r   2            zM for Male, F for Female)r   commentZbirthday
   z
YYYY-MM-DDi'  )r   r   zprofile/default_avatar.png   )r   unique)r      ZTR   r   )r   r   onupdatezIF(status = 1, email, NULL))	persistedZUserAddressuserzall, delete-orphan)back_populatescascadeZix_users_active_email)r   Zidx_countrycountry_codeN))__name__
__module____qualname____tablename__r   r
   idr   is_adminr   emailpasswordZ
first_name	last_nameZ
phone_codeZphoneZgenderZ
birth_dater   Zdaily_step_goalZprofile_imageZbackground_imageZreference_codeZreference_code_usedZhealth_sync_statusr   Z
last_loginstatusr&   Zstep_notification_frequencyZlast_step_notification_timeZstep_notifications_sent_todayr   
created_atZ
updated_atr	   Zactive_emailr   	addressesr   __table_args__ r4   r4   /app/app/models/user.pyr      sP    
r   N)
sqlalchemyr   r   r   r   r   r   r   r	   Zsqlalchemy.dialects.mysqlr
   sqlalchemy.ormr   app.db.baser   app.core.timer   r   r4   r4   r4   r5   <module>   s   (