
    h(                         d dl mZ d dlm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 dlmZmZmZmZ  G d d	ed	   ed	         Zy
)    )CreateableAPIResource)
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpackc                      e Zd ZU dZdZeed      ed<    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 G d de      Zeed<   	 ee   ed<   	 ee   ed<   	 eed<   	 eed<   	 eed<   	 ed   ed<   	 ee   ed<   	 e	ed<   eded    d!d fd"       Zeded    d!d fd#       Zeded$   d!d fd%       Zeded$   d!d fd&       Zeded'   d!d fd(       Zeded'   d!d fd)       Zeded*   d!e d    fd+       Z!eded*   d!e d    fd,       Z"de	iZ#y-).Secreta;  
    Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.

    The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control.

    All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key.

    A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions.

    Related guide: [Store data between page reloads](https://stripe.com/docs/stripe-apps/store-auth-data-custom-objects)
    zapps.secretOBJECT_NAMEc                   0    e Zd ZU ed   ed<   	 ee   ed<   y)Secret.Scopeaccountusertyper   N)__name__
__module____qualname__r   __annotations__r
   str     S/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/apps/_secret.pyScoper      s$    '((	 sm	r   r!   c                   Z    e Zd ZU eee      ed<   	 ee   ed<   	 eed<   	 eed<   	 ded<   y)Secret.CreateParamsexpand
expires_atnamepayloadSecret.CreateParamsScopescopeN)r   r   r   r   r	   r   r   intr   r   r    CreateParamsr#   %   sM    DI&&	  $$	 		 	 *)	r   r+   c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)r(   r   r   r   Nr   r   r   r   r   r   r   r   r   r    CreateParamsScopezSecret.CreateParamsScope;   %    '((	 #	r   r.   c                   <    e Zd ZU eee      ed<   	 eed<   	 ded<   y)Secret.DeleteWhereParamsr$   r&   Secret.DeleteWhereParamsScoper)   Nr   r   r   r   r	   r   r   r   r   r    DeleteWhereParamsr1   E   s/    DI&&	 		 /.	r   r4   c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)r2   r   r   r   Nr-   r   r   r    DeleteWhereParamsScopezSecret.DeleteWhereParamsScopeS   r/   r   r6   c                   <    e Zd ZU eee      ed<   	 eed<   	 ded<   y)Secret.FindParamsr$   r&   Secret.FindParamsScoper)   Nr3   r   r   r    
FindParamsr8   ]   s/    DI&&	 		 ('	r   r:   c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)r9   r   r   r   Nr-   r   r   r    FindParamsScopezSecret.FindParamsScopek   r/   r   r<   c                   f    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ded<   	 ee   ed<   y)Secret.ListParamsending_beforer$   limitSecret.ListParamsScoper)   starting_afterN)r   r   r   r   r   r   r	   r*   r   r   r    
ListParamsr>   u   sY    "3''	 DI&&	 3	 ('	 $C((	r   rC   c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)rA   r   r   r   Nr-   r   r   r    ListParamsScopezSecret.ListParamsScope   r/   r   rE   createddeletedr%   idlivemoder&   objectr'   r)   paramsr#   returnc                 Z    t        d| j                  d| j                         |            S )A
        Create or replace a secret in the secret store.
        r   postrK   )r   _static_request	class_urlclsrK   s     r    createzSecret.create   s6    
    
 	
r   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rN   r   rO   rP   N)r   _static_request_asyncrR   rS   s     r    create_asynczSecret.create_async   sD      ++ ,  
 	
s   ,97
	9r1   c                 >    t        d| j                  dd|            S )K
        Deletes a secret from the secret store by name and scope.
        r   rO   /v1/apps/secrets/deleterP   r   rQ   rS   s     r    delete_wherezSecret.delete_where   s0     )   
 	
r   c                 Z   K   t        d| j                  dd|       d{         S 7 w)rZ   r   rO   r[   rP   Nr   rW   rS   s     r    delete_where_asynczSecret.delete_where_async   s>      ++) ,  
 	
   +)
	+r8   c                 >    t        d| j                  dd|            S )G
        Finds a secret in the secret store by name and scope.
        r   get/v1/apps/secrets/findrP   r\   rS   s     r    findzSecret.find   s0    
 '   
 	
r   c                 Z   K   t        d| j                  dd|       d{         S 7 w)rc   r   rd   re   rP   Nr_   rS   s     r    
find_asynczSecret.find_async  s>      ++' ,  
 	
ra   r>   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )=
        List all secrets stored on the given scope.
        rd   rP   %Expected list object from API, got %s)rQ   rR   
isinstancer   	TypeErrorr   r   rT   rK   results      r    listzSecret.list  s]     $$MMO % 

 &*-7<((* 
 r   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rj   rd   rP   Nrk   )rW   rR   rl   r   rm   r   r   rn   s      r    
list_asynczSecret.list_async'  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"N)$r   r   r   __doc__r   r   r   r   r   r!   r   r+   r   r.   r4   r6   r:   r<   rC   rE   r*   r
   boolr   classmethodr   rU   rX   r]   r`   rf   rh   r   rp   rr   _inner_class_typesr   r   r    r   r      sg   
 5BK'-01A ~ ,I N  ^ ) ^ ,)  L d^  	G N I M"" c] L
f%:; 
 
 
 
34
	
 
 
89
	
 
 
89
	
 
 
F#67 
H 
 
 
12
	
 
 12	H	 & 12	H	 & "5)r   r   N)stripe._createable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   typingr   r	   r
   r   typing_extensionsr   r   r   r   r   r   r   r    <module>r~      s?    B * = 2 . 1 1 E Eo*"8,.A(.K o*r   