
    Ai                         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 d dlmZmZmZ erd dlmZ d dlmZ d d	lmZ d d
lmZ  G d ded   ed         Zy)    )CreateableAPIResource)
ListObject)ListableAPIResource)StripeObject)ClassVarOptionalcast)LiteralUnpackTYPE_CHECKING)SecretCreateParams)SecretDeleteWhereParams)SecretFindParams)SecretListParamsc                      e Zd ZU dZdZeed      ed<    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     F/var/www/html/immo/lib/python3.12/site-packages/stripe/apps/_secret.pyScoper   "   s$    '((	 sm	r   r!   createddeleted
expires_atidlivemodenameobjectpayloadscopeparamsr   returnc                 Z    t        d| j                  d| j                         |            S )A
        Create or replace a secret in the secret store.
        r   postr+   )r	   _static_request	class_urlclsr+   s     r    createzSecret.createN   s6    
    
 	
r   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r.   r   r/   r0   N)r	   _static_request_asyncr2   r3   s     r    create_asynczSecret.create_async\   sD      ++ ,  
 	
s   ,97
	9r   c                 >    t        d| j                  dd|            S )K
        Deletes a secret from the secret store by name and scope.
        r   r/   /v1/apps/secrets/deleter0   r	   r1   r3   s     r    delete_wherezSecret.delete_wherel   s0     )   
 	
r   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r:   r   r/   r;   r0   Nr	   r7   r3   s     r    delete_where_asynczSecret.delete_where_async|   s>      ++) ,  
 	
   +)
	+r   c                 >    t        d| j                  dd|            S )G
        Finds a secret in the secret store by name and scope.
        r   get/v1/apps/secrets/findr0   r<   r3   s     r    findzSecret.find   s0    
 '   
 	
r   c                 Z   K   t        d| j                  dd|       d{         S 7 w)rC   r   rD   rE   r0   Nr?   r3   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   r0   %Expected list object from API, got %s)r1   r2   
isinstancer   	TypeErrorr   r   r4   r+   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   r0   NrK   )r7   r2   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!   intr   boolr   classmethodr   r5   r8   r=   r@   rF   rH   r   rP   rR   _inner_class_typesr   r   r    r   r      s   
 5BK'-01A  L d^  	G N I M"" c] L
f%9: 
x 
 
 
23
	
 
 
78
	
 
 
78
	
 
 
F#56 
8 
 
 
01
	
 
 01	H	 & 01	H	 & "5)r   r   N)stripe._createable_api_resourcer   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   typingr   r   r	   typing_extensionsr
   r   r   (stripe.params.apps._secret_create_paramsr   .stripe.params.apps._secret_delete_where_paramsr   &stripe.params.apps._secret_find_paramsr   &stripe.params.apps._secret_list_paramsr   r   r   r   r    <module>rb      sP    B * = . + + < <K HG*"8,.A(.K *r   