Ë
    îH­jÖ  ã                   óÎ   — d Z 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 dededefd	„Zdeed
z  ed
z  f   fd„Zddej                   ded
z  defd„Zdej                   de	fd„Zy
)zDHelpers para pasar entre PostGIS (Geography POINT) y lat/lng planos.é    ©Ú
WKTElement)Úto_shape)Úmodels)ÚMediaItemOutÚMusicianDetailOutÚMusicianOutÚMusicianSearchResultÚlatÚlngÚreturnc                 ó*   — t        d|› d| › d�d¬«      S )z?Construye un POINT PostGIS (nota: orden lon lat) desde lat/lng.zPOINT(Ú Ú)iæ  )Úsridr   )r   r   s     ú9/var/www/sinfronteras/gotagig/backend/app/services/geo.pyÚpointr      s   € ä˜˜s˜e 1 S E¨Ð+°$Ô7Ð7ó    Nc                 óN   — | €yt        | «      }|j                  |j                  fS )z@Devuelve (lat, lng) desde una columna Geography, o (None, None).)NN)r   ÚyÚx)ÚlocationÚshapes     r   Úcoordsr      s(   € àÐØÜ�XÓ€EØ�7‰7�E—G‘GÐÐr   ÚprofileÚdistance_kmc                 óª   — t        | j                  «      \  }}t        j                  | «      j	                  «       }||d<   ||d<   t        di |¤d|i¤ŽS )Nr   r   r   © )r   r   r	   Úmodel_validateÚ
model_dumpr
   )r   r   r   r   Úbases        r   Úto_outr"      sT   € Ü�g×&Ñ&Ó'�H€CˆÜ×%Ñ% gÓ.×9Ñ9Ó;€DØ€Dˆ�KØ€Dˆ�KÜÑ@ $Ñ@°KÒ@Ð@r   c                 ó  — t        | j                  «      \  }}t        j                  | «      j	                  «       }||d<   ||d<   | j
                  D �cg c]  }t        j                  |«      ‘Œ }}t        di |¤d|i¤ŽS c c}w )uL   Perfil completo con lat/lng y galerÃ­a de media (para la pantalla pÃºblica).r   r   Úmediar   )r   r   r	   r   r    r$   r   r   )r   r   r   r!   Úmr$   s         r   Ú	to_detailr&   #   s}   € ä�g×&Ñ&Ó'�H€CˆÜ×%Ñ% gÓ.×9Ñ9Ó;€DØ€Dˆ�KØ€Dˆ�KØ5<·]²]ÓC±]°Œ\×(Ñ(¨Õ+°]€EÐCÜÑ1˜tÑ1¨5Ò1Ð1ùò Ds   ÁB)N)Ú__doc__Úgeoalchemy2.elementsr   Úgeoalchemy2.shaper   Úappr   Úapp.schemas.musicianr   r   r	   r
   Úfloatr   Útupler   ÚMusicianProfiler"   r&   r   r   r   Ú<module>r/      s–   ðÙ JÝ +Ý &å ÷ó ð8ˆuð 8˜5ð 8 Zó 8ð
˜˜e d™l¨E°D©LÐ8Ñ9ó ñA�F×*Ñ*ð A¸À¹ð AÐQeó Að2�v×-Ñ-ð 2Ð2Cô 2r   