mirror of
https://github.com/formbricks/formbricks.git
synced 2025-12-29 18:00:26 -06:00
fix: handles error in json input parsing in the management endpoints (#2634)
This commit is contained in:
@@ -48,8 +48,16 @@ export const PUT = async (
|
||||
if (!actionClass) {
|
||||
return responses.notFoundResponse("Action Class", params.actionClassId);
|
||||
}
|
||||
const actionCLassUpdate = await request.json();
|
||||
const inputValidation = ZActionClassInput.safeParse(actionCLassUpdate);
|
||||
|
||||
let actionClassUpdate;
|
||||
try {
|
||||
actionClassUpdate = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
const inputValidation = ZActionClassInput.safeParse(actionClassUpdate);
|
||||
if (!inputValidation.success) {
|
||||
return responses.badRequestResponse(
|
||||
"Fields are missing or incorrectly formatted",
|
||||
|
||||
@@ -24,7 +24,15 @@ export const POST = async (request: Request): Promise<Response> => {
|
||||
try {
|
||||
const authentication = await authenticateRequest(request);
|
||||
if (!authentication) return responses.notAuthenticatedResponse();
|
||||
const actionClassInput = await request.json();
|
||||
|
||||
let actionClassInput;
|
||||
try {
|
||||
actionClassInput = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON input: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
const inputValidation = ZActionClassInput.safeParse(actionClassInput);
|
||||
|
||||
if (!inputValidation.success) {
|
||||
|
||||
@@ -73,7 +73,15 @@ export const PUT = async (
|
||||
if (!attributeClass) {
|
||||
return responses.notFoundResponse("Attribute Class", params.attributeClassId);
|
||||
}
|
||||
const attributeClassUpdate = await request.json();
|
||||
|
||||
let attributeClassUpdate;
|
||||
try {
|
||||
attributeClassUpdate = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON input: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
const inputValidation = ZAttributeClassUpdateInput.safeParse(attributeClassUpdate);
|
||||
if (!inputValidation.success) {
|
||||
return responses.badRequestResponse(
|
||||
|
||||
@@ -24,7 +24,15 @@ export const POST = async (request: Request): Promise<Response> => {
|
||||
try {
|
||||
const authentication = await authenticateRequest(request);
|
||||
if (!authentication) return responses.notAuthenticatedResponse();
|
||||
const attributeClassInput = await request.json();
|
||||
|
||||
let attributeClassInput;
|
||||
try {
|
||||
attributeClassInput = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON input: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
const inputValidation = ZAttributeClassInput.safeParse(attributeClassInput);
|
||||
|
||||
if (!inputValidation.success) {
|
||||
|
||||
@@ -72,7 +72,14 @@ export const PUT = async (
|
||||
const authentication = await authenticateRequest(request);
|
||||
if (!authentication) return responses.notAuthenticatedResponse();
|
||||
await fetchAndValidateResponse(authentication, params.responseId);
|
||||
const responseUpdate = await request.json();
|
||||
let responseUpdate;
|
||||
try {
|
||||
responseUpdate = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
const inputValidation = ZResponseUpdateInput.safeParse(responseUpdate);
|
||||
if (!inputValidation.success) {
|
||||
return responses.badRequestResponse(
|
||||
|
||||
@@ -14,7 +14,16 @@ import { getSignedUrlForPublicFile } from "./lib/getSignedUrl";
|
||||
// this api endpoint will return a signed url for uploading the file to s3 and another url for uploading file to the local storage
|
||||
|
||||
export const POST = async (req: NextRequest): Promise<Response> => {
|
||||
const { fileName, fileType, environmentId, allowedFileExtensions } = await req.json();
|
||||
let storageInput;
|
||||
|
||||
try {
|
||||
storageInput = await req.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON input: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
const { fileName, fileType, environmentId, allowedFileExtensions } = storageInput;
|
||||
|
||||
if (!fileName) {
|
||||
return responses.badRequestResponse("fileName is required");
|
||||
|
||||
@@ -62,7 +62,13 @@ export const PUT = async (
|
||||
if (!survey) {
|
||||
return responses.notFoundResponse("Survey", params.surveyId);
|
||||
}
|
||||
const surveyUpdate = await request.json();
|
||||
let surveyUpdate;
|
||||
try {
|
||||
surveyUpdate = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON input: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
const inputValidation = ZSurvey.safeParse({
|
||||
...survey,
|
||||
...surveyUpdate,
|
||||
|
||||
@@ -30,7 +30,15 @@ export const POST = async (request: Request): Promise<Response> => {
|
||||
try {
|
||||
const authentication = await authenticateRequest(request);
|
||||
if (!authentication) return responses.notAuthenticatedResponse();
|
||||
let surveyInput = await request.json();
|
||||
|
||||
let surveyInput;
|
||||
try {
|
||||
surveyInput = await request.json();
|
||||
} catch (error) {
|
||||
console.error(`Error parsing JSON: ${error}`);
|
||||
return responses.badRequestResponse("Malformed JSON input, please check your request body");
|
||||
}
|
||||
|
||||
if (surveyInput?.questions && surveyInput.questions[0].headline) {
|
||||
const questionHeadline = surveyInput.questions[0].headline;
|
||||
if (typeof questionHeadline === "string") {
|
||||
|
||||
Reference in New Issue
Block a user