Added basic validation for requests
This commit is contained in:
@ -6,49 +6,48 @@ import voices from "@/data/tts";
|
||||
export async function GET(req: Request) {
|
||||
try {
|
||||
if (!voices) {
|
||||
return new NextResponse("Voices not available.", { status: 500 });
|
||||
return NextResponse.json({ message: 'Failed to load voices', error: null, value: null }, { status: 500 })
|
||||
}
|
||||
|
||||
|
||||
const user = await fetchUserWithImpersonation(req)
|
||||
if (!user) {
|
||||
return new NextResponse("Unauthorized", { status: 401 });
|
||||
return NextResponse.json({ message: 'Unauthorized.', error: null, value: null }, { status: 401 });
|
||||
}
|
||||
|
||||
return NextResponse.json(user.ttsDefaultVoice);
|
||||
} catch (error) {
|
||||
console.log("[TTS/FILTER/DEFAULT]", error);
|
||||
return new NextResponse("Internal Error", { status: 500 });
|
||||
return NextResponse.json({ message: 'Something went wrong', error: error, value: null }, { status: 500 })
|
||||
}
|
||||
}
|
||||
|
||||
export async function POST(req: Request) {
|
||||
try {
|
||||
if (!voices) {
|
||||
return new NextResponse("Voices not available.", { status: 500 });
|
||||
return NextResponse.json({ message: 'Failed to load voices', error: null, value: null }, { status: 500 })
|
||||
}
|
||||
|
||||
const user = await fetchUserWithImpersonation(req)
|
||||
if (!user) {
|
||||
return new NextResponse("Unauthorized", { status: 401 });
|
||||
return NextResponse.json({ message: 'Unauthorized.', error: null, value: null }, { status: 401 });
|
||||
}
|
||||
|
||||
const { voice } = await req.json();
|
||||
if (!voice || !voices.map(v => v.toLowerCase()).includes(voice.toLowerCase())) return new NextResponse("Bad Request", { status: 400 });
|
||||
if (!voice || !voices.map(v => v.toLowerCase()).includes(voice.toLowerCase()))
|
||||
return NextResponse.json({ message: 'Voice does not exist.', error: null, value: null }, { status: 400 })
|
||||
|
||||
const v = voices.find(v => v.toLowerCase() == voice.toLowerCase())
|
||||
|
||||
await db.user.update({
|
||||
where: {
|
||||
id: user.id
|
||||
},
|
||||
data: {
|
||||
ttsDefaultVoice: v
|
||||
}
|
||||
where: {
|
||||
id: user.id
|
||||
},
|
||||
data: {
|
||||
ttsDefaultVoice: v
|
||||
}
|
||||
});
|
||||
|
||||
return new NextResponse("", { status: 200 });
|
||||
return NextResponse.json({ message: null, error: null, value: null }, { status: 200 })
|
||||
} catch (error) {
|
||||
console.log("[TTS/FILTER/DEFAULT]", error);
|
||||
return NextResponse.json({ message: 'Something went wrong', error: error, value: null }, { status: 500 })
|
||||
}
|
||||
return new NextResponse("Internal Error", { status: 500 });
|
||||
}
|
Reference in New Issue
Block a user