{
  "info": {
    "_postman_id": "50dc120a-7b55-49da-88d0-ef98bf24dace",
    "name": "Navigation Items API",
    "description": "Single-table navigation_items CRUD. No bearer token is configured.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {"key": "base_url", "value": "http://127.0.0.1:8001/api/v1"},
    {"key": "category_id", "value": "498"},
    {"key": "update_category_id", "value": "265"},
    {"key": "category_item_id", "value": "14"},
    {"key": "link_item_id", "value": "15"},
    {"key": "parent_item_id", "value": "17"},
    {"key": "child_item_id", "value": "18"}
  ],
  "item": [
    {
      "name": "Read",
      "item": [
        {
          "name": "Existing Categories",
          "request": {
            "method": "GET",
            "header": [{"key": "Accept", "value": "application/json"}],
            "url": "{{base_url}}/admin/categories?per_page=100"
          }
        },
        {
          "name": "Admin Navigation Tree",
          "request": {
            "method": "GET",
            "header": [{"key": "Accept", "value": "application/json"}],
            "url": "{{base_url}}/admin/navigation/items"
          }
        },
        {
          "name": "Storefront Navigation",
          "request": {
            "method": "GET",
            "header": [{"key": "Accept", "value": "application/json"}],
            "url": "{{base_url}}/navigation"
          }
        }
      ]
    },
    {
      "name": "Create",
      "item": [
        {
          "name": "Create Category Item",
          "event": [{
            "listen": "test",
            "script": {
              "type": "text/javascript",
              "exec": [
                "pm.test('Created', () => pm.response.to.have.status(201));",
                "if (pm.response.code === 201) pm.collectionVariables.set('category_item_id', pm.response.json().data.id);"
              ]
            }
          }],
          "request": {
            "method": "POST",
            "header": [
              {"key": "Accept", "value": "application/json"},
              {"key": "Content-Type", "value": "application/json"}
            ],
            "body": {
              "mode": "raw",
              "raw": "{\u0022location\u0022:\u0022category_menu\u0022,\u0022parent_id\u0022:null,\u0022type\u0022:\u0022category\u0022,\u0022category_id\u0022:{{category_id}},\u0022position\u0022:0,\u0022is_active\u0022:true}"
            },
            "url": "{{base_url}}/admin/navigation/items"
          }
        },
        {
          "name": "Create Link Item",
          "event": [{
            "listen": "test",
            "script": {
              "type": "text/javascript",
              "exec": [
                "pm.test('Created', () => pm.response.to.have.status(201));",
                "if (pm.response.code === 201) pm.collectionVariables.set('link_item_id', pm.response.json().data.id);"
              ]
            }
          }],
          "request": {
            "method": "POST",
            "header": [
              {"key": "Accept", "value": "application/json"},
              {"key": "Content-Type", "value": "application/json"}
            ],
            "body": {
              "mode": "raw",
              "raw": "{\u0022location\u0022:\u0022header_primary\u0022,\u0022parent_id\u0022:null,\u0022type\u0022:\u0022link\u0022,\u0022category_id\u0022:null,\u0022title\u0022:\u0022صفحه اصلی\u0022,\u0022href\u0022:\u0022/\u0022,\u0022position\u0022:0,\u0022is_active\u0022:true}"
            },
            "url": "{{base_url}}/admin/navigation/items"
          }
        }
      ]
    },
    {
      "name": "Update and Delete",
      "item": [
        {
          "name": "Update Category Item",
          "request": {
            "method": "PATCH",
            "header": [
              {"key": "Accept", "value": "application/json"},
              {"key": "Content-Type", "value": "application/json"}
            ],
            "body": {
              "mode": "raw",
              "raw": "{\u0022category_id\u0022:{{update_category_id}},\u0022position\u0022:1,\u0022is_active\u0022:true}"
            },
            "url": "{{base_url}}/admin/navigation/items/{{category_item_id}}"
          }
        },
        {
          "name": "Update Link Item",
          "request": {
            "method": "PATCH",
            "header": [
              {"key": "Accept", "value": "application/json"},
              {"key": "Content-Type", "value": "application/json"}
            ],
            "body": {
              "mode": "raw",
              "raw": "{\u0022title\u0022:\u0022درباره ما\u0022,\u0022href\u0022:\u0022/about\u0022,\u0022position\u0022:2,\u0022is_active\u0022:true}"
            },
            "url": "{{base_url}}/admin/navigation/items/{{link_item_id}}"
          }
        },
        {
          "name": "Delete Item",
          "request": {
            "method": "DELETE",
            "header": [{"key": "Accept", "value": "application/json"}],
            "url": "{{base_url}}/admin/navigation/items/{{link_item_id}}"
          }
        },
        {
          "name": "Delete Parent - Expect 409",
          "event": [{
            "listen": "test",
            "script": {
              "type": "text/javascript",
              "exec": ["pm.test('Conflict', () => pm.response.to.have.status(409));"]
            }
          }],
          "request": {
            "method": "DELETE",
            "header": [{"key": "Accept", "value": "application/json"}],
            "url": "{{base_url}}/admin/navigation/items/{{parent_item_id}}"
          }
        }
      ]
    },
    {
      "name": "Order",
      "item": [
        {
          "name": "Set Parent and Position",
          "request": {
            "method": "PUT",
            "header": [
              {"key": "Accept", "value": "application/json"},
              {"key": "Content-Type", "value": "application/json"}
            ],
            "body": {
              "mode": "raw",
              "raw": "{\u0022items\u0022:[{\u0022id\u0022:{{parent_item_id}},\u0022parent_id\u0022:null,\u0022position\u0022:0},{\u0022id\u0022:{{child_item_id}},\u0022parent_id\u0022:{{parent_item_id}},\u0022position\u0022:0}]}"
            },
            "url": "{{base_url}}/admin/navigation/items/order"
          }
        }
      ]
    }
  ]
}
