Medienkategorie verschieben (`parent_id`) fehlt in der API
まだ誰も着手していません。
評価
調査の方向性
まず、既存の media/category/update ルートと、現在は name のみを受け付ける rex_media_category_service::editCategory() を読んでください。更新パラメーターと移動ルートのどちらを選ぶか決める前に、checkMediaPerm($user, $categoryId)、カテゴリのキャッシュ、拡張ポイント MEDIA_CATEGORY_UPDATED を追跡してください。ソースとターゲットの権限の検証、循環の防止、親の更新、キャッシュの無効化、拡張イベントの発行、ドキュメントの追加が行われれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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_idinupdateoder eigenemove-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_UPDATEDoder neu:MEDIA_CATEGORY_MOVED) - Dokumentieren, dass dies bewusst über Core-Parität hinausgeht (Ausnahme von der "nur spiegeln"-Regel)
- 主要言語
- PHP
- スター
- 20
- フォーク
- 0
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
FriendsOfREDAXO/api のほかの issue
-
Medien löschen hinter Web Application Firewalls blockiert (Pfad enthält /delete)対応中かも @skerbis が 5 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
FriendsOfREDAXO/api#84 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
FriendsOfREDAXO/api#83 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
FriendsOfREDAXO/api#81 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
FriendsOfREDAXO/api#80 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
FriendsOfREDAXO/api#65 ·
FriendsOfREDAXO/api の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 3 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
PHP SDK drops the API path prefix when a custom base URL has no trailing slash対応中かも @Winoren が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
langgenius/dify#44568 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信