feat(api): public GET /restaurants/by-slug/{slug}
Prerequisite for the customer webapp module (aiolabs/webapp, branch feat/restaurant-bundle): the webapp's /r/:slug route needs to resolve a slug to a Restaurant payload without an admin key. crud.get_restaurant_by_slug already exists (used by the server- rendered CMS routes in views.py); just expose it as a public REST endpoint. Mirrors api_get_restaurant by id and is declared before the bare-id route so the static prefix wins FastAPI's path match. Verified live against seeded 'Big Jay's Bustaurant': GET /restaurant/api/v1/restaurants/by-slug/big-jays-bustaurant -> 200 with the Restaurant payload.
This commit is contained in:
parent
dd756ecfc3
commit
6dae57f3f4
3 changed files with 27 additions and 1 deletions
|
|
@ -15,6 +15,7 @@ the catalog.
|
|||
| Method | Path | Notes |
|
||||
|---|---|---|
|
||||
| `GET` | `/restaurants/{id}` | Restaurant profile |
|
||||
| `GET` | `/restaurants/by-slug/{slug}` | Restaurant profile by URL slug — used by webapps that route on `/r/:slug` and need to resolve to an `id` before any other lookup. 404 when no match |
|
||||
| `GET` | `/restaurants/{id}/menu` | `{restaurant, tree, items}` — the canonical [[menu-tree|menu tree]] (hydrated children + items per node) plus a flat enriched items list with modifier groups + availability windows pre-joined |
|
||||
| `GET` | `/menu_items/{id}` | Single item |
|
||||
| `GET` | `/menu_nodes/{id}` | Single node row |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue