
    +h'                         d dl mZ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mZ  G d ded   ed         Zy	)
    )CreateableAPIResourceListableAPIResource)
ListObject)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKINGc                      e Zd ZU dZdZeed      ed<    G d de      Z	e
rX 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.d ee   d!ee   d"ee   d#ee   d$ed%   d&d fd'       Ze	 	 	 d/d ee   d"ee   d#ee   d$ed(   d&d f
d)       Ze	 	 	 d/d ee   d"ee   d#ee   d$ed*   d&d f
d+       Ze	 	 	 d/d ee   d"ee   d#ee   d$ed,   d&ed    f
d-       Zde	iZ y)0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/html/venv/lib/python3.12/site-packages/stripe/api_resources/apps/secret.pyScoper   #   s$    '((	 sm	r    r"   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 eed<   	 eed<   	 ded<   y	)
Secret.CreateParams	List[str]expandint
expires_atnamepayloadSecret.CreateParamsScopescopeNr   r   r   r   r   r   r   r    r!   CreateParamsr$   /   sI    ,, $E** I L .-r    r.   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r+   r   r   r   r   Nr   r   r   r   r   r   r   r    r!   CreateParamsScopezSecret.CreateParamsScopeE   %    +,, e$$r    r1   c                   6    e Zd ZU ed   ed<   	 eed<   	 ded<   y)Secret.DeleteWhereParamsr%   r&   r)   Secret.DeleteWhereParamsScoper,   Nr-   r   r    r!   DeleteWhereParamsr4   O   s+    ,, I 32r    r6   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r5   r   r   r   r   Nr0   r   r    r!   DeleteWhereParamsScopezSecret.DeleteWhereParamsScope]   r2   r    r8   c                   6    e Zd ZU ed   ed<   	 eed<   	 ded<   y)Secret.FindParamsr%   r&   r)   Secret.FindParamsScoper,   Nr-   r   r    r!   
FindParamsr:   g   s+    ,, I ,+r    r<   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r;   r   r   r   r   Nr0   r   r    r!   FindParamsScopezSecret.FindParamsScopeu   r2   r    r>   c                   `    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ded<   	 ed   ed	<   y
)Secret.ListParamsr   ending_beforer%   r&   r'   limitSecret.ListParamsScoper,   starting_afterN)r   r   r   r   r   r   r    r!   
ListParamsr@      sU    &u--  ,, u%% ,+ (..r    rE   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)rC   r   r   r   r   Nr0   r   r    r!   ListParamsScopezSecret.ListParamsScope   r2   r    rG   createddeletedr(   idlivemoder)   objectr*   r,   Napi_keyidempotency_keystripe_versionstripe_accountparamsr$   returnc                 `    t        d| j                  d| j                         |||||            S )zA
        Create or replace a secret in the secret store.
        r   post)r   _static_request	class_url)clsrM   rN   rO   rP   rQ   s         r!   createzSecret.create   s=     
 	
r    r4   c                 D    t        d| j                  dd||||            S )zK
        Deletes a secret from the secret store by name and scope.
        r   rT   z/v1/apps/secrets/deleterM   rO   rP   rQ   r   rU   rW   rM   rO   rP   rQ   s        r!   delete_wherezSecret.delete_where   s9     )--   

 
	
r    r:   c                 D    t        d| j                  dd||||            S )zG
        Finds a secret in the secret store by name and scope.
        r   getz/v1/apps/secrets/findrZ   r[   r\   s        r!   findzSecret.find   s9     '--   

 
	
r    r@   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z=
        List all secrets stored on the given scope.
        r_   rZ   z%Expected list object from API, got %s)rU   rV   
isinstancer   	TypeErrorr   r   )rW   rM   rO   rP   rQ   results         r!   listzSecret.list  sf     $$MMO)) % 
 &*-7<((* 
 r    )NNNN)NNN)!r   r   r   __doc__r   r   r   r   r   r"   r   r   r.   r   r1   r6   r8   r<   r>   rE   rG   r'   r
   boolr   classmethodr   rX   r]   r`   r   re   _inner_class_typesr   r    r!   r   r      s   
 5BK'-01A  	> 	,		 		 		Y 		 		i 		 	,	i 	 L d^  	G N I M"" c] L "&)-(,(,
#
 "#
 !	

 !
 ./
 

 
0  "&(,(,	
#
 !
 !	

 34
 

 
,  "&(,(,	
#
 !
 !	

 ,-
 

 
,  "&(,(,	# ! !	
 ,- 
H	 6 "5)r    r   N)stripe.api_resources.abstractr   r    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr   typingr   r	   r
   r   typing_extensionsr   r   r   r   r   r   r   r    r!   <module>rp      sA    8 1 - 1 1 P*"8,.A(.K P*r    