o
    
>h	                     @   s,   d dl mZ ddlmZ G dd deZdS )   )Resource   )URLc                       s   e Zd Zd fdd	Zi f fdd	Zi fddZi fdd	Zi f fd
d	Zi fddZi fddZ	i fddZ
i fddZ  ZS )CustomerNc                    s"   t t| | tjtj | _d S N)superr   __init__r   V1CUSTOMER_URLbase_url)selfclient	__class__ {/var/www/vedio/testing/chatpythonscript.ninositsolution.com/env/lib/python3.10/site-packages/razorpay/resources/customer.pyr      s   zCustomer.__init__c                    s   t t| j||fi |S )z
        Fetch Customer for given Id

        Args:
            customer_id : Id for which customer object has to be retrieved

        Returns:
            Order dict for given customer Id
        )r   r   fetch)r   customer_iddatakwargsr   r   r   r   
   s   
zCustomer.fetchc                 K   s   | j }| j||fi |S )zo
        Create Customer from given dict

        Returns:
            Customer Dict which was created
        r   post_urlr   r   r   urlr   r   r   create   s   zCustomer.createc                 K   s"   d | j|}| j||fi |S )zx
        Edit Customer information from given dict

        Returns:
            Customer Dict which was edited
        z{}/{})formatr   put_urlr   r   r   r   r   r   r   r   edit    s   zCustomer.editc                    s   t t| j|fi |S )z_
        Fetch all customer

        Returns:
            Dictionary of Customers data
        )r   r   all)r   r   r   r   r   r   r   +   s   zCustomer.allc                 K   s&   | j  d| d}| j||fi |S )zi
        Add Bank Account of Customer

        Returns:
            Dictionary of Customers data
        /z/bank_accountr   r   r   r   r   addBankAccount4   s   zCustomer.addBankAccountc                 K   s*   | j  d| d| }| j||fi |S )zl
        Delete Bank Account of Customer

        Returns:
            Dictionary of Customers data
        r    z/bank_account/)r   
delete_url)r   r   bank_idr   r   r   r   r   r   deleteBankAccount>   s   zCustomer.deleteBankAccountc                 K   s    | j  d}| j||fi |S )z`
        Eligibility Check

        Returns:
            Dictionary of eligibility data
        z/eligibilityr   r   r   r   r   requestEligibilityCheckH   s   z Customer.requestEligibilityCheckc                 K   s$   | j  d| }| j||fi |S )zq
        Fetch Eligibility by id

        Returns:
            Eligibility dict for given eligibility Id
        z/eligibility/)r   get_url)r   eligibility_idr   r   r   r   r   r   fetchEligibilityR   s   zCustomer.fetchEligibilityr   )__name__
__module____qualname__r   r   r   r   r   r!   r$   r%   r(   __classcell__r   r   r   r   r      s    
	


r   N)baser   constants.urlr   r   r   r   r   r   <module>   s    