Skip to content

Commit 4b20529

Browse files
Device api added
1 parent 264c197 commit 4b20529

File tree

2 files changed

+34
-3
lines changed

2 files changed

+34
-3
lines changed

nxtbn/order/admin_queries.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,17 @@
44

55
from nxtbn.core.admin_permissions import gql_store_admin_required
66
from nxtbn.core.models import SiteSettings
7-
from nxtbn.order.admin_types import OrderInvoiceType, OrderType
8-
from nxtbn.order.models import Address, Order
7+
from nxtbn.order.admin_types import OrderDeviceMetaType, OrderInvoiceType, OrderType
8+
from nxtbn.order.models import Address, Order, OrderDeviceMeta
99
from nxtbn.users import UserRole
1010

1111

1212
class AdminOrderQuery(graphene.ObjectType):
1313
orders = DjangoFilterConnectionField(OrderType)
1414
order = graphene.Field(OrderType, alias=graphene.UUID(required=True))
15+
order_device_meta = DjangoFilterConnectionField(OrderDeviceMetaType)
16+
order_device_metas = DjangoFilterConnectionField(OrderDeviceMetaType)
17+
1518
order_invoice = graphene.Field(OrderInvoiceType, order_id=graphene.Int(required=True))
1619
order_invoices = graphene.List(OrderInvoiceType, order_ids=graphene.List(graphene.Int))
1720

@@ -30,6 +33,14 @@ def resolve_order(self, info, alias):
3033

3134
return order
3235

36+
@gql_store_admin_required
37+
def resolve_order_device_meta(self, info, **kwargs):
38+
return OrderDeviceMeta.objects.all()
39+
40+
@gql_store_admin_required
41+
def resolve_order_device_metas(self, info, **kwargs):
42+
return OrderDeviceMeta.objects.all()
43+
3344

3445
@gql_store_admin_required
3546
def resolve_order_invoice(self, info, order_id):

nxtbn/order/admin_types.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from graphene_django import DjangoObjectType
44
from graphene import relay
55
from nxtbn.core.models import SiteSettings
6-
from nxtbn.order.models import Address, Order, OrderLineItem
6+
from nxtbn.order.models import Address, Order, OrderDeviceMeta, OrderLineItem
77

88
from nxtbn.order.admin_filters import OrderFilter
99

@@ -199,4 +199,24 @@ class Meta:
199199
'preferred_payment_method',
200200
'reservation_status',
201201
'note',
202+
)
203+
204+
205+
class OrderDeviceMetaType(DjangoObjectType):
206+
db_id = graphene.Int(source='id')
207+
class Meta:
208+
model = OrderDeviceMeta
209+
fields = (
210+
'id',
211+
'order',
212+
'ip_address',
213+
'user_agent',
214+
'browser',
215+
'browser_version',
216+
'operating_system',
217+
'device_type',
218+
)
219+
interfaces = (relay.Node,)
220+
filter_fields = (
221+
'order__alias',
202222
)

0 commit comments

Comments
 (0)