added files with prompts
This commit is contained in:
67
docs/prompts/step03.md
Normal file
67
docs/prompts/step03.md
Normal file
@ -0,0 +1,67 @@
|
||||
# Krok 03 - API vrstva a Error Handling
|
||||
|
||||
## Kontext projektu
|
||||
Frontend komunikuje s backendom výhradne cez jeden endpoint `ajax.php` pomocou POST požiadaviek s JSON payloadom.
|
||||
|
||||
## Pred implementáciou si preštuduj
|
||||
- `docs/architecture.md` - Sekcia 9 (AJAX API).
|
||||
|
||||
## Cieľ
|
||||
Vytvoriť základný API router `public/ajax.php` a implementovať jednotný systém pre spracovanie chýb a formátovanie odpovedí.
|
||||
|
||||
## Požadované zmeny
|
||||
1. Vytvorenie súboru `public/ajax.php`.
|
||||
2. Implementácia logiky pre:
|
||||
- Načítanie JSON vstupu z `php://input`.
|
||||
- Overenie prítomnosti hlavičky `X-User-ID`.
|
||||
- Základný router (switch podľa poľa `action`).
|
||||
- Jednotný formát úspešnej odpovede: `{"success": true, "data": {...}}`.
|
||||
- Jednotný formát chybovej odpovede: `{"success": false, "error": {"code": "...", "message": "..."}}`.
|
||||
3. Globálny `try-catch` blok na zachytávanie výnimiek a ich transformáciu do JSON odpovede.
|
||||
4. Nastavenie správnych HTTP hlavičiek (`Content-Type: application/json`).
|
||||
|
||||
## Implementačné pravidlá
|
||||
- Nepoužívaj frameworky pre routing.
|
||||
- Každá odpoveď musí mať nastavený status kód (typicky 200 pre aplikačné chyby v JSONe, alebo 4xx/5xx pri systémových chybách).
|
||||
- Zabezpeč, aby PHP warningy a errory neboli vypisované priamo do výstupu (použi `display_errors = 0` v produkčnom nastavení a vlastný error handler).
|
||||
|
||||
## Súbory ktoré je potrebné vytvoriť
|
||||
- `public/ajax.php`
|
||||
|
||||
## Súbory ktoré je potrebné upraviť
|
||||
Žiadne.
|
||||
|
||||
## API a dátové štruktúry
|
||||
Vstupné dáta (JSON):
|
||||
```json
|
||||
{
|
||||
"action": "string",
|
||||
"project_id": "string",
|
||||
"payload": {}
|
||||
}
|
||||
```
|
||||
|
||||
## Frontend požiadavky
|
||||
Nerelevantné (v tomto kroku len backend).
|
||||
|
||||
## Backend požiadavky
|
||||
- PHP 8.2.
|
||||
|
||||
## Testovací scenár
|
||||
1. Pošli POST požiadavku na `ajax.php` s prázdnym telom. Mal by si dostať JSON chybu.
|
||||
2. Pošli POST požiadavku s neexistujúcou akciou. Mal by si dostať JSON chybu `UNKNOWN_ACTION`.
|
||||
3. Pošli validnú požiadavku (zatiaľ môžeš implementovať akciu `ping`) a over formát `success: true`.
|
||||
|
||||
## Definition of Done
|
||||
- `ajax.php` funguje ako centrálny router.
|
||||
- Odpovede majú jednotnú štruktúru.
|
||||
- Chybové stavy sú ošetrené a vracajú JSON.
|
||||
|
||||
## Obmedzenia
|
||||
- Žiadne HTML vo výstupe z `ajax.php`.
|
||||
|
||||
## Výstup
|
||||
- zoznam vytvorených súborov
|
||||
- zoznam upravených súborov
|
||||
- stručné zhrnutie vykonaných zmien
|
||||
- prípadné otvorené problémy
|
||||
Reference in New Issue
Block a user