§
    ÞaNj°
  ã                   óò  — U d dl mZmZmZmZmZ d dlmZ d dlm	Z	m
Z
mZmZ d dlmZ  ej        dd¬¦  «         ej        dd	¬¦  «         ej        d
d¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «         ej        dd¬¦  «        gZeej                 ed<    eddg¬¦  «        Ze                     d eej                 ¬!¦  «        d"„ ¦   «         Ze                     d#eej                 ¬!¦  «        d$d$ ed%d&d'¬(¦  «         ed d ¬)¦  «         ee¦  «        fd*ed$z  d+ed$z  d,ed-ed.ef
d/„¦   «         Ze                     d#ej        ej        ¬0¦  «         ee¦  «         eej        ¦  «        fd1ej        d.ed2e
j        fd3„¦   «         Ze                     d4ej         ¬!¦  «         ee¦  «        fd5ed.efd6„¦   «         Z!e                     d7¦  «         ee¦  «        fd5ed.efd8„¦   «         Z"e                     d9¦  «         ee¦  «        fd5ed.efd:„¦   «         Z#d$S );é    )Ú	APIRouterÚDependsÚHTTPExceptionÚQueryÚstatus)ÚSession)ÚcrudÚmodelsÚschemasÚsecurity)Úget_dbÚ
nacionaleszNoticias Nacionales)ÚidÚlabelÚinternacionaleszNoticias InternacionalesÚ	opinionesÚ	OpinionesÚcienciasÚCienciasÚcriptosÚCriptosÚtradingÚTradingÚfuturologiau   FuturologÃ­aÚ	filosofiau
   FilosofÃ­aÚentretenimientoÚEntretenimientoÚcuriosidadesÚCuriosidadesÚsaludÚSaludÚSECTIONSz	/articlesÚarticles)ÚprefixÚtagsz	/sections)Úresponse_modelc                  ó   — t           S )N)r"   © ó    ú>/var/www/sinfronteras/news-app/backend/app/routers/articles.pyÚget_sectionsr+      s   € å€Or)   ú/Né   é   é2   )ÚdefaultÚgeÚle)r0   r1   ÚsectionÚqÚlimitÚoffsetÚdbc                 ó4   — t          j        || |||¬¦  «        S )N)r3   r4   r5   r6   )r	   Úget_articles)r3   r4   r5   r6   r7   s        r*   Úlist_articlesr:      s    € õ Ô˜R¨°A¸UÈ6ÐRÑRÔRÐRr)   )r&   Ústatus_codeÚ
article_inÚ_current_userc                 ó–   — t          j        || j        ¦  «        rt          t          j        d¬¦  «        ‚t          j        || ¦  «        S )NzSlug already exists©r;   Údetail)r	   Úget_article_by_slugÚslugr   r   ÚHTTP_409_CONFLICTÚcreate_article)r<   r7   r=   s      r*   rD   rD   (   sF   € õ Ô  J¤OÑ4Ô4ð `Ý­Ô(@ÐI^Ð_Ñ_Ô_Ð_ÝÔ˜r :Ñ.Ô.Ð.r)   z/{slug}rB   c                 óV   — t          j        || ¦  «        }|st          dd¬¦  «        ‚|S )Né”  úArticle not foundr?   )r	   rA   r   ©rB   r7   Úarticles      r*   Úget_articlerJ   3   s6   € åÔ& r¨4Ñ0Ô0€GØð IÝ¨Ð4GÐHÑHÔHÐHØ€Nr)   z/{slug}/viewc                 ó†   — t          j        || ¦  «        }|st          dd¬¦  «        ‚t          j        || ¦  «        }| |dœS ©NrF   rG   r?   )rB   Úviews)r	   rA   r   Úincrement_article_views)rB   r7   rI   rM   s       r*   Úincrement_viewrO   ;   sQ   € åÔ& r¨4Ñ0Ô0€GØð IÝ¨Ð4GÐHÑHÔHÐHÝÔ(¨¨TÑ2Ô2€EØ 5Ð)Ð)Ð)r)   z/{slug}/viewsc                 óf   — t          j        || ¦  «        }|st          dd¬¦  «        ‚| |j        dœS rL   )r	   rA   r   rM   rH   s      r*   Ú	get_viewsrQ   D   sA   € åÔ& r¨4Ñ0Ô0€GØð IÝ¨Ð4GÐHÑHÔHÐHØ 7¤=Ð1Ð1Ð1r)   )$Úfastapir   r   r   r   r   Úsqlalchemy.ormr   Úappr	   r
   r   r   Úapp.databaser   ÚSectionr"   ÚlistÚ__annotations__ÚrouterÚgetr+   ÚArticleReadÚstrÚintr:   ÚpostÚHTTP_201_CREATEDÚget_current_admin_userÚArticleCreateÚUserrD   ÚArticleFullrJ   rO   rQ   r(   r)   r*   ú<module>rd      sé  ðØ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DÐ DØ "Ð "Ð "Ð "Ð "Ð "Ø /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ð /Ø Ð Ð Ð Ð Ð ð €G„O�|Ð+@ÐAÑAÔAØ€G„OÐ(Ð0JÐKÑKÔKØ€G„O�{¨+Ð6Ñ6Ô6Ø€G„O�z¨Ð4Ñ4Ô4Ø€G„O�y¨	Ð2Ñ2Ô2Ø€G„O�y¨	Ð2Ñ2Ô2Ø€G„O�}¨NÐ;Ñ;Ô;Ø€G„O�{¨,Ð7Ñ7Ô7Ø€G„OÐ(Ð0AÐBÑBÔBØ€G„O�~¨^Ð<Ñ<Ô<Ø€G„O�w gÐ.Ñ.Ô.ð"€ˆˆgŒoÔ	ð ð ñ ð 
ˆ˜+¨Z¨LÐ	9Ñ	9Ô	9€ð ‡‚ˆK¨¨W¬_Ô(=€Ñ>Ô>ðð ñ ?Ô>ðð ‡‚ˆC  WÔ%8Ô 9€Ñ:Ô:àØØ�˜b Q¨2Ð.Ñ.Ô.Ø�˜q QÐ'Ñ'Ô'Ø�˜‘”ðSð SØ�$‰JðSà	ˆD�jðSð ðSð ð	Sð
 ðSð Sð Sñ ;Ô:ðSð ‡‚ˆS Ô!4À&ÔBY€ÑZÔZð �˜‘”Ø ' ¨Ô(GÑ HÔ Hð/ð /ØÔ$ð/àð/ð ”+ð/ð /ð /ñ [ÔZð/ð ‡‚ˆI gÔ&9€Ñ:Ô:Ø'. w¨v¡¤ð ð �Sð ˜Wð ð ð ñ ;Ô:ðð ‡‚ˆ^ÑÔØ*1¨'°&©/¬/ð *ð *˜ð * ð *ð *ð *ñ Ôð*ð ‡‚ˆOÑÔØ%, W¨V¡_¤_ð 2ð 2�3ð 2˜7ð 2ð 2ð 2ñ Ôð2ð 2ð 2r)   