{
	"info": {
		"_postman_id": "product-recipe-collection",
		"name": "Product Recipe API",
		"description": "Complete CRUD operations for Product Recipe management",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
		"_exporter_id": "12345678"
	},
	"item": [
		{
			"name": "Authentication",
			"item": [
				{
					"name": "Login",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"email\": \"admin@example.com\",\n    \"password\": \"password123\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/auth/login",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"auth",
								"login"
							]
						}
					},
					"response": []
				}
			]
		},
		{
			"name": "Product Recipe Management",
			"item": [
				{
					"name": "Create Product Recipe",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							},
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"product_id\": \"{{product_id}}\",\n    \"variant_id\": \"{{variant_id}}\",\n    \"ingredient_id\": \"{{ingredient_id}}\",\n    \"quantity\": 2.5,\n    \"outlet_id\": \"{{outlet_id}}\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes"
							]
						}
					},
					"response": []
				},
				{
					"name": "Create Product Recipe (No Variant)",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							},
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"product_id\": \"{{product_id}}\",\n    \"ingredient_id\": \"{{ingredient_id}}\",\n    \"quantity\": 1.0\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes"
							]
						}
					},
					"response": []
				},
				{
					"name": "Bulk Create Product Recipes",
					"request": {
						"method": "POST",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							},
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"recipes\": [\n        {\n            \"product_id\": \"{{product_id}}\",\n            \"variant_id\": \"{{variant_id}}\",\n            \"ingredient_id\": \"{{ingredient_id_1}}\",\n            \"quantity\": 2.0\n        },\n        {\n            \"product_id\": \"{{product_id}}\",\n            \"variant_id\": \"{{variant_id}}\",\n            \"ingredient_id\": \"{{ingredient_id_2}}\",\n            \"quantity\": 1.5\n        },\n        {\n            \"product_id\": \"{{product_id}}\",\n            \"ingredient_id\": \"{{ingredient_id_3}}\",\n            \"quantity\": 0.5\n        }\n    ]\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/bulk",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"bulk"
							]
						}
					},
					"response": []
				},
				{
					"name": "Get Product Recipe by ID",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/{{recipe_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"{{recipe_id}}"
							]
						}
					},
					"response": []
				},
				{
					"name": "Get Product Recipes by Product ID",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/product/{{product_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"product",
								"{{product_id}}"
							]
						}
					},
					"response": []
				},
				{
					"name": "Get Product Recipes by Product ID and Variant ID",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/product/{{product_id}}?variant_id={{variant_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"product",
								"{{product_id}}"
							],
							"query": [
								{
									"key": "variant_id",
									"value": "{{variant_id}}"
								}
							]
						}
					},
					"response": []
				},
				{
					"name": "Get Product Recipes by Ingredient ID",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/ingredient/{{ingredient_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"ingredient",
								"{{ingredient_id}}"
							]
						}
					},
					"response": []
				},
				{
					"name": "Update Product Recipe",
					"request": {
						"method": "PUT",
						"header": [
							{
								"key": "Content-Type",
								"value": "application/json"
							},
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"body": {
							"mode": "raw",
							"raw": "{\n    \"quantity\": 3.0,\n    \"variant_id\": \"{{new_variant_id}}\",\n    \"outlet_id\": \"{{outlet_id}}\"\n}"
						},
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/{{recipe_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"{{recipe_id}}"
							]
						}
					},
					"response": []
				},
				{
					"name": "Delete Product Recipe",
					"request": {
						"method": "DELETE",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/product-recipes/{{recipe_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"product-recipes",
								"{{recipe_id}}"
							]
						}
					},
					"response": []
				}
			]
		},
		{
			"name": "Supporting Data",
			"item": [
				{
					"name": "Get Products",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/products",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"products"
							]
						}
					},
					"response": []
				},
				{
					"name": "Get Ingredients",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/ingredients",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"ingredients"
							]
						}
					},
					"response": []
				},
				{
					"name": "Get Product by ID (with variants)",
					"request": {
						"method": "GET",
						"header": [
							{
								"key": "Authorization",
								"value": "Bearer {{access_token}}"
							}
						],
						"url": {
							"raw": "{{base_url}}/api/v1/products/{{product_id}}",
							"host": [
								"{{base_url}}"
							],
							"path": [
								"api",
								"v1",
								"products",
								"{{product_id}}"
							]
						}
					},
					"response": []
				}
			]
		}
	],
	"event": [
		{
			"listen": "prerequest",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		},
		{
			"listen": "test",
			"script": {
				"type": "text/javascript",
				"exec": [
					""
				]
			}
		}
	],
	"variable": [
		{
			"key": "base_url",
			"value": "http://localhost:8080",
			"type": "string"
		},
		{
			"key": "access_token",
			"value": "",
			"type": "string"
		},
		{
			"key": "product_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "variant_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "ingredient_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "ingredient_id_1",
			"value": "",
			"type": "string"
		},
		{
			"key": "ingredient_id_2",
			"value": "",
			"type": "string"
		},
		{
			"key": "ingredient_id_3",
			"value": "",
			"type": "string"
		},
		{
			"key": "recipe_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "outlet_id",
			"value": "",
			"type": "string"
		},
		{
			"key": "new_variant_id",
			"value": "",
			"type": "string"
		}
	]
}