Skip to content

Commit f392208

Browse files
Merge pull request #387 from MySecondLanguage/refactored-invoice-query
Refactored invoice query
2 parents 9f4ce02 + 24f6f35 commit f392208

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

nxtbn/order/admin_queries.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class AdminOrderQuery(graphene.ObjectType):
1313
orders = DjangoFilterConnectionField(OrderType)
1414
order = graphene.Field(OrderType, id=graphene.Int(required=True))
1515
order_invoice = graphene.Field(OrderInvoiceType, order_id=graphene.Int(required=True))
16-
order_invoices = DjangoFilterConnectionField(OrderInvoiceType)
16+
order_invoices = graphene.List(OrderInvoiceType, order_ids=graphene.List(graphene.Int))
1717

1818

1919

@@ -42,11 +42,17 @@ def resolve_order_invoice(self, info, order_id):
4242
return order
4343

4444
@gql_store_admin_required
45-
def resolve_order_invoices(self, info, **kwargs):
45+
def resolve_order_invoices(self, info, order_ids, **kwargs):
46+
if len(order_ids) > 100:
47+
raise Exception("You can only query 100 orders at a time")
48+
49+
if not order_ids:
50+
raise Exception("You must provide order ids")
51+
4652
order = Order.objects.select_related(
4753
'billing_address', 'shipping_address'
4854
).prefetch_related(
4955
'line_items__variant'
50-
).all()
56+
).filter(id__in=order_ids)
5157

5258
return order

nxtbn/order/admin_types.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,4 @@ class Meta:
119119
'preferred_payment_method',
120120
'reservation_status',
121121
'note',
122-
)
123-
interfaces = (relay.Node,)
124-
filterset_class = OrderFilter
122+
)

0 commit comments

Comments
 (0)