68 lines
2.4 KiB
Markdown
68 lines
2.4 KiB
Markdown
# Krok 05 - Služba pre GDPR súhlas
|
|
|
|
## Kontext projektu
|
|
Podľa právnych požiadaviek a špecifikácie MVP musí systém evidovať explicitný súhlas používateľa so spracovaním údajov pred tým, než povolí uloženie akýchkoľvek citlivých dát alebo generovanie webu.
|
|
|
|
## Pred implementáciou si preštuduj
|
|
- `docs/mvp.md` - Sekcia 10 (GDPR).
|
|
- `docs/architecture.md` - Sekcia 7 (GDPR súhlas).
|
|
|
|
## Cieľ
|
|
Vytvoriť službu na správu GDPR súhlasov a implementovať API akciu na uloženie súhlasu.
|
|
|
|
## Požadované zmeny
|
|
1. Vytvorenie triedy `App\Services\ConsentService` v `src/Services/ConsentService.php`.
|
|
2. Implementácia metódy `saveConsent(string $projectId, string $userId, string $consentText): bool`.
|
|
- Uloží súbor `data/consent/<project_id>.json`.
|
|
- Záznam musí obsahovať: `project_id`, `user_id`, `consent_text_version`, `consent_text`, `accepted: true`, `accepted_at` (v UTC).
|
|
3. Implementácia metódy `hasConsent(string $projectId): bool`.
|
|
4. Implementácia API akcie `saveConsent` v `ajax.php`.
|
|
|
|
## Implementačné pravidlá
|
|
- Verzia textu súhlasu by mala byť konštanta v kóde (napr. `webwizard-mvp-2026-06-12`).
|
|
- Dátum musí byť v ISO 8601 formáte (UTC).
|
|
- Bez súhlasu nesmie systém povoliť krok generovania AI (bude validované v neskorších krokoch).
|
|
|
|
## Súbory ktoré je potrebné vytvoriť
|
|
- `src/Services/ConsentService.php`
|
|
|
|
## Súbory ktoré je potrebné upraviť
|
|
- `public/ajax.php` (pridanie akcie `saveConsent`)
|
|
|
|
## API a dátové štruktúry
|
|
JSON súhlasu:
|
|
```json
|
|
{
|
|
"project_id": "...",
|
|
"user_id": "...",
|
|
"consent_text_version": "...",
|
|
"consent_text": "...",
|
|
"accepted": true,
|
|
"accepted_at": "2026-06-12T10:00:00Z"
|
|
}
|
|
```
|
|
|
|
## Frontend požiadavky
|
|
Nerelevantné.
|
|
|
|
## Backend požiadavky
|
|
- PHP 8.2.
|
|
|
|
## Testovací scenár
|
|
1. Zavolaj akciu `saveConsent` s platným `project_id` a textom.
|
|
2. Over, či sa vytvoril súbor v `data/consent/`.
|
|
3. Over obsah súboru, najmä formát dátumu a prítomnosť všetkých polí.
|
|
|
|
## Definition of Done
|
|
- Systém dokáže auditovateľne ukladať GDPR súhlasy.
|
|
- Existuje služba na overenie existencie súhlasu pre daný projekt.
|
|
|
|
## Obmedzenia
|
|
- Súhlas je neprenosný medzi projektami (každý projekt musí mať vlastný záznam súhlasu, aj keď je to ten istý používateľ).
|
|
|
|
## Výstup
|
|
- zoznam vytvorených súborov
|
|
- zoznam upravených súborov
|
|
- stručné zhrnutie vykonaných zmien
|
|
- prípadné otvorené problémy
|