Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Medienkategorie verschieben (`parent_id`) fehlt in der API

Aperta
#54 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
php
Ambito
api, backend

Direzione di ricerca

Inizia leggendo la route esistente media/category/update e rex_media_category_service::editCategory(), che attualmente accetta solo name. Segui checkMediaPerm($user, $categoryId), il caching delle categorie e il punto di estensione MEDIA_CATEGORY_UPDATED prima di scegliere tra un parametro di aggiornamento e una route di spostamento. Il lavoro è completato quando sono stati convalidati i permessi della sorgente e della destinazione, sono stati prevenuti i cicli, sono stati aggiornati i parent, è stata invalidata la cache, è stato generato un evento di estensione ed è stata aggiunta la documentazione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Was soll erreicht werden

Eine Medienkategorie per API (Bearer + Backend-Session) in eine andere Elternkategorie verschieben können, z. B. parent_id optional in PATCH media/category/{id}, oder eigene Route media/category/{id}/move.

Problem

media/category/update akzeptiert nur name. Grund lt. Code-Kommentar: Core kann parent_id nicht ändern. Stimmt — geprüft: rex_media_category_service::editCategory() liest ausschließlich $data['name']. Es gibt dafür in Core weder UI noch Service-Methode.

Weil die API bewusst nichts anbietet, was Core nicht kann, bauen Konsumenten (z. B. unser mediapool3_demo-Addon mit Drag&Drop-Kategoriebaum) das jeweils selbst nach: rohes SQL auf parent_id, eigener Zyklen-Schutz, eigene Cache-Invalidierung — am API-Addon vorbei, ohne Extension Point.

Warum

Kategorien per Drag&Drop umstrukturieren ist ein gängiges Bedürfnis für jede Custom-Medienpool-UI. Aktuell baut das jeder Konsument einzeln und uneinheitlich nach, statt eine zentrale, getestete Implementierung zu nutzen.

Was muss gemacht werden

  • Route/Parameter festlegen: parent_id in update oder eigene move-Route (sauberer, da "update = 1:1 Core-Spiegel" von "move = bewusste Erweiterung" trennt)
  • Validierung: Zielkategorie existiert, kein Verschieben in eigenen Teilbaum (Zyklen-Schutz)
  • Rechteprüfung checkMediaPerm($user, $categoryId) für Quelle und Ziel
  • Direktes Update von parent_id (kein Core-Service vorhanden)
  • Cache-Invalidierung: alte Elternkategorie, verschobene Kategorie, neue Elternkategorie
  • Extension Point feuern (MEDIA_CATEGORY_UPDATED oder neu: MEDIA_CATEGORY_MOVED)
  • Dokumentieren, dass dies bewusst über Core-Parität hinausgeht (Ausnahme von der "nur spiegeln"-Regel)
Lingua principale
PHP
Stelle
20
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di FriendsOfREDAXO/api

Tutte le issue di FriendsOfREDAXO/api

Issue simili

Altre issue su PHP

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.