Medien-Synchronisation (Dateisystem → DB) als REST-Endpunkt
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Comienza con mediapool/pages/sync.php, mediapool/package.yml:20 y las convenciones existentes de la ruta /api/me. Compara el comportamiento de la página de sincronización respecto a diff, importación y reparación de metadatos con la gestión de permisos y scopes de la API. Se considera terminado cuando las operaciones de sincronización solicitadas están expuestas sin hacer que GET realice escrituras y se aplica el permiso media/sync previsto.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Aus #53 von @skerbis. Bestätigt: /api/me kennt kein media/sync, der Endpunkt fehlt tatsächlich.
Im Core gibt es die Funktion unter mediapool/pages/sync.php, abgesichert über die Permission media[sync] (mediapool/package.yml:20). Die Seite tut zwei Dinge:
- Diff — alle Dateien in
rex_path::media()perrex_finder, abzüglich der inrex_mediaeingetragenen (sync.php:9-29). - Import — ausgewählte Dateinamen über
rex_media_service::addMedia($data, false)mittitleundcategory_id(sync.php:82).
Vorschlag: GET /api/media/sync liefert die Diff-Liste, POST /api/media/sync mit {"files":[…],"category_id":…,"title":"…"} importiert. Scope media/sync; im Backend-Spiegel gegen media[sync] prüfen statt gegen die Kategorierechte, weil der Core das dort auch so macht.
Zu klären vor der Umsetzung: die Seite repariert bei jedem Aufruf zusätzlich filesize/width/height bestehender DB-Einträge (sync.php:32-53) — ein Schreibvorgang beim Lesen. Das darf ein GET nicht tun. Entweder in den POST verschieben oder als eigener Endpunkt (POST /api/media/sync/repair).
Dieser Text wurde durch eine KI erstellt.
- Lenguaje dominante
- PHP
- Estrellas
- 20
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FriendsOfREDAXO/api
-
Medien löschen hinter Web Application Firewalls blockiert (Pfad enthält /delete)Posiblemente ocupada @skerbis la tomó hace 4 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
FriendsOfREDAXO/api#84 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
FriendsOfREDAXO/api#83 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
FriendsOfREDAXO/api#81 ·
-
checkMediaPerm(): Ziel nicht geprüft bei Verschieben + keine Kaskadierung auf UnterkategorienAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
FriendsOfREDAXO/api#80 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
FriendsOfREDAXO/api#62 ·
Todos los issues de FriendsOfREDAXO/api
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
lorisleiva/laravel-docker#166 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
kanboard/kanboard#5929 · 1 comentario · 3 reacciones ·
Los mantenedores suelen responder en 5 días
-
Rebuild 6.2.3 images on PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 (CVE-2026-109618, CVE-2026-109619)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
swoole/docker-swoole#65 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 79/100
PHP-CS-Fixer/PHP-CS-Fixer#9899 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
backdrop-contrib/rules#257 ·