๐ Menu API โ
๐ Categories โ
๐ List Categories โ
GET /api/menu/categoriesPublic. Returns all categories.
๐ Get Category โ
GET /api/menu/categories/:idPublic. Returns a category with its menu items.
โ Create Category โ
POST /api/menu/categories
Authorization: Bearer <manager-token>json
{
"name": "Burgers",
"slug": "burgers",
"description": "Our signature burgers",
"sortOrder": 1,
"isActive": true,
"parentId": null,
"locationId": null
}โ๏ธ Update Category โ
PATCH /api/menu/categories/:id
Authorization: Bearer <manager-token>๐๏ธ Delete Category โ
DELETE /api/menu/categories/:id
Authorization: Bearer <super-admin-token>๐ฝ๏ธ Menu Items โ
๐ List Items โ
GET /api/menu/items?categoryId=...&search=...&page=1&limit=20Public. Supports filtering by category and text search.
๐ Get Item โ
GET /api/menu/items/:idPublic. Returns item with options, allergens, and mealtimes.
โ Create Item โ
POST /api/menu/items
Authorization: Bearer <manager-token>json
{
"name": "Classic Burger",
"slug": "classic-burger",
"description": "Beef patty with lettuce, tomato, and our secret sauce",
"price": 12.99,
"categoryId": "category-id",
"isActive": true,
"sortOrder": 1,
"trackStock": false,
"options": [
{
"name": "Size",
"displayType": "RADIO",
"isRequired": true,
"values": [
{ "name": "Regular", "priceModifier": 0, "isDefault": true },
{ "name": "Large", "priceModifier": 3.00 }
]
}
]
}โ๏ธ Update Item โ
PATCH /api/menu/items/:id
Authorization: Bearer <manager-token>๐๏ธ Delete Item โ
DELETE /api/menu/items/:id
Authorization: Bearer <super-admin-token>๐ผ๏ธ Upload Item Image โ
POST /api/menu/items/:id/image
Authorization: Bearer <manager-token>
Content-Type: multipart/form-data
Form field: image๐๏ธ Delete Item Image โ
DELETE /api/menu/items/:id/image
Authorization: Bearer <manager-token>โ ๏ธ Allergens โ
๐ List Allergens โ
GET /api/menu/allergensPublic.
โ Create Allergen โ
POST /api/menu/allergens
Authorization: Bearer <manager-token>json
{
"name": "Gluten"
}๐๏ธ Delete Allergen โ
DELETE /api/menu/allergens/:id
Authorization: Bearer <super-admin-token>๐ Mealtimes โ
๐ List Mealtimes โ
GET /api/menu/mealtimesPublic.
โ Create Mealtime โ
POST /api/menu/mealtimes
Authorization: Bearer <manager-token>json
{
"name": "Breakfast",
"startTime": "06:00",
"endTime": "11:00",
"days": [0, 1, 2, 3, 4, 5, 6]
}โ๏ธ Update Mealtime โ
PATCH /api/menu/mealtimes/:id
Authorization: Bearer <manager-token>๐๏ธ Delete Mealtime โ
DELETE /api/menu/mealtimes/:id
Authorization: Bearer <super-admin-token>๐ Permissions Summary โ
| Action | Required Role |
|---|---|
| ๐ Read categories, items, allergens, mealtimes | Public |
| โ๏ธ Create / update | Manager, Super Admin |
| ๐๏ธ Delete | Super Admin |