From d609de1420327528015792866470c6e578f8c046 Mon Sep 17 00:00:00 2001 From: DGoel1602 Date: Sat, 20 Dec 2025 23:28:39 -0500 Subject: [PATCH] Update forms instead of erroring if it alr exists --- packages/api/src/routers/forms.ts | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/api/src/routers/forms.ts b/packages/api/src/routers/forms.ts index 121c41ee2..d1113df11 100644 --- a/packages/api/src/routers/forms.ts +++ b/packages/api/src/routers/forms.ts @@ -22,18 +22,29 @@ export const formsRouter = { .input(FormSchemaValidator) .mutation(async ({ input }) => { const jsonSchema = generateJsonSchema(input); - if (jsonSchema.success) { - await db.insert(FormsSchemas).values({ - name: input.name, - formData: input, - formValidatorJson: jsonSchema.schema, - }); - } else { + + if (!jsonSchema.success) { throw new TRPCError({ message: jsonSchema.msg, code: "BAD_REQUEST", }); } + + await db + .insert(FormsSchemas) + .values({ + name: input.name, + formData: input, + formValidatorJson: jsonSchema.schema, + }) + .onConflictDoUpdate({ + //If it already exists upsert it + target: FormsSchemas.name, + set: { + formData: input, + formValidatorJson: jsonSchema.schema, + }, + }); }), getForm: publicProcedure