From 0195c52d30ed8f51b230f92830d6fad916bbcb1b Mon Sep 17 00:00:00 2001 From: valere Date: Tue, 10 Feb 2026 20:59:18 +0100 Subject: [PATCH] test server NUXT_ env in nuxt config --- .env | 3 --- drizzle.config.ts | 2 +- nuxt.config.ts | 4 ++++ server/api/sync-cards.post.ts | 3 ++- server/api/test/test-db-sync.post.ts | 3 ++- server/api/test/test-scanner.get.ts | 3 ++- server/db/index.ts | 6 +----- server/plugins/initialSync.ts | 3 ++- server/tasks/syncCards.ts | 4 ++-- server/utils/fileScanner.ts | 7 +++++-- 10 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.env b/.env index f80003a..4679cd6 100755 --- a/.env +++ b/.env @@ -3,6 +3,3 @@ PORT=7901 PORT_EXPOSED=3000 NODE_ENV=production -NUXT_PATH_FILES=mnt/media/files/music -NUXT_PATH_DB=data/music.db -NUXT_URL_PREFIX=https://files.erudi.fr/music/ diff --git a/drizzle.config.ts b/drizzle.config.ts index a97bbaf..296c781 100644 --- a/drizzle.config.ts +++ b/drizzle.config.ts @@ -6,6 +6,6 @@ export default defineConfig({ schema: './server/db/schema.ts', dialect: 'sqlite', dbCredentials: { - url: process.env.NUXT_PATH_DB! + url: 'data/music.db' } }) diff --git a/nuxt.config.ts b/nuxt.config.ts index 2533ff2..89747b0 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -4,6 +4,10 @@ import tsconfigPaths from 'vite-tsconfig-paths' const isProd = process.env.NODE_ENV === 'production' export default defineNuxtConfig({ + runtimeConfig: { + NUXT_PATH_FILES: 'mnt/media/files/music', + NUXT_URL_PREFIX: 'https://files.erudi.fr/music/' + }, nitro: { experimental: { tasks: true diff --git a/server/api/sync-cards.post.ts b/server/api/sync-cards.post.ts index 7ac2f4e..8710252 100644 --- a/server/api/sync-cards.post.ts +++ b/server/api/sync-cards.post.ts @@ -1,7 +1,8 @@ import { syncCardsWithDatabase } from '../services/cardSync.service' export default defineEventHandler(async (event) => { - const folderPath = process.env.NUXT_PATH_FILES + const runtimeConfig = useRuntimeConfig() + const folderPath = runtimeConfig.NUXT_PATH_FILES if (!folderPath) { throw createError({ diff --git a/server/api/test/test-db-sync.post.ts b/server/api/test/test-db-sync.post.ts index 1932f19..deaa5a2 100644 --- a/server/api/test/test-db-sync.post.ts +++ b/server/api/test/test-db-sync.post.ts @@ -1,7 +1,8 @@ import { syncCardsWithDatabase } from '../../services/cardSync.service' export default defineEventHandler(async (event) => { - const folderPath = process.env.NUXT_PATH_FILES + const runtimeConfig = useRuntimeConfig() + const folderPath = runtimeConfig.NUXT_PATH_FILES try { const result = await syncCardsWithDatabase(folderPath) diff --git a/server/api/test/test-scanner.get.ts b/server/api/test/test-scanner.get.ts index 06ed1d0..4e55d52 100644 --- a/server/api/test/test-scanner.get.ts +++ b/server/api/test/test-scanner.get.ts @@ -1,7 +1,8 @@ import { scanMusicFolder } from '../../utils/fileScanner' export default defineEventHandler(async (event) => { - const folderPath = process.env.NUXT_PATH_FILES + const runtimeConfig = useRuntimeConfig() + const folderPath = runtimeConfig.NUXT_PATH_FILES try { // Test 1: Vérifier que le dossier existe diff --git a/server/db/index.ts b/server/db/index.ts index c338c5d..a935b4a 100644 --- a/server/db/index.ts +++ b/server/db/index.ts @@ -6,11 +6,7 @@ let _db: ReturnType | null = null export function useDB() { if (_db) return _db - let dbPath = process.env.NUXT_PATH_DB - - if (!dbPath) { - throw new Error('PATH_DB is not configured') - } + let dbPath = 'data/music.db' // Convertir le chemin en URL file:// si ce n'est pas déjà une URL if (!dbPath.startsWith('file:') && !dbPath.startsWith('libsql:') && !dbPath.startsWith('http')) { diff --git a/server/plugins/initialSync.ts b/server/plugins/initialSync.ts index 90a4830..a8d0696 100644 --- a/server/plugins/initialSync.ts +++ b/server/plugins/initialSync.ts @@ -1,7 +1,8 @@ import { syncCardsWithDatabase } from '../services/cardSync.service' export default defineNitroPlugin(async (nitroApp) => { - const folderPath = process.env.NUXT_PATH_FILES + const runtimeConfig = useRuntimeConfig() + const folderPath = runtimeConfig.NUXT_PATH_FILES if (!folderPath) { console.warn('⚠️ NUXT_PATH_FILES non configuré') diff --git a/server/tasks/syncCards.ts b/server/tasks/syncCards.ts index 5449cd0..cf86e2d 100644 --- a/server/tasks/syncCards.ts +++ b/server/tasks/syncCards.ts @@ -6,8 +6,8 @@ export default defineTask({ description: 'Synchronise les tracks avec le système de fichiers' }, async run() { - const config = useRuntimeConfig() - const folderPath = process.env.NUXT_PATH_FILES + const runtimeConfig = useRuntimeConfig() + const folderPath = runtimeConfig.NUXT_PATH_FILES console.log('⏰ [TASK] Démarrage de la synchronisation planifiée...') diff --git a/server/utils/fileScanner.ts b/server/utils/fileScanner.ts index 03ca73a..383ab45 100644 --- a/server/utils/fileScanner.ts +++ b/server/utils/fileScanner.ts @@ -9,6 +9,9 @@ const listAudioExts = ['.mp3', '.opus', 'flac'] const listImageExts = ['.jpg', '.jpeg', '.webp'] export async function scanMusicFolder(folderPath: string): Promise { + const runtimeConfig = useRuntimeConfig() + const urlPrefix = runtimeConfig.NUXT_URL_PREFIX + try { const files = await readdir(folderPath) const cardMap = new Map() @@ -30,14 +33,14 @@ export async function scanMusicFolder(folderPath: string): Promise { for (const imgExt of listImageExts) { const potentialImage = baseName + imgExt if (files.includes(potentialImage)) { - imageUrl = process.env.NUXT_URL_PREFIX + baseName + imgExt + imageUrl = urlPrefix + baseName + imgExt break } } cardMap.set(parsed.esid, { ...parsed, - url_audio: process.env.NUXT_URL_PREFIX + baseName + ext, + url_audio: urlPrefix + baseName + ext, url_image: imageUrl, suit: parsed.suit, rank: parsed.rank