Skip to content

Commit 4f441ef

Browse files
committed
Added page in ListMixin
1 parent 85cdb5a commit 4f441ef

6 files changed

Lines changed: 23 additions & 24 deletions

File tree

shoppy/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
import requests
2-
from .product import ProductResource
3-
from .order import OrderResource
4-
from .feedback import FeedBackResource
5-
from .query import QueryResource
2+
from .resources import ProductResource, OrderResource, FeedBackResource, QueryResource, PaymentResource
63

74

85
class Shoppy:
@@ -18,3 +15,4 @@ def __init__(self, api_key):
1815
self.order = OrderResource(self.session)
1916
self.feedback = FeedBackResource(self.session)
2017
self.query = QueryResource(self.session)
18+
self.payment = PaymentResource(self.session)

shoppy/feedback.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

shoppy/mixins.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33

44
class ListMixin:
5-
def list(self):
5+
def list(self, page=None):
6+
if page is not None:
7+
return self.session.get(f"{self.api_url}{self.endpoint}/?page={page}")
68
return self.session.get(f"{self.api_url}{self.endpoint}")
79

810

shoppy/order.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

shoppy/product.py

Lines changed: 0 additions & 6 deletions
This file was deleted.

shoppy/query.py renamed to shoppy/resources.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
from .resource_client import ResourceClient
2-
from .mixins import ListMixin, RetrieveMixin
2+
from .mixins import ListMixin, CreateMixin, RetrieveMixin, UpdateMixin, DeleteMixin
33
import simplejson as json
44

55

6+
class ProductResource(ResourceClient, ListMixin, CreateMixin, RetrieveMixin, UpdateMixin, DeleteMixin):
7+
endpoint = "/v1/products/"
8+
9+
10+
class FeedBackResource(ResourceClient, ListMixin, RetrieveMixin):
11+
endpoint = "/v1/feedbacks/"
12+
13+
14+
class OrderResource(ResourceClient, ListMixin, RetrieveMixin):
15+
endpoint = "/v1/orders/"
16+
17+
618
class QueryResource(ResourceClient, ListMixin, RetrieveMixin):
719
endpoint = "/v1/queries/"
820
STATUS = ('close', 'reopen')
@@ -12,3 +24,8 @@ def reply(self, query_id, message):
1224

1325
def update(self, obj_id, updated_data, action):
1426
return self.session.post(f"{self.api_url}{self.endpoint}{obj_id}/{action}", data=json.dumps(updated_data))
27+
28+
29+
class PaymentResource(ResourceClient, CreateMixin):
30+
endpoint = '/v2/pay'
31+

0 commit comments

Comments
 (0)