diff --git a/moltin/endpoints.py b/moltin/endpoints.py index e6e0d6e..b534cb2 100644 --- a/moltin/endpoints.py +++ b/moltin/endpoints.py @@ -2,7 +2,7 @@ from . url import sanitize_url_fragment from . exception import * - +import sys class BaseEndpoint(object): @@ -89,3 +89,34 @@ def __init__(self, request, endpoint): def payment(self, method, order_id, params): return self.request.post(self._url_with("payment", method, order_id), params) + + +class EntryEndpoint(BaseEndpoint): + + def __init__(self, request, endpoint, flow_slug = None): + super(EntryEndpoint, self).__init__(request, endpoint) + self.id = flow_slug + self.endpoint = self._url_with(flow_slug) + + def list(self): + return self.request.get(self._url_with("entries")) + + def find_by(self, params): + try: + return self.request.get(self._url_with("entries"), payload=params) + except RequestError: # If we can't find the resource + return None + + def create_entry(self, params): + return self.request.post(self._url_with("entries"), params) + + def update_entry(self, entry_id, params): + return self.request.put( + self._url_with("entries", entry_id), params) + + def get_entry(self, entry_id): + return self.request.get(self._url_with("entries", entry_id)) + + def delete_entry(self, entry_id): + return self.request.delete(self._url_with("entries", entry_id)) + diff --git a/moltin/moltin.py b/moltin/moltin.py index 4ffbbf6..a8358da 100644 --- a/moltin/moltin.py +++ b/moltin/moltin.py @@ -1,7 +1,7 @@ from .authenticator import Authenticator from .request import Request from .token import TokenContainer, TokenFactory -from .endpoints import Endpoint, CartEndpoint, CheckoutEndpoint +from .endpoints import Endpoint, CartEndpoint, EntryEndpoint, CheckoutEndpoint from .curry import curry def create_endpoint_object(name, inherits_from): @@ -60,6 +60,7 @@ class Moltin: custom_endpoints = { "Cart": (CartEndpoint, "carts"), + "Entry": (EntryEndpoint, "flows"), } custom_endpoints_without_extra_params = { diff --git a/moltin/request.py b/moltin/request.py index 9190bcf..74aef22 100644 --- a/moltin/request.py +++ b/moltin/request.py @@ -46,7 +46,7 @@ def get(self, url, payload=None): return with_error_handling(requests.get, self.make_url(url), headers=self.headers, - data=payload) + params=payload) def post(self, trailing_uri, payload, auth=False): if auth: