38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
|
|
export default defineEventHandler(async (event) => {
|
|
// this one requires auth
|
|
|
|
const config = await useRuntimeConfig(event)
|
|
const body = await readBody(event)
|
|
const session = await getUserSession(event)
|
|
//console.log(session)
|
|
|
|
const userId = session.secure?.user_id;
|
|
if (userId == undefined || userId == null)
|
|
throw createError({ statusCode: 401 })
|
|
else if (body.song == undefined)
|
|
throw createError({ statusCode: 400, statusMessage: "Song name required"})
|
|
|
|
const req = await fetch(config.fastapi_url + "/convert", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/json"
|
|
},
|
|
body: JSON.stringify({
|
|
video_url : body.url,
|
|
user_id : userId,
|
|
artist : body.artist || null,
|
|
album : body.album || null,
|
|
song : body.song
|
|
})
|
|
})
|
|
setResponseStatus(event, req.status)
|
|
setResponseHeader(event, "Content-Type", "application/json")
|
|
|
|
//console.log(await req.json())
|
|
return await req.json()
|
|
|
|
|
|
|
|
|
|
}) |