From 0dac24f77d943a057181578b0868e772f12119da Mon Sep 17 00:00:00 2001 From: Matt Walsh Date: Sat, 22 Mar 2025 13:52:00 +0100 Subject: [PATCH] playlist json --- index.mjs | 2 ++ src/music-list.mjs | 0 src/playlist-reader.mjs | 12 ++++++++++++ src/playlist.mjs | 15 +++++++++++++++ 4 files changed, 29 insertions(+) delete mode 100644 src/music-list.mjs create mode 100644 src/playlist-reader.mjs create mode 100644 src/playlist.mjs diff --git a/index.mjs b/index.mjs index cca8e0b..8bafffe 100644 --- a/index.mjs +++ b/index.mjs @@ -3,6 +3,7 @@ import fs from 'fs'; import corsPassThru from './cors/index.mjs'; import radarPassThru from './cors/radar.mjs'; import outlookPassThru from './cors/outlook.mjs'; +import playlist from './src/playlist.mjs'; const app = express(); const port = process.env.WS4KP_PORT ?? 8080; @@ -14,6 +15,7 @@ app.set('view engine', 'ejs'); app.get('/stations/*', corsPassThru); app.get('/Conus/*', radarPassThru); app.get('/products/*', outlookPassThru); +app.get('/playlist.json', playlist); // version const { version } = JSON.parse(fs.readFileSync('package.json')); diff --git a/src/music-list.mjs b/src/music-list.mjs deleted file mode 100644 index e69de29..0000000 diff --git a/src/playlist-reader.mjs b/src/playlist-reader.mjs new file mode 100644 index 0000000..401f23d --- /dev/null +++ b/src/playlist-reader.mjs @@ -0,0 +1,12 @@ +import fs from 'fs/promises'; + +const reader = async () => { + // get the listing of files in the folder + const rawFiles = await fs.readdir('./server/music'); + // filter for mp3 files + const files = rawFiles.filter((file) => file.match(/\.mp3$/)); + console.log(files); + return files; +}; + +export default reader; diff --git a/src/playlist.mjs b/src/playlist.mjs new file mode 100644 index 0000000..ee9c4ac --- /dev/null +++ b/src/playlist.mjs @@ -0,0 +1,15 @@ +import reader from './playlist-reader.mjs'; + +const playlistGenerator = async (req, res) => { + try { + const availableFiles = await reader(); + res.json({ + availableFiles, + }); + } catch (e) { + console.error(e); + } + res.send(); +}; + +export default playlistGenerator;