🐛 Fix legacy publicId format validation

This commit is contained in:
Baptiste Arnaud
2023-08-22 11:43:35 +02:00
parent 83352d77f5
commit fe54888350
4 changed files with 20 additions and 8 deletions

View File

@@ -58,8 +58,7 @@ export const SharePage = () => {
if (!isCorrectlyFormatted) {
showToast({
description:
'Should contain only contain letters, numbers. Words can be separated by dashes.',
description: 'Can only contain lowercase letters, numbers and dashes.',
})
return false
}

View File

@@ -139,7 +139,12 @@ export const updateTypebot = authenticatedProcedure
typebot.resultsTablePreferences === null
? Prisma.DbNull
: typebot.resultsTablePreferences,
publicId: typebot.publicId === null ? null : typebot.publicId,
publicId:
typebot.publicId === null
? null
: typebot.publicId && isPublicIdValid(typebot.publicId)
? typebot.publicId
: undefined,
customDomain:
typebot.customDomain === null ? null : typebot.customDomain,
isClosed: typebot.isClosed,
@@ -149,3 +154,6 @@ export const updateTypebot = authenticatedProcedure
return { typebot: typebotSchema.parse(newTypebot) }
}
)
const isPublicIdValid = (str: string) =>
/^([a-z0-9]+-[a-z0-9]*)*$/.test(str) || /^[a-z0-9]*$/.test(str)