Medien-Synchronisation (Dateisystem → DB) als REST-Endpunkt
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Inizia da mediapool/pages/sync.php, mediapool/package.yml:20 e dalle convenzioni esistenti della route /api/me. Confronta il comportamento della pagina di sincronizzazione per diff, importazione e riparazione dei metadati con la gestione delle autorizzazioni e degli scope dell’API. Il lavoro è completato quando le operazioni di sincronizzazione richieste sono esposte senza fare in modo che GET esegua scritture e viene applicata l’autorizzazione media/sync prevista.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- 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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FriendsOfREDAXO/api
-
Medien löschen hinter Web Application Firewalls blockiert (Pfad enthält /delete)Forse già presa @skerbis l’ha presa 4 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
FriendsOfREDAXO/api#84 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
FriendsOfREDAXO/api#83 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
FriendsOfREDAXO/api#81 ·
-
checkMediaPerm(): Ziel nicht geprüft bei Verschieben + keine Kaskadierung auf UnterkategorienAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
FriendsOfREDAXO/api#80 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
FriendsOfREDAXO/api#62 ·
Tutte le issue di FriendsOfREDAXO/api
Issue simili
-
sync-en
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Source item status is not saved when stock is deducted on shipment (stays "In Stock" at qty 0)ApertaIssue: ready for confirmation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
coollabsio/coolify#12274 ·
I maintainer di solito rispondono entro 1 giorno
-
[Type] Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 4 giorni
-
0.kind: enhancement 9.needs: package (update)
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
NixOS/nixpkgs#577156 · 3 reazioni ·
I maintainer di solito rispondono entro 1 giorno