Medienkategorie verschieben (`parent_id`) fehlt in der API
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
Hướng nghiên cứu
Bắt đầu bằng cách đọc route media/category/update hiện có và rex_media_category_service::editCategory(), hiện chỉ chấp nhận name. Theo dõi checkMediaPerm($user, $categoryId), cơ chế caching category và extension point MEDIA_CATEGORY_UPDATED trước khi chọn giữa một update parameter và một move route. Được xem là hoàn tất khi quyền của nguồn và đích đã được xác thực, vòng lặp được ngăn chặn, parent được cập nhật, cache được invalidated, một extension event được phát ra và tài liệu được bổ sung.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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)
- Ngôn ngữ chính
- PHP
- Star
- 20
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của FriendsOfREDAXO/api
-
Medien löschen hinter Web Application Firewalls blockiert (Pfad enthält /delete)Có thể đã có người làm @skerbis đã nhận 5 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
FriendsOfREDAXO/api#84 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 65/100
FriendsOfREDAXO/api#83 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
FriendsOfREDAXO/api#81 ·
-
checkMediaPerm(): Ziel nicht geprüft bei Verschieben + keine Kaskadierung auf UnterkategorienĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
FriendsOfREDAXO/api#80 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 55/100
FriendsOfREDAXO/api#65 ·
Tất cả issue của FriendsOfREDAXO/api
Issue tương tự
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 3 ngày
-
AdminNeo is failing to updateĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 64/100
Maintainer thường phản hồi trong vòng 1 ngày
-
PHP SDK drops the API path prefix when a custom base URL has no trailing slashCó thể đã có người làm @Winoren đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
langgenius/dify#44568 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày