sql #33

Open
valere wants to merge 34 commits from sql into master
10 changed files with 21 additions and 17 deletions
Showing only changes of commit 0195c52d30 - Show all commits

3
.env
View File

@@ -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/

View File

@@ -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'
}
})

View File

@@ -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

View File

@@ -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({

View File

@@ -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)

View File

@@ -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

View File

@@ -6,11 +6,7 @@ let _db: ReturnType<typeof drizzle> | 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')) {

View File

@@ -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é')

View File

@@ -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...')

View File

@@ -9,6 +9,9 @@ const listAudioExts = ['.mp3', '.opus', 'flac']
const listImageExts = ['.jpg', '.jpeg', '.webp']
export async function scanMusicFolder(folderPath: string): Promise<Card[]> {
const runtimeConfig = useRuntimeConfig()
const urlPrefix = runtimeConfig.NUXT_URL_PREFIX
try {
const files = await readdir(folderPath)
const cardMap = new Map<string, Card>()
@@ -30,14 +33,14 @@ export async function scanMusicFolder(folderPath: string): Promise<Card[]> {
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