Ë
    @ëRjó  ã                   ó|   — d Z ddlZddlmZ ddlmZ  ej                  d«      Zdedz  fd„Z	de
e   fd„Zdefd	„Zy)
z2Trip progress push/in-app notification recipients.é    N)ÚTransporterProfile)ÚShipmentÚapiÚreturnc                 ó®   — | j                   syt        j                  j                  | j                   ¬«      j	                  dd¬«      j                  «       S )z9Resolve the shipper user id for a trip from the database.N)ÚpkÚ
shipper_idT)Úflat)Úshipment_idr   ÚobjectsÚfilterÚvalues_listÚfirst)Útrips    ú0/var/www/html/truck-me/api/trip_notifications.pyÚtrip_shipper_user_idr      sE   € à×ÒØä×Ñ×Ñ 4×#3Ñ#3ÐÓ4ß	‰�\¨ˆÓ	-ß	‰‹ðó    c           
      ó  — g }t        | «      }|r|j                  |«       n7t        j                  d| j                  | j
                  t        |dd«      «       | j                  xr4 |j                  | j                  k(  xr | j                  | j                  k7  }|r'| j                  r|j                  | j                  «       t        «       }g }|D ],  }|sŒ||vsŒ|j                  |«       |j                  |«       Œ. |S )u›   
    Individual driver acting on own trip â†’ shipper only.
    Fleet driver (assigned_driver != transporter) â†’ shipper + fleet owner (transporter).
    zJTrip progress notify missing shipper trip_id=%s shipment_id=%s actor_id=%sÚidN)r   ÚappendÚloggerÚwarningr   r   ÚgetattrÚassigned_driver_idÚtransporter_idÚsetÚadd)r   ÚactorÚ
recipientsr	   Úis_fleet_driver_actorÚseenÚuniqueÚuids           r   Útrip_progress_notify_user_idsr$      sò   € ð
 €Jä% dÓ+€JÙØ×Ñ˜*Õ%ä�‰ØXØ�G‰GØ×ÑÜ�E˜4 Ó&ô		
ð 	×Ñò 	;Ø�H‰H˜×/Ñ/Ñ/ò	;à×#Ñ# t×':Ñ':Ñ:ð ñ
  ×!4Ò!4Ø×Ñ˜$×-Ñ-Ô.ä‹5€DØ€FØò ˆÚ�3˜d’?Ø�H‰H�SŒMØ�M‰M˜#Õðð €Mr   c                 ó¤   — 	 | j                   j                  t        j                  j                  k(  S # t        j
                  t        f$ r Y yw xY w)NF)Útransporter_profileÚaccount_typer   ÚAccountTypeÚTRANSPORTER_DRIVERÚDoesNotExistÚAttributeError)Úusers    r   Úis_fleet_driver_accountr-   9   sH   € ðØ×'Ñ'×4Ñ4Ô8J×8VÑ8V×8iÑ8iÑiÐiøÜ×+Ñ+¬^Ð<ò Ùðús   ‚03 ³AÁA)Ú__doc__ÚloggingÚaccounts.modelsr   Úcore.modelsr   Ú	getLoggerr   Úintr   Úlistr$   Úboolr-   © r   r   ú<module>r7      sP   ðÙ 8ã å .Ý  à	ˆ×	Ñ	˜5Ó	!€ð #¨¡*ó ð °$°s±)ó  ðF Tô r   