{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from api import BigApi\n",
    "BigApi.init(\".admin.env\")\n",
    "BigApi.adminLogin()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "pairs = BigApi.adminGet(\"/admin/shop/shopify_orders/pairs\")\n",
    "\n",
    "orders = BigApi.adminGet(\"/admin/shop/orders?shopifyProductIds=7761325916377,7761338400985\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import json\n",
    "shopifyOrder = BigApi.adminGet(\"/admin/shop/shopify_order/5098870210777\")\n",
    "\n",
    "# print formatted json\n",
    "print(json.dumps(shopifyOrder, indent=4, sort_keys=True))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "bigOrderId = \"ec14x_sR6kJD4vLI\"\n",
    "\n",
    "data = BigApi.adminPut(f\"/admin/shop/order/{bigOrderId}\", {\n",
    "    \"action\": \"AdminForceChecklistUpdate\"\n",
    "})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# find standalone lens orders that also have a merge pairing \n",
    "orderPairs = []\n",
    "problemOrderPairs = []\n",
    "problemPairs = []\n",
    "for pair in pairs:\n",
    "    lensShopifyOrderId = pair[\"lensShopifyOrderId\"]\n",
    "    ordersToCheck = []\n",
    "    for order in orders[\"items\"]:\n",
    "        currentLineItems = order[\"currentLineItems\"]\n",
    "        for lineItem in currentLineItems:\n",
    "            if lineItem[\"shopifyOrderId\"] == lensShopifyOrderId:\n",
    "                ordersToCheck.append(order)\n",
    "                #print(\"Found order with shopifyProductId: \" + pair[\"id\"] + \" \" + order[\"id\"])\n",
    "                break\n",
    "            if lineItem[\"shopifyOrderId\"] == pair[\"beyondShopifyOrderId\"]:\n",
    "                ordersToCheck.append(order)\n",
    "                #print(\"Found standalone lens order: \" + order[\"id\"])\n",
    "                break\n",
    "\n",
    "    if (len(ordersToCheck) >= 2):\n",
    "        if ordersToCheck[0][\"state\"] == \"Shipped\" and ordersToCheck[1][\"state\"] == \"Shipped\":\n",
    "            continue\n",
    "        if (ordersToCheck[0][\"state\"] == \"Shipped\" and ordersToCheck[1][\"state\"] != \"Shipped\") or \\\n",
    "              (ordersToCheck[1][\"state\"] == \"Shipped\" and ordersToCheck[0][\"state\"] != \"Shipped\"):\n",
    "            problemOrderPairs.append([ordersToCheck[0][\"id\"], ordersToCheck[1][\"id\"]])\n",
    "            problemPairs.append(pair)\n",
    "\n",
    "    #    elif ordersToCheck[1][\"state\"] == \"Shipped\" and ordersToCheck[0][\"state\"] != \"Shipped\":\n",
    "     #       problemOrderPairs.append([ordersToCheck[0][\"id\"], ordersToCheck[1][\"id\"]])\n",
    "        #if ordersToCheck[1][\"state\"] != \"Shipped\" and ordersToCheck[0][\"state\"] != \"Shipped\":\n",
    "        #    problemOrderPairs.append([ordersToCheck[0][\"id\"], ordersToCheck[1][\"id\"]])\n",
    "\n",
    "for problemOrderPair in problemOrderPairs:\n",
    "    print(f\"https://main-ocean-arda.bigscreencloud.com/shop/order/{problemOrderPair[0]} https://main-ocean-arda.bigscreencloud.com/shop/order/{problemOrderPair[1]}\")\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for problemPair in problemPairs:\n",
    "    print(problemPair)\n",
    "\n",
    "    result = BigApi.adminDelete(f\"/admin/shop/shopify_orders/pair/{problemPair['id']}\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "for problemPair in problemPairs:\n",
    "    print(problemPair)\n",
    "\n",
    "    # Find the BigOrderId of the beyond order\n",
    "    refreshBigOrderId = \"\"\n",
    "    for order in orders[\"items\"]:\n",
    "        if order[\"shopifyOrderId\"] == problemPair[\"beyondShopifyOrderId\"]:\n",
    "            refreshBigOrderId = order[\"id\"]\n",
    "            break\n",
    "            \n",
    "    BigApi.adminGet(f\"/admin/shop/order/{refreshBigOrderId}/refresh\")\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
