U
    ^g%i	                     @   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   ZV1ZCUSTOMER_URLbase_url)selfclient	__class__ Z/var/www/html/api-medvista/venv/lib/python3.8/site-packages/razorpay/resources/customer.pyr      s    zCustomer.__init__c                    s   t t| j||f|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|S )zo
        Create Customer from given dict

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

        Returns:
            Customer Dict which was edited
        z{}/{})formatr   Zput_urlr	   r   r   r   r   r   r   r   edit    s    zCustomer.editc                    s   t t| j|f|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|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|S )zl
        Delete Bank Account of Customer

        Returns:
            Dictionary of Customers data
        r   z/bank_account/)r   Z
delete_url)r	   r   Zbank_idr   r   r   r   r   r   deleteBankAccount>   s    zCustomer.deleteBankAccountc                 K   s   | j  d}| j||f|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|S )zq
        Fetch Eligibility by id

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