Ë
    îH­jc  ã                   óÈ   — d Z ddlmZmZ  G d„ de«      Z G d„ de«      Z G d„ de«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z	 G d„ de	«      Z
 G d„ de	«      Zy)u=   Schemas de perfil de mÃºsico, media y resultado de bÃºsqueda.é    )Ú	BaseModelÚFieldc                   óð   — e Zd ZU  edd¬«      Zeed<   dZedz  ed<   dZedz  ed<   dZ	e
dz  ed<   dZedz  ed	<   g Zee   ed
<   g Zee   ed<   dZeed<   dZeed<   dZe
ed<   dZedz  ed<   dZeed<   y)ÚMusicianBaseé   éx   ©Ú
min_lengthÚ
max_lengthÚ
stage_nameNÚbioÚshow_descriptionÚyears_experienceÚ	photo_urlÚservice_typesÚgenresr   Ú
base_priceÚUSDÚcurrencyé   Útravel_radius_kmÚcityÚVEÚcountry)Ú__name__Ú
__module__Ú__qualname__r   r   ÚstrÚ__annotations__r   r   r   Úintr   r   Úlistr   r   Úfloatr   r   r   r   © ó    ú=/var/www/sinfronteras/gotagig/backend/app/schemas/musician.pyr   r      s    … Ù q°SÔ9€J�Ó9Ø€Cˆˆt‰ÓØ#'Ð�c˜D‘jÓ'Ø#'Ð�c˜D‘jÓ'Ø €Iˆs�T‰zÓ Ø!€M�4˜‘9Ó!Ø€FˆD�‰IÓØ€J�ÓØ€HˆcÓØÐ�cÓØ€Dˆ#�‰*ÓØ€GˆSÔr$   r   c                   ó   — e Zd ZdZy)ÚMusicianUpsertInu@   Crear o actualizar el perfil de mÃºsico del usuario autenticado.N)r   r   r   Ú__doc__r#   r$   r%   r'   r'      s   „ ÙJØr$   r'   c                   ó^   — e Zd ZU  edd¬«      Zeed<    edd¬«      Zeed<   dZe	dz  ed	<   y)
Ú
LocationIni¦ÿÿÿéZ   )ÚgeÚleÚlatiLÿÿÿé´   ÚlngNÚis_available)
r   r   r   r   r.   r"   r   r0   r1   Úboolr#   r$   r%   r*   r*      s2   … Ù˜# "Ô%€CˆÓ%Ù˜$ 3Ô'€CˆÓ'Ø $€L�$˜‘+Ô$r$   r*   c                   ób   — e Zd ZU dZ edd¬«      Zeed<    edd¬«      Zedz  ed	<   d
Z	e
ed<   y)ÚVideoLinkInzHAgregar un video al portfolio por link (YouTube/Instagram/TikTok/Vimeo).é   iX  r	   ÚurlNéÈ   )Údefaultr   ÚcaptionFÚis_featured)r   r   r   r(   r   r6   r   r   r9   r:   r2   r#   r$   r%   r4   r4      s5   … ÙRÙ ¨cÔ2€CˆÓ2Ù¨¸Ô=€GˆS�4‰ZÓ=Ø€K�Ôr$   r4   c                   óf   — e Zd ZU eed<   eed<   eed<   eed<   dZedz  ed<   eed<   eed<   d	d
iZy)ÚMediaItemOutÚidÚkindr6   ÚproviderNr9   Úpositionr:   Úfrom_attributesT)	r   r   r   r    r   r   r9   r2   Úmodel_configr#   r$   r%   r<   r<   &   s9   … ØƒGØ
ƒIØ	ƒHØƒMØ€GˆS�4‰ZÓØƒMØÓà% tÐ,�Lr$   r<   c                   óf   — e Zd ZU eed<   eed<   eed<   eed<   dZedz  ed<   dZedz  ed<   dd	iZ	y)
ÚMusicianOutr=   ÚratingÚreviews_countr1   Nr.   r0   rA   T)
r   r   r   r    r   r"   r2   r.   r0   rB   r#   r$   r%   rD   rD   2   s>   … ØƒGØƒMØÓØÓØ€Cˆ�‰ÓØ€Cˆ�‰Óà% tÐ,�Lr$   rD   c                   ó&   — e Zd ZU dZdZedz  ed<   y)ÚMusicianSearchResultuQ   Perfil + distancia al punto de bÃºsqueda (en km). Usado en la lista de bÃºsqueda.NÚdistance_km)r   r   r   r(   rI   r"   r   r#   r$   r%   rH   rH   =   s   … Ù[Ø $€K�˜‘Ô$r$   rH   c                   ó&   — e Zd ZU dZg Zee   ed<   y)ÚMusicianDetailOutuH   Perfil completo para la pantalla pÃºblica, incluye la galerÃ­a de media.ÚmediaN)r   r   r   r(   rL   r!   r<   r   r#   r$   r%   rK   rK   B   s   … ÙRØ "€Eˆ4�ÑÔ"r$   rK   N)r(   Úpydanticr   r   r   r'   r*   r4   r<   rD   rH   rK   r#   r$   r%   Ú<module>rN      sk   ðÙ Cß %ô�9ô ô	�|ô 	ô
%�ô %ô�)ô ô	-�9ô 	-ô-�,ô -ô%˜;ô %ô
#˜õ #r$   