93 lines
2.6 KiB
Python
93 lines
2.6 KiB
Python
from .base import Resource
|
|
from ..constants.url import URL
|
|
import warnings
|
|
|
|
|
|
class Transfer(Resource):
|
|
def __init__(self, client=None):
|
|
super(Transfer, self).__init__(client)
|
|
self.base_url = URL.V1 + URL.TRANSFER_URL
|
|
|
|
def fetch_all(self, data={}, **kwargs): # pragma: no cover
|
|
warnings.warn("Will be Deprecated in next release, use all",
|
|
DeprecationWarning)
|
|
return self.all(data, **kwargs)
|
|
|
|
def all(self, data={}, **kwargs):
|
|
"""
|
|
Fetch all Transfer entities
|
|
|
|
Returns:
|
|
Dictionary of Transfer data
|
|
"""
|
|
if 'payment_id' in data:
|
|
url = URL.V1 + "/payments/{}/transfers".format(data['payment_id'])
|
|
|
|
del data['payment_id']
|
|
return self.get_url(url, data, **kwargs)
|
|
|
|
return super(Transfer, self).all(data, **kwargs)
|
|
|
|
def fetch(self, transfer_id, data={}, **kwargs):
|
|
"""
|
|
Fetch Transfer for given Id
|
|
|
|
Args:
|
|
transfer_id : Id for which transfer object has to be retrieved
|
|
|
|
Returns:
|
|
Transfer dict for given transfer Id
|
|
"""
|
|
return super(Transfer, self).fetch(transfer_id, data, **kwargs)
|
|
|
|
def create(self, data={}, **kwargs):
|
|
"""
|
|
Create Transfer from given dict
|
|
|
|
Args:
|
|
|
|
Returns:
|
|
Transfer Dict which was created
|
|
"""
|
|
url = self.base_url
|
|
return self.post_url(url, data, **kwargs)
|
|
|
|
def edit(self, transfer_id, data={}, **kwargs):
|
|
"""
|
|
Edit Transfer from given id
|
|
|
|
Args:
|
|
transfer_id : Id for which transfer object has to be edited
|
|
|
|
Returns:
|
|
Transfer Dict which was edited
|
|
"""
|
|
url = "{}/{}".format(self.base_url, transfer_id)
|
|
return self.patch_url(url, data, **kwargs)
|
|
|
|
def reverse(self, transfer_id, data={}, **kwargs):
|
|
"""
|
|
Reverse Transfer from given id
|
|
|
|
Args:
|
|
transfer_id : Id for which transfer object has to be reversed
|
|
|
|
Returns:
|
|
Transfer Dict which was reversed
|
|
"""
|
|
url = "{}/{}/reversals".format(self.base_url, transfer_id)
|
|
return self.post_url(url, data, **kwargs)
|
|
|
|
def reversals(self, transfer_id, data={}, **kwargs):
|
|
"""
|
|
Get all Reversal Transfer from given id
|
|
|
|
Args:
|
|
transfer_id :
|
|
Id for which reversal transfer object has to be fetched
|
|
|
|
Returns:
|
|
Transfer Dict
|
|
"""
|
|
url = "{}/{}/reversals".format(self.base_url, transfer_id)
|
|
return self.get_url(url, data, **kwargs)
|