shinkan-jinkendo/frontend/src/utils
Lars 34235ef46d
Some checks failed
Deploy Development / deploy (push) Successful in 39s
Test Suite / pytest-backend (push) Successful in 34s
Test Suite / lint-backend (push) Successful in 1s
Test Suite / build-frontend (push) Successful in 11s
Test Suite / playwright-tests (push) Failing after 1m23s
feat(compliance): P-06 Upload-Einwilligungsdialog v1-conservative
Implementiert server-seitige Rechteerklärungspflicht für alle Medien-Uploads
und Sichtbarkeits-Promotions (konservative Erstannahme: alle Uploads).

Backend:
- backend/media_rights.py (NEU): Kernmodul — validate_rights_declaration,
  check_rights_coverage, assert_rights_for_promotion, assert_rights_for_exercise_link,
  write_rights_declaration, update_rights_quick_fields
- backend/migrations/048_media_rights_declarations.sql (NEU): Tabelle
  media_asset_rights_declarations (Append-only Audit-Log), Felder
  rights_status/rights_visibility_level in media_assets
- backend/routers/media_assets.py: P-06-Pflichtprüfung in PATCH (single + bulk),
  POST /api/media-assets/{id}/rights-declarations (Re-Deklaration),
  GET /api/admin/media-rights/legacy-summary|legacy-assets (Admin-Endpoints)
- backend/routers/exercises.py: P-06-Felder in upload_exercise_media,
  assert_rights_for_exercise_link in attach_exercise_media_from_asset
- backend/main.py: admin_rights_router registriert

Frontend:
- frontend/src/components/RightsDeclarationDialog.jsx (NEU): 9-Felder-Dialog
  (konservativ: immer alle Fragen), Client-Validierung, VORLÄUFIG-Hinweis
- frontend/src/pages/MediaLibraryPage.jsx: Dialog-Intercept vor Upload,
  Altbestand-Indikator (legacy_unreviewed)
- frontend/src/utils/api.js: P-06-Felder in bulkUploadMediaAssets weitergeleitet

Tests:
- backend/tests/test_media_rights_declaration.py (NEU): 28 Unit-/Integrationstests
- backend/tests/test_media_assets_archive.py: P-06 fetchone-Slots + Mock ergänzt
- backend/tests/test_media_assets_copyright_promotion.py: check_rights_coverage gemockt
- tests/dev-smoke-test.spec.js: 5 P-06 E2E-Tests ergänzt

Dokumentation:
- docs/compliance-implementation.md: P-06-Abschnitt
- docs/compliance-package-register.md: Status ⚠️ teilweise umgesetzt (KRIT-04 offen)
- docs/compliance-roadmap.md: P-06 im Freigaben-Log

Offen: KRIT-04 (rechtliche Finalisierung Einwilligungsformulierung) — technisch
vollständig, Rechtstext VORLÄUFIG.

version: 0.8.75
module: media_rights 1.0.0, media_assets 1.13.0, exercises 2.20.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 08:12:44 +02:00
..
activeClub.js feat(memberships, profiles, clubs): enhance active club membership handling 2026-05-09 10:42:56 +02:00
api.js feat(compliance): P-06 Upload-Einwilligungsdialog v1-conservative 2026-05-11 08:12:44 +02:00
dragAutoScroll.js feat(exercises): bump version to 0.8.64 and enhance media handling 2026-05-08 12:35:28 +02:00
exerciseInlineMediaRefs.js feat(exercises): update inline media functionality and version bump to 0.8.63 2026-05-08 12:20:24 +02:00
exerciseMediaUrl.js feat: enhance media asset management and exercise integration 2026-05-07 13:00:57 +02:00
exercisePermissions.js feat(memberships, profiles, clubs): enhance active club membership handling 2026-05-09 10:42:56 +02:00
exerciseRichTextSanitize.js feat(exercises): update inline media functionality and version bump to 0.8.63 2026-05-08 12:20:24 +02:00
htmlUtils.js feat: enhance exercise management with training types and rich text support 2026-04-27 14:48:46 +02:00
inlineMediaCaption.js feat(exercises): update inline media functionality and version bump to 0.8.63 2026-05-08 12:20:24 +02:00
portalRoles.js feat(admin): restrict admin access and enhance navigation for superadmins 2026-05-09 13:26:22 +02:00
sanitizeHtml.js feat: enhance Exercises and Clubs pages with improved UI and functionality 2026-05-06 12:20:22 +02:00
trainingPlanUtils.js feat: add TrainingCoachPage and enhance training planning features 2026-04-29 06:49:16 +02:00
trainingUnitSectionsForm.js feat: implement exercise promotion logic for training units 2026-05-07 10:09:25 +02:00