aquavox/src/routes/api/database/search/+server.ts

27 lines
695 B
TypeScript

import { songNameCache } from '$lib/server/cache.js';
import { loadData } from '$lib/server/database/loadData';
import { json, error } from '@sveltejs/kit';
export async function GET({ url }) {
const keyword = url.searchParams.get("keyword");
loadData();
if (keyword === null) {
return error(400, {
"message": "Miss parameter: keyword"
})
}
const resultList: MusicMetadata[] = [];
for (const songName of songNameCache.keys()){
if (songName.toLocaleLowerCase().includes(keyword.toLocaleLowerCase())) {
resultList.push(songNameCache.get(songName)!);
}
}
return json({
"result": resultList
});
}