B
    Ų\'  ć               @   s   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	m
Z
 e ZG dd dejZG dd dejZG d	d
 d
ejZG dd dejZdS )é    )Ś
SQLAlchemy)Śinspect)ŚNoResultFound)ŚSchemaŚfieldsŚValidationErrorŚpre_loadc               @   sč   e Zd ZdZejejddZe ej”Ze e 	d””Z
e e 	d””Ze e 	d””Ze e 	d””Ze ej”Ze ej”Ze e 	d””Ze ej”Ze ej”Ze ej”Zdd Zdd	 Zd
d Zdd Zdd Zdd ZdS )ŚCustomerDataModelŚcustomer_dataT)Śprimary_keyé2   é   c
       
      C   s:   || _ || _|| _|| _|| _|| _|| _|| _|	| _d S )N)	ŚcustomernameŚvoucher_codeŚmobileŚotpŚcreated_dateŚupdated_dateŚ	ipaddressŚstatusŚcampaign_id)
Śselfr   r   r   r   r   r   r   r   r   © r   ś/E:\python_projects\hungerithum\api\db\models.pyŚ__init__#   s    zCustomerDataModel.__init__c             C   s   t j | ” t j ”  d S )N)ŚdbŚsessionŚaddŚcommit)r   r   r   r   Śsave.   s    zCustomerDataModel.savec             C   s<   x |  ” D ]\}}t| || q
W tj ” | _tj ”  d S )N)ŚitemsŚsetattrŚdatetimeŚutcnowr   r   r   r   )r   ŚdataŚkeyŚitemr   r   r   Śupdate2   s    zCustomerDataModel.updatec               C   s
   t j ” S )N)r	   ŚqueryŚallr   r   r   r   Śget_all_customerdata8   s    z&CustomerDataModel.get_all_customerdatac             C   s   t j | ”S )N)r	   r(   Śget)Śidr   r   r   Śget_one_customerdata;   s    z&CustomerDataModel.get_one_customerdatac             C   s   d  | j”S )Nz	<name {}>)Śformatr   )r   r   r   r   Ś__repr__>   s    zCustomerDataModel.__repr__N)Ś__name__Ś
__module__Ś__qualname__Ś__tablename__r   ŚColumnŚIntegerr,   Ścustomer_idŚStringr   r   r   r   ŚDateTimer   r   r   r   r   Z	reward_idr   r   r'   r*   r-   r/   r   r   r   r   r	      s&   r	   c               @   s¬   e Zd ZdZejejddZe e d””Z	e e d””Z
e e d””Ze e d””Ze ej”Ze ej”Ze ej”Ze ej”Ze ej”Zdd Zd	d
 ZdS )ŚMessageModelŚmessagesT)r   r   éś   iÜ  c	       	      C   s4   || _ || _|| _|| _|| _|| _|| _|| _d S )N)ŚfromidŚtoidŚsubŚbodyŚmsgtypeŚ	createdonr   r   )	r   r<   r=   r>   r?   r@   rA   r   r   r   r   r   r   N   s    zMessageModel.__init__c             C   s   t j | ” t j ”  d S )N)r   r   r   r   )r   r   r   r   r   X   s    zMessageModel.saveN)r0   r1   r2   r3   r   r4   r5   r,   r7   r<   r=   r>   r?   r@   r8   rA   Zsentonr   r   r   r   r   r   r   r   r9   A   s   
r9   c               @   sl   e Zd ZdZejejddZe ej”Ze e 	d””Z
e ej”Ze ej”Zdd Zdd Zd	d
 ZdS )ŚVoucherModelZvouchersT)r   r   c             C   s   || _ || _|| _|| _d S )N)r   ŚcodeŚusedonr   )r   r   rC   rD   r   r   r   r   r   d   s    zVoucherModel.__init__c             C   s   t j | ” t j ”  d S )N)r   r   r   r   )r   r   r   r   r   j   s    zVoucherModel.savec             C   s2   yt jj| dd ” }dS  tk
r,   dS X d S )Nr   )rC   r   TF)rB   r(   Ś	filter_byŚoner   )rC   r$   r   r   r   Śvoucher_validaiton_by_coden   s
    z'VoucherModel.voucher_validaiton_by_codeN)r0   r1   r2   r3   r   r4   r5   r,   r   r7   rC   r8   rD   r   r   r   rG   r   r   r   r   rB   \   s   rB   c               @   s`   e Zd ZdZejejddZe ej”Ze ej”Z	e ej
”Ze ej”Zdd Zdd ZdS )	ŚSentimentAnalysisDataModelZsentiment_analysis_dataT)r   c             C   s   || _ || _|| _|| _d S )N)r   Śno_of_posts_anlaysedŚcumulative_compound_scoreŚcreated_timestamp)r   r   rI   rJ   rK   r   r   r   r   ~   s    z#SentimentAnalysisDataModel.__init__c             C   s   t j | ” t j ”  d S )N)r   r   r   r   )r   r   r   r   r      s    zSentimentAnalysisDataModel.saveN)r0   r1   r2   r3   r   r4   r5   r,   r   rI   ŚNumericrJ   r8   rK   r   r   r   r   r   r   rH   u   s   rH   N)Zflask_sqlalchemyr   Zsqlalchemy.inspectionr   Śsqlalchemy.orm.excr   Zmarshmallowr   r   r   r   r   ZModelr	   r9   rB   rH   r   r   r   r   Ś<module>   s   -