o
    6k~i                     @   sd   d dl mZ d dlm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 )    )models)gettext_lazyc                   @   sl   e Zd ZdedfZdedfZdedfZdedfZd	ed
fZdedfZ	dedfZ
dedfZdS )NotificationTypebooking_reminderzBooking Reminderbooking_confirmedzBooking Confirmedbooking_cancelledzBooking Cancelled	offer_newz	New Offer
review_newz
New Reviewreview_responsezReview Responseplace_updatezPlace UpdategeneralGeneralN)__name__
__module____qualname___BOOKING_REMINDERBOOKING_CONFIRMEDBOOKING_CANCELLED	OFFER_NEW
REVIEW_NEWREVIEW_RESPONSEPLACE_UPDATEGENERAL r   r   9/var/www/newdalilibackend/backend/notifications/models.pyr      s    r   c                   @   s   e Zd ZdZejdejdeddZej	de
je
jeddZej	d	ed
dZejeddZejededdZejdeddZejddZG dd dZdd Zdd ZdS )NotificationzNotification Modelaccounts.UsernotificationsUser	on_deleterelated_nameverbose_name2   Type)
max_lengthchoicesdefaultr#      Title)r&   r#   Message)r#   TDatar(   blankr#   FzIs Read)r(   r#   auto_now_addc                   @   @   e Zd ZedZedZdgZejddgdejdgdgZ	dS )	zNotification.Metar   Notifications-created_atuseris_readfieldstypeN
r   r   r   r   r#   verbose_name_pluralorderingr   Indexindexesr   r   r   r   Meta$       r>   c                 C      | j j d| j S Nz - )r4   usernametitleselfr   r   r   __str__-      zNotification.__str__c                 C   s   d| _ | jdgd dS )zMark notification as readTr5   )update_fieldsN)r5   saverD   r   r   r   mark_as_read0   s   zNotification.mark_as_readN)r   r   r   __doc__r   
ForeignKeyCASCADEr   r4   	CharFieldr   r'   r   r8   rC   	TextFieldmessage	JSONFielddictdataBooleanFieldr5   DateTimeField
created_atr>   rF   rJ   r   r   r   r   r      s,    	r   c                   @   sb   e Zd ZdZejdejdeddZejdejdeddZ	ej
d	d
ZG dd dZdd ZdS )Favoritez'Favorite Model - User's favorite placesr   	favoritesr   r    places.Placefavorited_byPlaceTr/   c                   @   s@   e Zd ZedZedZddgZejdgdejdgdgZ	dS )zFavorite.MetarW   	Favoritesr4   placer6   N)
r   r   r   r   r#   r:   unique_togetherr   r<   r=   r   r   r   r   r>   F   s    r>   c                 C   s   | j j d| jj S rA   )r4   rB   r]   namerD   r   r   r   rF   O   s   zFavorite.__str__N)r   r   r   rK   r   rL   rM   r   r4   r]   rU   rV   r>   rF   r   r   r   r   rW   6   s"    	rW   c                   @   s   e Zd ZdZG dd dejZejdejde	ddZ
ejdeje	d	d
Zejdejddde	ddZejdde	ddZejede	ddZejddZG dd dZdd ZdS )Activityz&Activity Model - User activity historyc                   @   sH   e Zd ZdedfZdedfZdedfZdedfZd	ed
fZdS )zActivity.ActivityTypebookingBookingvisitVisitsearchSearchfavoriterW   reviewReviewN)	r   r   r   r   BOOKINGVISITSEARCHFAVORITEREVIEWr   r   r   r   ActivityTypeU   s    ro   r   
activitiesr   r       r%   )r&   r'   r#   rY   Tr[   )r!   r.   nullr"   r#   Description)r.   rr   r#   Metadatar-   r/   c                   @   r1   )	zActivity.Metar`   
Activitiesr3   r4   r8   r6   r]   Nr9   r   r   r   r   r>   s   r?   r>   c                 C   r@   rA   )r4   rB   r8   rD   r   r   r   rF   |   rG   zActivity.__str__N)r   r   r   rK   r   TextChoicesro   rL   rM   r   r4   rN   r'   r8   r]   rO   descriptionrQ   rR   metadatarU   rV   r>   rF   r   r   r   r   r`   S   s6    	r`   N)	django.dbr   django.utils.translationr   r   rv   r   Modelr   rW   r`   r   r   r   r   <module>   s    &