o
    i                     @   s   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 er6d dlmZ d dlmZ d dlmZ G d	d
 d
ed
 ZdS )    )ExpandableField)
ListObject)ListableAPIResource)ClassVar)LiteralUnpackTYPE_CHECKING)Feature)ActiveEntitlementListParams)ActiveEntitlementRetrieveParamsc                   @   s   e Zd ZU dZdZeed  ed< ed ed< 	 e	ed< 	 e
ed< 	 e	ed< 	 ed ed	< 	 ed
ed ded  fddZed
ed ded  fddZede	d
ed dd fddZede	d
ed dd fddZdS )ActiveEntitlementzM
    An active entitlement describes access to a feature for a customer.
    zentitlements.active_entitlementOBJECT_NAMEr	   featureidlivemode
lookup_keyobjectparamsr
   returnc                 K   s4   | j d|  |d}t|tstdt|j |S )G
        Retrieve a list of active entitlements for a customer
        getr   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrortype__name__clsr   result r"   /var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/entitlements/_active_entitlement.pylist0   s   
zActiveEntitlement.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )r   r   r   Nr   )_static_request_asyncr   r   r   r   r   r   r   r"   r"   r#   
list_asyncD   s   
zActiveEntitlement.list_asyncr   c                 K   s   | |fi |}|   |S )0
        Retrieve an active entitlement
        )refreshr    r   r   instancer"   r"   r#   retrieveX   s   zActiveEntitlement.retrievec                    s$   | |fi |}|  I dH  |S )r'   N)refresh_asyncr)   r"   r"   r#   retrieve_asyncc   s   z ActiveEntitlement.retrieve_asyncN)r   
__module____qualname____doc__r   r   r   __annotations__r   strboolclassmethodr   r   r$   r&   r+   r-   r"   r"   r"   r#   r      sT   
 
r   N)stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   typingr   typing_extensionsr   r   r   stripe.entitlements._featurer	   :stripe.params.entitlements._active_entitlement_list_paramsr
   >stripe.params.entitlements._active_entitlement_retrieve_paramsr   r   r"   r"   r"   r#   <module>   s   