
    7h                         d dl 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
mZ  ede      Zd Zej                  dd	g
      d        Zej                  ddg
      d        Zy)    )	Blueprintjsonifyrequest)Notification)Exam)ObjectId)datetimetimezonenotificationc                    t        j                  t        j                        }| j                  | j                  j                  |        | j                  t        j                        } || z
  }|j                         }|dz  }|dz  }|j                  }|dk  rt        |       dS |dk  rt        |       dS |dk  rt        |       dS t        |       dS )z2Convert datetime to human-readable time ago format)tzinfo<   z seconds agoz minutes ago   z
 hours agoz	 days ago)
r	   nowr
   utcr   	utcoffsetreplacetotal_secondsdaysint)created_dater   diffsecondsminuteshoursr   s          5/var/www/html/eduruby.in/routes/notfication_routes.pytime_agor   	   s    
,,x||
$C"l&9&9&C&CL&Q&Y#++8<<+@D  "GmGrME99D|g,|,,	2g,|,,	e*Z((d)I&&    z/get_notifications_listGET)methodsc                  .   	 t        t        j                  j                  dd            } t        t        j                  j                  dd            }| dz
  |z  }t	        j
                  d      j                         }t	        j
                  d      j                  d      j                  |      j                  |      }g }|D ]  }|j                  t        |j                        |j                  |j                  |j                  |j                   r|j                   nd |j"                  t%        |j&                        d        t)        d|| ||||z   dz
  |z  d	      d
fS # t*        $ r#}t)        dt        |      d      dfcY d }~S d }~ww xY w)Npage   limit
   )statusz-created_date)idtitledescriptionis_readimager&   r   T)r&   datar"   r$   totaltotal_pages   Fr&   message  )r   r   argsgetr   objectscountorder_byskipr$   appendstrr'   r(   r)   readr+   r&   r   r   r   	Exception)r"   r$   r8   total_countnoticesr,   noticees           r   get_active_notificationsrA       sq    B7<<##FA./GLL$$Wb12qE! #**!4::<&&a099/JOOPTU[[\ab 		FKK&))n%11!;;)/4 --$V%8%89 		  '%/!3=
   	  B%CF;<cAABs   E%E( (	F1F	FFz/mark_as_read_notificationPOSTc                     	 t         j                  j                  d      } | rt        j                  |       st        ddd      dfS t        j                  t        |             j                         }|st        ddd      dfS d	|_	        |j                          t        d
dd      dfS # t        $ r#}t        dt        |      d      dfcY d }~S d }~ww xY w)Nnotification_idFzInvalid notification IDr0   i  )r'   zNotification not foundi  r#   TzNotification marked as readr/   r2   )r   jsonr4   r   is_validr   r   r5   firstr;   saver<   r:   )	notice_idr?   r@   s      r   mark_notification_as_readrJ   D   s    BLL$$%67	 1 1) <e8QRSUXXX%%))<=CCEe8PQRTWWW$3PQRTWWW B%CF;<cAABs*   AB. >B. &B. .	C7CCCN)flaskr   r   r   models.notification_modelr   models.examr   bsonr   r	   r
   __name__notification_bpr   routerA   rJ    r   r   <module>rS      s}    - - 2   'NH5'. 05'B!B C!BF 3fXFB GBr   