
    xh	                        S SK Jr  S SKJr  S SKJr  S SKJrJr  S SK	J
r
  S SKJrJr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  SSKJr   " S S\5      r\R6                  " S\\   SS9\" S/5      \
" \5      S\S\S\S\4S j5       5       5       r " S S\5      r \RB                  " SSS0S9\" S/5      S\S\S\S\\    4S  j5       5       r"g)!    )UUID)HttpResponse)aget_object_or_404)QuerySchema)paginate)
IssueEvent	IssueHash)IssueHashSchema)Organization)AuthHttpRequest)AsyncLinkHeaderPagination)has_permission   )routerc                   (   ^  \ rS rSrU 4S jrSrU =r$ )IssueHashPagination   c                 F  >#    [         TU ]  XU5      I S h  vN nU Hy  n[        R                  R	                  UR
                  R                  /UR                  S9R                  S5      R                  S5      R                  5       I S h  vN Ul        M{     U$  N N7f)N)hashes__containsissue__project_idissuez	-received)superget_resultsr	   objectsfiltervaluehex
project_idselect_relatedorder_byafirstlatest_event)selfquerysetcursorlimitresult
issue_hash	__class__s         %/code/apps/issue_events/api/hashes.pyr   IssueHashPagination.get_results   s     w*8UCC !J ((//&0&6&6&:&:%;&0&;&; 0   (+& # !  D
s"   B!BA5B!BB!B! )__name__
__module____qualname____firstlineno__r   __static_attributes____classcell__)r*   s   @r+   r   r      s         r   zE/organizations/{slug:organization_slug}/issues/{int:issue_id}/hashes/T)responseby_aliasz
event:readrequestr5   organization_slugissue_idc                    #    [        [        U R                  R                  US9I S h  vN n[        R
                  R                  X4S9R                  S5      $  N07f)Nusersslug)r9   issue__project__organizationr   )r   r   authuser_idr
   r   r   r!   )r7   r5   r8   r9   organizations        r+   list_issue_hashesrB   $   sZ      ,GLL007H L ## $ hws   'AA1Ac                   &    \ rS rSr% \\   \S'   Srg)IssueHashQuerySchema9   idr-   N)r.   r/   r0   r1   listr   __annotations__r2   r-   r4   r+   rD   rD   9   s    T
Nr4   rD      N)r5   zevent:adminqueryc                    #    [        [        U R                  R                  US9I S h  vN n[        R
                  R                  UR                  UUS9R                  5       I S h  vN   g ND N7f)Nr;   )	value__inr9   r>   )rI   N)	r   r   r?   r@   r
   r   r   rF   adelete)r7   r8   r9   rJ   rA   s        r+   delete_hashrN   =   sr      ,GLL007H L 


"
"((%1 #  gi	 
 s!   'A2A.>A2(A0)A20A2)#uuidr   django.httpr   django.shortcutsr   ninjar   r   ninja.paginationr   apps.issue_events.modelsr	   r
   apps.issue_events.schemar   apps.organizations_ext.modelsr   glitchtip.api.authenticationr   glitchtip.api.paginationr   glitchtip.api.permissionsr    r   r   getrG   strintrB   rD   deleterN   r-   r4   r+   <module>r_      s    $ /  % : 4 6 8 > 4 3 $ K/"
 	
  	   6  K4[    %&	 !	
r4   