Files
WebWizard/docs/prompts/step05.md
2026-06-12 12:54:10 +02:00

2.4 KiB

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:

{
  "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