diff --git a/docs/API.md b/docs/API.md index 5a5772b..5f4a221 100644 --- a/docs/API.md +++ b/docs/API.md @@ -440,6 +440,38 @@ Odpowiedz: } ``` +### Kategorie + +#### Lista kategorii +``` +GET api.php?endpoint=categories&action=list +``` + +Zwraca plaska liste wszystkich aktywnych kategorii w domyslnym jezyku sklepu. + +Odpowiedz: +```json +{ + "status": "ok", + "data": { + "categories": [ + {"id": 1, "parent_id": null, "title": "Kategoria glowna"}, + {"id": 3, "parent_id": 1, "title": "Podkategoria A"}, + {"id": 5, "parent_id": 1, "title": "Podkategoria B"} + ] + } +} +``` + +Pola odpowiedzi: +| Pole | Typ | Opis | +|------|-----|------| +| `id` | int | ID kategorii | +| `parent_id` | int\|null | ID kategorii nadrzednej (null = kategoria glowna) | +| `title` | string | Nazwa w domyslnym jezyku; fallback na inny jezyk jesli brak tlumaczenia | + +--- + ### Slowniki #### Lista statusow zamowien @@ -549,3 +581,4 @@ UPDATE pp_settings SET value = 'twoj-klucz-api' WHERE param = 'api_key'; - `OrdersApiController` — zamowienia (5 akcji) - `ProductsApiController` — produkty (8 akcji: list, get, create, update, variants, create_variant, update_variant, delete_variant) - `DictionariesApiController` — slowniki (5 akcji: statuses, transports, payment_methods, attributes, ensure_producer) + - `CategoriesApiController` — kategorie (1 akcja: list) diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index d56218a..f885525 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -4,6 +4,14 @@ Logi zmian z migracji na Domain-Driven Architecture. Najnowsze na gorze. --- +## ver. 0.326 (2026-02-27) - API: endpoint categories/list + +- **NEW**: `api\Controllers\CategoriesApiController` — nowy kontroler API z akcją `list` +- **NEW**: Endpoint `GET api.php?endpoint=categories&action=list` — zwraca płaską listę aktywnych kategorii (id, parent_id, title) w domyślnym języku sklepu +- **FIX**: Usunięto zbędny parametr w `CategoryRepository`, eliminacja N+1 queries w categories/list przez bulk-fetch tytułów + +--- + ## ver. 0.325 (2026-02-27) - Fix changelog encoding + limit wyświetlania - **FIX**: `updates/changelog.php` — naprawione krzaczki (mojibake) w polskich znakach; dane odbudowane z plików manifest diff --git a/docs/PROJECT_STRUCTURE.md b/docs/PROJECT_STRUCTURE.md index de757a2..2aa96ee 100644 --- a/docs/PROJECT_STRUCTURE.md +++ b/docs/PROJECT_STRUCTURE.md @@ -85,6 +85,7 @@ REST API dla ordersPRO. Entry point: `api.php`. Stateless (bez sesji), autentyka - `OrdersApiController` — lista, szczegoly, zmiana statusu, platnosc (5 akcji) - `ProductsApiController` — lista, szczegoly, tworzenie, aktualizacja produktow (4 akcje) - `DictionariesApiController` — statusy, transporty, metody platnosci (3 akcje) +- `CategoriesApiController` — lista aktywnych kategorii (1 akcja) Dokumentacja: `docs/API.md` diff --git a/templates/.DS_Store b/templates/.DS_Store deleted file mode 100644 index 96797d4..0000000 Binary files a/templates/.DS_Store and /dev/null differ