diff --git a/app/routes/routes.py b/app/routes/routes.py index 902264f..5295721 100644 --- a/app/routes/routes.py +++ b/app/routes/routes.py @@ -318,15 +318,17 @@ async def update_cookies( ) class TCGPlayerOrderRequest(BaseModel): - order_ids: List[str] + # optional + order_ids: Optional[List[str]] = None -@router.get("/processOrders", response_model=dict) +@router.post("/processOrders", response_model=ProcessOrdersResponse) async def process_orders( + body: TCGPlayerOrderRequest, tcgplayer_api_service: TCGPlayerAPIService = Depends(get_tcgplayer_api_service), ) -> ProcessOrdersResponse: """Process TCGPlayer orders.""" try: - orders = tcgplayer_api_service.process_open_orders() + orders = tcgplayer_api_service.process_open_orders(body.order_ids) return ProcessOrdersResponse( status_code=200, success=True, diff --git a/app/services/tcgplayer_api.py b/app/services/tcgplayer_api.py index 43f9530..0ee7d7b 100644 --- a/app/services/tcgplayer_api.py +++ b/app/services/tcgplayer_api.py @@ -302,7 +302,7 @@ class TCGPlayerAPIService: print("No orders found or no valid labels generated.") return None - def process_open_orders(self): + def process_open_orders(self, order_ids: list[str]=None): # get all open orders url = f"{self.config.ORDER_BASE_URL}/search{self.config.API_VERSION}" """{"searchRange":"LastThreeMonths","filters":{"sellerKey":"e576ed4c","orderStatuses":["Processing","ReadyToShip","Received","Pulling","ReadyForPickup"],"fulfillmentTypes":["Normal"]},"sortBy":[{"sortingType":"orderStatus","direction":"ascending"},{"sortingType":"orderDate","direction":"ascending"}],"from":0,"size":25}""" @@ -324,7 +324,8 @@ class TCGPlayerAPIService: if response: orders = response.json() if orders and 'orders' in orders: - order_ids = [order['orderNumber'] for order in orders['orders']] + if order_ids is None: + order_ids = [order['orderNumber'] for order in orders['orders']] # get packing slip pdf packing_slip_filename = self.get_packing_slip_pdf_for_orders(order_ids) # get pull sheet pdf @@ -346,7 +347,7 @@ class TCGPlayerAPIService: method='POST', files=file ) - +