|
Media-submappen volgen nu MEDIA_PATH
De submappen voor avatars, post-images, reply-media, hero en audio-covers hadden
elk hun eigen env-variabele met een fallback naar <app>/storage/media/<sub>.
Daardoor negeerden ze MEDIA_PATH: wie zijn data buiten de checkout zette kreeg
alsnog een storage/-map in de work-tree, en uploads landden naast de code. Een
opruimstap bij een volgende deploy kan die vervolgens weggooien.
Nu leiden ze allemaal af van MEDIA_PATH via een gedeelde helper. Een eigen
override per submap wint nog steeds, dus bestaande installaties merken niets.
Dit maakt de scheiding van gebruikersdata en programmadata mogelijk met drie
regels in .env in plaats van acht.
Changed files:
src/routes/account.js
- AVATAR_DIR via mediaDir(); dode dirname en fileURLToPath-import weg
src/routes/posts.js
- POST_IMAGES_DIR en REPLY_MEDIA_DIR via mediaDir(); dode declaraties weg
src/routes/admin-media.js
- POST_IMAGES_DIR en REPLY_MEDIA_DIR via mediaDir(); dode declaraties weg
src/routes/admin-settings.js
- HERO_DIR via mediaDir(); dode declaraties weg
src/routes/admin-playlists.js
- COVER_DIR via mediaDir(); dode dirname weg
src/routes/admin-audio.js
- COVER_DIR via mediaDir(); AUDIO_DIR ongewijzigd (eigen wortel)
src/routes/admin-sites.js
- PHOTO_DIR via mediaDir(), deelt bewust de avatars-map
src/routes/activitypub.js
- AP_MEDIA_DIR via mediaDir(); ongebruikte fileURLToPath-import weg
New file:
src/config/paths.js
- MEDIA_ROOT afgeleid van MEDIA_PATH
- mediaDir(envVar, sub) voor submappen, met behoud van per-map overrides
DATABASE_PATH en AUDIO_PATH zijn eigen wortels en bewust ongemoeid gelaten.
Geverifieerd: 356 tests groen, en een server met externe MEDIA_PATH maakt al
zijn mappen buiten de checkout aan zonder de work-tree te raken.
-robo
Co-Authored-By: Claude Opus 5 <noreply@…>
|