refactor(admin): split 9 more oversized lib/ files into focused modules
Files split by agents before rate limit: - dsr/api.ts (669 → barrel + helpers) - einwilligungen/context.tsx (669 → barrel + hooks/reducer) - export.ts (753 → barrel + domain exporters) - incidents/api.ts (845 → barrel + api-helpers) - tom-generator/context.tsx (720 → barrel + hooks/reducer) - vendor-compliance/context.tsx (1010 → 234 provider + hooks/reducer) - api-docs/endpoints.ts — partially split (3 domain files created) - academy/api.ts — partially split (helpers extracted) - whistleblower/api.ts — partially split (helpers extracted) next build passes. api-client.ts (885) deferred to next session. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
262
admin-compliance/lib/sdk/api-docs/endpoints-python-gdpr.ts
Normal file
262
admin-compliance/lib/sdk/api-docs/endpoints-python-gdpr.ts
Normal file
@@ -0,0 +1,262 @@
|
||||
/**
|
||||
* Python/FastAPI endpoints — GDPR, DSR, consent, and data-subject modules
|
||||
* (banner, consent-templates, dsfa, dsr, einwilligungen, loeschfristen,
|
||||
* consent-user, consent-admin, dsr-user, dsr-admin, gdpr)
|
||||
*/
|
||||
import { ApiModule } from './types'
|
||||
|
||||
export const pythonGdprModules: ApiModule[] = [
|
||||
{
|
||||
id: 'banner',
|
||||
name: 'Cookie-Banner & Consent Management',
|
||||
service: 'python',
|
||||
basePath: '/api/compliance/consent',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'POST', path: '/consent', description: 'Einwilligung erfassen', service: 'python', exposure: 'public' },
|
||||
{ method: 'GET', path: '/consent', description: 'Einwilligungen auflisten', service: 'python' },
|
||||
{ method: 'DELETE', path: '/consent/{consent_id}', description: 'Einwilligung loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/consent/export', description: 'Einwilligungsdaten exportieren', service: 'python' },
|
||||
{ method: 'GET', path: '/config/{site_id}', description: 'Seitenkonfiguration laden', service: 'python', exposure: 'public' },
|
||||
{ method: 'GET', path: '/admin/sites', description: 'Alle Seiten auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/admin/sites', description: 'Seite erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/admin/sites/{site_id}', description: 'Seite aktualisieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/admin/sites/{site_id}', description: 'Seite loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/admin/sites/{site_id}/categories', description: 'Cookie-Kategorien auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/admin/sites/{site_id}/categories', description: 'Cookie-Kategorie erstellen', service: 'python' },
|
||||
{ method: 'DELETE', path: '/admin/categories/{category_id}', description: 'Cookie-Kategorie loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/admin/sites/{site_id}/vendors', description: 'Anbieter auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/admin/sites/{site_id}/vendors', description: 'Anbieter hinzufuegen', service: 'python' },
|
||||
{ method: 'DELETE', path: '/admin/vendors/{vendor_id}', description: 'Anbieter loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/admin/stats/{site_id}', description: 'Seiten-Statistiken laden', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'consent-templates',
|
||||
name: 'Einwilligungsvorlagen — Consent Templates',
|
||||
service: 'python',
|
||||
basePath: '/api/compliance/consent-templates',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/consent-templates', description: 'Vorlagen auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/consent-templates', description: 'Vorlage erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/consent-templates/{template_id}', description: 'Vorlage aktualisieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/consent-templates/{template_id}', description: 'Vorlage loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/gdpr-processes', description: 'DSGVO-Prozesse auflisten', service: 'python' },
|
||||
{ method: 'PUT', path: '/gdpr-processes/{process_id}', description: 'DSGVO-Prozess aktualisieren', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'dsfa',
|
||||
name: 'DSFA — Datenschutz-Folgenabschaetzung',
|
||||
service: 'python',
|
||||
basePath: '/api/compliance/dsfa',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/', description: 'DSFAs auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/', description: 'DSFA erstellen', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsfa_id}', description: 'DSFA laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/{dsfa_id}', description: 'DSFA aktualisieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/{dsfa_id}', description: 'DSFA loeschen', service: 'python' },
|
||||
{ method: 'PATCH', path: '/{dsfa_id}/status', description: 'DSFA-Status aendern', service: 'python' },
|
||||
{ method: 'PUT', path: '/{dsfa_id}/sections/{section_number}', description: 'DSFA-Abschnitt aktualisieren', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsfa_id}/submit-for-review', description: 'Zur Pruefung einreichen', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsfa_id}/approve', description: 'DSFA genehmigen', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsfa_id}/export', description: 'DSFA als JSON exportieren', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsfa_id}/versions', description: 'Versionshistorie laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsfa_id}/versions/{version_number}', description: 'Bestimmte Version laden', service: 'python' },
|
||||
{ method: 'GET', path: '/stats', description: 'DSFA-Statistiken laden', service: 'python' },
|
||||
{ method: 'GET', path: '/audit-log', description: 'DSFA-Audit-Log laden', service: 'python' },
|
||||
{ method: 'GET', path: '/export/csv', description: 'Alle DSFAs als CSV exportieren', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'dsr',
|
||||
name: 'DSR — Betroffenenrechte (Admin)',
|
||||
service: 'python',
|
||||
basePath: '/api/compliance/dsr',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'POST', path: '/', description: 'DSR erstellen', service: 'python' },
|
||||
{ method: 'GET', path: '/', description: 'DSRs auflisten', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}', description: 'DSR laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/{dsr_id}', description: 'DSR aktualisieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/{dsr_id}', description: 'DSR loeschen', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/status', description: 'Status aendern', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/verify-identity', description: 'Identitaet verifizieren', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/assign', description: 'DSR zuweisen', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/extend', description: 'Frist verlaengern', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/complete', description: 'DSR abschliessen', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/reject', description: 'DSR ablehnen', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}/history', description: 'Antragshistorie laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}/communications', description: 'Kommunikation laden', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/communicate', description: 'Nachricht senden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}/exception-checks', description: 'Ausnahme-Checks laden', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/exception-checks/init', description: 'Ausnahme-Checks initialisieren', service: 'python' },
|
||||
{ method: 'PUT', path: '/{dsr_id}/exception-checks/{check_id}', description: 'Ausnahme-Check aktualisieren', service: 'python' },
|
||||
{ method: 'GET', path: '/stats', description: 'DSR-Statistiken laden', service: 'python' },
|
||||
{ method: 'GET', path: '/export', description: 'DSRs exportieren', service: 'python' },
|
||||
{ method: 'POST', path: '/deadlines/process', description: 'Fristen verarbeiten', service: 'python' },
|
||||
{ method: 'GET', path: '/templates', description: 'DSR-Vorlagen laden', service: 'python' },
|
||||
{ method: 'GET', path: '/templates/published', description: 'Veroeffentlichte Vorlagen laden', service: 'python' },
|
||||
{ method: 'GET', path: '/templates/{template_id}/versions', description: 'Vorlagen-Versionen laden', service: 'python' },
|
||||
{ method: 'POST', path: '/templates/{template_id}/versions', description: 'Vorlagen-Version erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/template-versions/{version_id}/publish', description: 'Vorlagen-Version veroeffentlichen', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'einwilligungen',
|
||||
name: 'Einwilligungen — DSGVO-Einwilligungsverwaltung',
|
||||
service: 'python',
|
||||
basePath: '/api/compliance/einwilligungen',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/catalog', description: 'Einwilligungskatalog laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/catalog', description: 'Katalog aktualisieren', service: 'python' },
|
||||
{ method: 'GET', path: '/company', description: 'Unternehmens-Consent-Einstellungen laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/company', description: 'Einstellungen aktualisieren', service: 'python' },
|
||||
{ method: 'GET', path: '/cookies', description: 'Cookie-Einwilligungen laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/cookies', description: 'Cookie-Einwilligungen aktualisieren', service: 'python' },
|
||||
{ method: 'GET', path: '/consents/stats', description: 'Statistiken laden', service: 'python' },
|
||||
{ method: 'GET', path: '/consents', description: 'Einwilligungen auflisten (paginiert)', service: 'python' },
|
||||
{ method: 'POST', path: '/consents', description: 'Einwilligung erstellen', service: 'python' },
|
||||
{ method: 'GET', path: '/consents/{consent_id}/history', description: 'Einwilligungshistorie laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/consents/{consent_id}/revoke', description: 'Einwilligung widerrufen', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'loeschfristen',
|
||||
name: 'Loeschfristen — Aufbewahrung & Loeschung',
|
||||
service: 'python',
|
||||
basePath: '/api/compliance/loeschfristen',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/', description: 'Loeschrichtlinien auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/', description: 'Richtlinie erstellen', service: 'python' },
|
||||
{ method: 'GET', path: '/stats', description: 'Loeschfristen-Statistiken laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{policy_id}', description: 'Richtlinie laden', service: 'python' },
|
||||
{ method: 'PUT', path: '/{policy_id}', description: 'Richtlinie aktualisieren', service: 'python' },
|
||||
{ method: 'PUT', path: '/{policy_id}/status', description: 'Richtlinien-Status aendern', service: 'python' },
|
||||
{ method: 'DELETE', path: '/{policy_id}', description: 'Richtlinie loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/{policy_id}/versions', description: 'Versionshistorie laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{policy_id}/versions/{version_number}', description: 'Bestimmte Version laden', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'consent-user',
|
||||
name: 'Consent API — Nutzer-Einwilligungen',
|
||||
service: 'python',
|
||||
basePath: '/api/consents',
|
||||
exposure: 'public',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/token/demo', description: 'Demo-Token laden', service: 'python' },
|
||||
{ method: 'GET', path: '/check/{document_type}', description: 'Einwilligungsstatus pruefen', service: 'python' },
|
||||
{ method: 'GET', path: '/pending', description: 'Offene Einwilligungen laden', service: 'python' },
|
||||
{ method: 'GET', path: '/documents/{document_type}/latest', description: 'Aktuellstes Dokument laden', service: 'python' },
|
||||
{ method: 'POST', path: '/give', description: 'Einwilligung erteilen', service: 'python' },
|
||||
{ method: 'GET', path: '/cookies/categories', description: 'Cookie-Kategorien laden', service: 'python' },
|
||||
{ method: 'POST', path: '/cookies', description: 'Cookie-Einwilligung setzen', service: 'python' },
|
||||
{ method: 'GET', path: '/privacy/my-data', description: 'Eigene Daten laden', service: 'python' },
|
||||
{ method: 'POST', path: '/privacy/export', description: 'Datenexport anfordern', service: 'python' },
|
||||
{ method: 'POST', path: '/privacy/delete', description: 'Datenlöschung anfordern', service: 'python' },
|
||||
{ method: 'GET', path: '/health', description: 'Health-Check', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'consent-admin',
|
||||
name: 'Consent Admin — Dokumenten- & Versionsverwaltung',
|
||||
service: 'python',
|
||||
basePath: '/api/admin/consents',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/documents', description: 'Dokumente auflisten', service: 'python' },
|
||||
{ method: 'POST', path: '/documents', description: 'Dokument erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/documents/{doc_id}', description: 'Dokument aktualisieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/documents/{doc_id}', description: 'Dokument loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/documents/{doc_id}/versions', description: 'Versionen laden', service: 'python' },
|
||||
{ method: 'POST', path: '/versions', description: 'Version erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/versions/{version_id}', description: 'Version aktualisieren', service: 'python' },
|
||||
{ method: 'POST', path: '/versions/{version_id}/publish', description: 'Version veroeffentlichen', service: 'python' },
|
||||
{ method: 'POST', path: '/versions/{version_id}/archive', description: 'Version archivieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/versions/{version_id}', description: 'Version loeschen', service: 'python' },
|
||||
{ method: 'POST', path: '/versions/{version_id}/submit-review', description: 'Zur Pruefung einreichen', service: 'python' },
|
||||
{ method: 'POST', path: '/versions/{version_id}/approve', description: 'Version genehmigen', service: 'python' },
|
||||
{ method: 'POST', path: '/versions/{version_id}/reject', description: 'Version ablehnen', service: 'python' },
|
||||
{ method: 'GET', path: '/versions/{version_id}/compare', description: 'Versionen vergleichen', service: 'python' },
|
||||
{ method: 'GET', path: '/versions/{version_id}/approval-history', description: 'Genehmigungshistorie laden', service: 'python' },
|
||||
{ method: 'POST', path: '/versions/upload-word', description: 'Word-Dokument hochladen', service: 'python' },
|
||||
{ method: 'GET', path: '/scheduled-versions', description: 'Geplante Versionen laden', service: 'python' },
|
||||
{ method: 'POST', path: '/scheduled-publishing/process', description: 'Geplante Veroeffentlichungen verarbeiten', service: 'python' },
|
||||
{ method: 'GET', path: '/cookies/categories', description: 'Cookie-Kategorien laden', service: 'python' },
|
||||
{ method: 'POST', path: '/cookies/categories', description: 'Kategorie erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/cookies/categories/{cat_id}', description: 'Kategorie aktualisieren', service: 'python' },
|
||||
{ method: 'DELETE', path: '/cookies/categories/{cat_id}', description: 'Kategorie loeschen', service: 'python' },
|
||||
{ method: 'GET', path: '/statistics', description: 'Admin-Statistiken laden', service: 'python' },
|
||||
{ method: 'GET', path: '/audit-log', description: 'Audit-Log laden', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'dsr-user',
|
||||
name: 'DSR API — Nutzer-Betroffenenrechte',
|
||||
service: 'python',
|
||||
basePath: '/api/dsr',
|
||||
exposure: 'public',
|
||||
endpoints: [
|
||||
{ method: 'POST', path: '/', description: 'Antrag stellen', service: 'python' },
|
||||
{ method: 'GET', path: '/', description: 'Eigene Antraege laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}', description: 'Antrag laden', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/cancel', description: 'Antrag stornieren', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'dsr-admin',
|
||||
name: 'DSR Admin — Antrags-Verwaltung',
|
||||
service: 'python',
|
||||
basePath: '/api/admin/dsr',
|
||||
exposure: 'internal',
|
||||
endpoints: [
|
||||
{ method: 'GET', path: '/', description: 'Alle Antraege laden', service: 'python' },
|
||||
{ method: 'GET', path: '/stats', description: 'DSR-Statistiken laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}', description: 'Antrag laden', service: 'python' },
|
||||
{ method: 'POST', path: '/', description: 'Antrag erstellen', service: 'python' },
|
||||
{ method: 'PUT', path: '/{dsr_id}', description: 'Antrag aktualisieren', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/status', description: 'Status aendern', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/verify-identity', description: 'Identitaet verifizieren', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/assign', description: 'Zuweisen', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/extend', description: 'Frist verlaengern', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/complete', description: 'Abschliessen', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/reject', description: 'Ablehnen', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}/history', description: 'Historie laden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}/communications', description: 'Kommunikation laden', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/communicate', description: 'Nachricht senden', service: 'python' },
|
||||
{ method: 'GET', path: '/{dsr_id}/exception-checks', description: 'Ausnahme-Checks laden', service: 'python' },
|
||||
{ method: 'POST', path: '/{dsr_id}/exception-checks/init', description: 'Checks initialisieren', service: 'python' },
|
||||
{ method: 'PUT', path: '/{dsr_id}/exception-checks/{check_id}', description: 'Check aktualisieren', service: 'python' },
|
||||
{ method: 'POST', path: '/deadlines/process', description: 'Fristen verarbeiten', service: 'python' },
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
id: 'gdpr',
|
||||
name: 'GDPR / Datenschutz — Nutzerdaten & Export',
|
||||
service: 'python',
|
||||
basePath: '/api/gdpr',
|
||||
exposure: 'public',
|
||||
endpoints: [
|
||||
{ method: 'POST', path: '/export-pdf', description: 'Nutzerdaten als PDF exportieren', service: 'python' },
|
||||
{ method: 'GET', path: '/export-html', description: 'Nutzerdaten als HTML exportieren', service: 'python' },
|
||||
{ method: 'GET', path: '/data-categories', description: 'Datenkategorien laden', service: 'python' },
|
||||
{ method: 'GET', path: '/data-categories/{category}', description: 'Kategorie-Details laden', service: 'python' },
|
||||
{ method: 'POST', path: '/request-deletion', description: 'Datenlöschung beantragen', service: 'python' },
|
||||
],
|
||||
},
|
||||
]
|
||||
Reference in New Issue
Block a user