From 121a50cb194eef49b104752f80f71d9b4efcb967 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sat, 3 Oct 2026 22:33:30 +0200 Subject: [PATCH] fix(integrations): accept persisted IDs when updating (#6985) --- apps/docs/docs/management/integrations/index.mdx | 3 +++ packages/validation/src/integration.ts | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/apps/docs/docs/management/integrations/index.mdx b/apps/docs/docs/management/integrations/index.mdx index f934ba268..a621bb855 100644 --- a/apps/docs/docs/management/integrations/index.mdx +++ b/apps/docs/docs/management/integrations/index.mdx @@ -52,6 +52,9 @@ used by widgets that open the service. Integrations can also be created while adding content to a board. Editing a connection from a widget updates that integration everywhere it is used. +Existing integration IDs are preserved when editing, including IDs containing hyphens from externally seeded data. +Changing settings requires full access to that integration; IDs do not grant access. + ## Permissions | Level | Allows | diff --git a/packages/validation/src/integration.ts b/packages/validation/src/integration.ts index c45b4ef73..8481a45ba 100644 --- a/packages/validation/src/integration.ts +++ b/packages/validation/src/integration.ts @@ -29,7 +29,8 @@ export const integrationCreateSchema = z.object({ }); export const integrationUpdateSchema = z.object({ - id: z.string().cuid2(), + // Updates address an existing row, including externally seeded IDs. + id: z.string().nonempty(), name: z.string().nonempty().max(127), url: z.string().url(), secrets: z.array(