fix: optional fields in update response API (#6113)

This commit is contained in:
Piyush Gupta
2025-06-30 11:43:42 +05:30
committed by GitHub
parent 1536bf6907
commit 0b7734f725
3 changed files with 6 additions and 4 deletions

View File

@@ -65,7 +65,8 @@ export const validateSingleFile = (
return !allowedFileExtensions || allowedFileExtensions.includes(extension as TAllowedFileExtension);
};
export const validateFileUploads = (data: TResponseData, questions?: TSurveyQuestion[]): boolean => {
export const validateFileUploads = (data?: TResponseData, questions?: TSurveyQuestion[]): boolean => {
if (!data) return true;
for (const key of Object.keys(data)) {
const question = questions?.find((q) => q.id === key);
if (!question || question.type !== TSurveyQuestionTypeEnum.FileUpload) continue;

View File

@@ -33,10 +33,11 @@ export const validateOtherOptionLengthForMultipleChoice = ({
surveyQuestions,
responseLanguage,
}: {
responseData: TResponseData;
responseData?: TResponseData;
surveyQuestions: TSurveyQuestion[];
responseLanguage?: string;
}): string | undefined => {
if (!responseData) return undefined;
for (const [questionId, answer] of Object.entries(responseData)) {
const question = surveyQuestions.find((q) => q.id === questionId);
if (!question) continue;

View File

@@ -325,9 +325,9 @@ export const ZResponseInput = z.object({
export type TResponseInput = z.infer<typeof ZResponseInput>;
export const ZResponseUpdateInput = z.object({
finished: z.boolean(),
finished: z.boolean().optional(),
endingId: z.string().nullish(),
data: ZResponseData,
data: ZResponseData.optional(),
variables: ZResponseVariables.optional(),
ttc: ZResponseTtc.optional(),
language: z.string().optional(),