+
    `Øj�  ã                   ó
  € ^ RI t ^ RIHt ^ RIHtHtHtHtHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ]! 4       t]! 4       t]P1                  R
]P2                  R7      ]! ^^^dR7      ]! R4      ]! ]4      ]! ]4      3R R ll4       t]P7                  R4      ]! ]4      ]! ]4      3R R ll4       t]P;                  R4      ]! ]4      ]! ]4      3R R ll4       t]P1                  R
]P2                  R7      ]! ^^^dR7      ]! R4      ]! ]4      ]! ]4      3R R ll4       t]P7                  R4      ]! ]4      ]! ]4      3R R ll4       t ]P;                  R4      ]! ]4      ]! ]4      3R R ll4       t!R# )é    N)ÚOptional)Ú	APIRouterÚDependsÚQueryÚHTTPExceptionÚRequest)ÚAsyncSession)Úget_db)Úget_current_user)Ú
LoginUsers)Úget_current_dealer)ÚschemasÚserviceÚ )Úresponse_model)ÚgeÚleFc                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )é   ÚlimitÚunread_onlyÚcurrent_userÚdb)ÚintÚboolr   r	   )Úformats   "ÚB/var/www/html/audi_dev/backend/app/modules/notifications/routes.pyÚ__annotate__r      s0   € ÷ ñ Üðäðô ðô 	ñ	ó    c              ƒ   ór   "  € \         P                  ! W2P                  WR 7      G Rj  x€L
 w  rERVRV/#  L5i)©r   r   NÚnotificationsÚunread_count)r   Úget_user_notificationsÚuser_id)r   r   r   r   Úitemsr#   s   &&&&  r   Úlist_staff_notificationsr'      sE   é € ô !(× >Ò >Ø
× Ñ ¨ô!÷ Ñ€Eð 	˜Ø˜ðð ñùs   ‚&7¨5©7z/{notification_id}/readc                óP   € V ^8„  d   QhR\         P                  R\        R\        /# )r   Únotification_idr   r   )ÚuuidÚUUIDr   r	   )r   s   "r   r   r   (   s*   € ÷ 
!ñ 
!Ü—Y‘Yð
!äð
!ô 	ñ
!r   c              ƒ   ó”   "  € \         P                  ! W VP                  R 7      G Rj  x€L
 pV'       g   \        RRR7      hRR/#  L5i)©r%   Né”  úNotification not found©Ústatus_codeÚdetailÚstatusÚsuccess)r   Úmark_notification_as_readr%   r   )r)   r   r   r4   s   &&& r   Úmark_staff_notification_readr6   '   sJ   é € ô ×5Ò5Ø
 \×%9Ñ%9ô÷ €G÷ Ü¨Ð4LÔMÐMØ�iÐ Ð ñùs   ‚&A¨A©AµAz/mark-all-readc                ó0   € V ^8„  d   QhR\         R\        /# )r   r   r   )r   r	   )r   s   "r   r   r   6   s   € ÷ 9ñ 9Üð9äñ9r   c              ƒ   ól   "  € \         P                  ! WP                  R 7      G Rj  x€L
 pRRRV/#  L
5i)r-   Nr3   r4   Úmarked_read)r   Úmark_all_notifications_as_readr%   )r   r   Úupdateds   && r   Ú!mark_all_staff_notifications_readr<   5   s;   é € ô
 ×:Ò:Ø
×(Ñ(ô÷ €Gð �i °Ð8Ð8ñùs   ‚%4§2¨4c                óH   € V ^8„  d   QhR\         R\        R\        R\        /# )r   r   r   Údealerr   )r   r   Údictr	   )r   s   "r   r   r   E   s0   € ÷ ñ Üðäðô ðô 	ñ	r   c              ƒ   ól   "  € \         P                  ! W2R ,          WR7      G Rj  x€L
 w  rERVRV/#  L5i)Ú	dealer_idr!   Nr"   r#   )r   Úget_dealer_notifications)r   r   r>   r   r&   r#   s   &&&&  r   Úlist_dealer_notificationsrC   D   sD   é € ô !(× @Ò @Ø
�;Õ uô!÷ Ñ€Eð 	˜Ø˜ðð ñùs   ‚#4¥2¦4c                óP   € V ^8„  d   QhR\         P                  R\        R\        /# )r   r)   r>   r   )r*   r+   r?   r	   )r   s   "r   r   r   U   s*   € ÷ 
!ñ 
!Ü—Y‘Yð
!äð
!ô 	ñ
!r   c              ƒ   óŽ   "  € \         P                  ! W VR ,          R7      G Rj  x€L
 pV'       g   \        RRR7      hRR/#  L5i)rA   ©rA   Nr.   r/   r0   r3   r4   )r   r5   r   )r)   r>   r   r4   s   &&& r   Úmark_dealer_notification_readrG   T   sI   é € ô ×5Ò5Ø
 v¨kÕ':ô÷ €G÷ Ü¨Ð4LÔMÐMØ�iÐ Ð ñùs   ‚#A¥A¦A²Ac                ó0   € V ^8„  d   QhR\         R\        /# )r   r>   r   )r?   r	   )r   s   "r   r   r   c   s   € ÷ 9ñ 9Üð9äñ9r   c              ƒ   óf   "  € \         P                  ! WR ,          R7      G Rj  x€L
 pRRRV/#  L
5i)rA   rF   Nr3   r4   r9   )r   r:   )r>   r   r;   s   && r   Ú"mark_all_dealer_notifications_readrJ   b   s:   é € ô
 ×:Ò:Ø
˜[Õ)ô÷ €Gð �i °Ð8Ð8ñùs   ‚"1¤/¥1)"r*   Útypingr   Úfastapir   r   r   r   r   Úsqlalchemy.ext.asyncior	   Úapp.core.databaser
   Úapp.core.securityr   Úapp.models.core_modelsr   Ú app.modules.dealer_portal.routesr   Úapp.modules.notificationsr   r   ÚrouterÚdealer_routerÚgetÚNotificationListResponser'   Úpatchr6   Úpostr<   rC   rG   rJ   © r   r   Ú<module>rZ      sŽ  ðÛ Ý ß EÕ EÝ /å $Ý .Ý -Ý ?ß 6ñ 
‹€ñ “€ð ‡�ˆB˜w×?Ñ?€Ó@á�r˜a CÔ(Ù˜e›Ù&Ð'7Ó8Ù˜v“ö	ó Aðð ‡�Ð'Ó(ñ  'Ð'7Ó8Ù˜v“ö
!ó )ð
!ð ‡�ÐÓá&Ð'7Ó8Ù˜v“ö9ó ð9ð ×Ñ�2 g×&FÑ&FÐÓGá�r˜a CÔ(Ù˜e›ÙÐ-Ó.Ù˜v“ö	ó Hðð ×ÑÐ.Ó/ñ Ð-Ó.Ù˜v“ö
!ó 0ð
!ð ×ÑÐ$Ó%áÐ-Ó.Ù˜v“ö9ó &ò9r   