o
    i                  
   @   s^   d dl mZmZ d dlmZ d dlmZ 			ddedee deee  dee fd	d
ZdS )    )ListOptional)
quote_plus)APIResourceNresourcepath
operationsresource_pluralc                    s2   d u rd d u r fdd}|S )Nz%ssc                    sZ  dfdd	}d t | t| dd }d  t |  t| d u r)| S D ]}|dkrE fdd	}d
 }t | |t| q+|dkr] fdd}d }t | |t| q+|dkru fdd}d }	t | |	t| q+|dkr fdd}
d }t | |t|
 q+|dkr fdd}d }t | |t| q+td| | S )Nc                    s6   d|   t|t f }|d ur|dt| 7 }|S )Nz%s/%s/%sz/%s)	class_urlr   )clsid	nested_idurl)r    /var/www/snowflake_co_dev_github/snow_flake_back_end_deploy/env/lib/python3.10/site-packages/stripe/_nested_resource_class_methods.pynested_resource_url   s   zKnested_resource_class_methods.<locals>.wrapper.<locals>.nested_resource_urlz%ss_urlc                 [   s   t j|||dS )N)params)r   _static_request)r   methodr   r   r   r   r   nested_resource_request"   s
   zOnested_resource_class_methods.<locals>.wrapper.<locals>.nested_resource_requestz%ss_requestcreatec                    &   t | |}t |  d|fi |S Npostgetattrr   r   r   r   resource_request_methodresource_url_methodr   r   create_nested_resource4      zNnested_resource_class_methods.<locals>.wrapper.<locals>.create_nested_resourcez	create_%sretrievec                    (   t | ||}t |  d|fi |S Ngetr   r   r   r   r   r   r   r   r   retrieve_nested_resourceA      zPnested_resource_class_methods.<locals>.wrapper.<locals>.retrieve_nested_resourcezretrieve_%supdatec                    r#   r   r   r&   r   r   r   modify_nested_resourceN   r(   zNnested_resource_class_methods.<locals>.wrapper.<locals>.modify_nested_resourcez	modify_%sdeletec                    r#   )Nr+   r   r&   r   r   r   delete_nested_resource[   r(   zNnested_resource_class_methods.<locals>.wrapper.<locals>.delete_nested_resourcez	delete_%slistc                    r   r$   r   r   r   r   r   list_nested_resourcesh   r!   zMnested_resource_class_methods.<locals>.wrapper.<locals>.list_nested_resourceszlist_%szUnknown operation: %s)N)setattrclassmethod
ValueError)r   r   r   	operationr    create_methodr'   retrieve_methodr*   modify_methodr,   delete_methodr.   list_methodr   r   r   r	   r   r   wrapper   sR   





z.nested_resource_class_methods.<locals>.wrapperr   )r   r   r   r	   r9   r   r8   r   nested_resource_class_methods	   s   br:   )NNN)	typingr   r   urllib.parser   stripe._api_resourcer   strr:   r   r   r   r   <module>   s    
