diff --git a/apps/builder/src/features/typebot/api/publishTypebot.ts b/apps/builder/src/features/typebot/api/publishTypebot.ts index abae108ca..354f732b3 100644 --- a/apps/builder/src/features/typebot/api/publishTypebot.ts +++ b/apps/builder/src/features/typebot/api/publishTypebot.ts @@ -48,6 +48,7 @@ export const publishTypebot = authenticatedProcedure workspace: { select: { plan: true, + isVerified: true, isSuspended: true, isPastDue: true, members: { @@ -87,7 +88,8 @@ export const publishTypebot = authenticatedProcedure 'Radar detected a potential malicious typebot. This bot is being manually reviewed by Fraud Prevention team.', }) - const typebotWasVerified = existingTypebot.riskLevel === -1 + const typebotWasVerified = + existingTypebot.riskLevel === -1 || existingTypebot.workspace.isVerified const riskLevel = typebotWasVerified ? 0 : computeRiskLevel(existingTypebot) diff --git a/apps/docs/openapi/builder/_spec_.json b/apps/docs/openapi/builder/_spec_.json index c1a77d373..400aee6bb 100644 --- a/apps/docs/openapi/builder/_spec_.json +++ b/apps/docs/openapi/builder/_spec_.json @@ -7072,6 +7072,10 @@ }, "isPastDue": { "type": "boolean" + }, + "isVerified": { + "type": "boolean", + "nullable": true } }, "required": [ @@ -7093,7 +7097,8 @@ "customSeatsLimit", "isQuarantined", "isSuspended", - "isPastDue" + "isPastDue", + "isVerified" ], "additionalProperties": false } @@ -7225,6 +7230,10 @@ }, "isPastDue": { "type": "boolean" + }, + "isVerified": { + "type": "boolean", + "nullable": true } }, "required": [ @@ -7246,7 +7255,8 @@ "customSeatsLimit", "isQuarantined", "isSuspended", - "isPastDue" + "isPastDue", + "isVerified" ], "additionalProperties": false } @@ -7395,6 +7405,10 @@ }, "isPastDue": { "type": "boolean" + }, + "isVerified": { + "type": "boolean", + "nullable": true } }, "required": [ @@ -7416,7 +7430,8 @@ "customSeatsLimit", "isQuarantined", "isSuspended", - "isPastDue" + "isPastDue", + "isVerified" ], "additionalProperties": false } @@ -54488,6 +54503,10 @@ }, "isPastDue": { "type": "boolean" + }, + "isVerified": { + "type": "boolean", + "nullable": true } }, "required": [ @@ -54509,7 +54528,8 @@ "customSeatsLimit", "isQuarantined", "isSuspended", - "isPastDue" + "isPastDue", + "isVerified" ], "additionalProperties": false, "nullable": true diff --git a/packages/prisma/mysql/schema.prisma b/packages/prisma/mysql/schema.prisma index c7bc7f64a..4d8782560 100644 --- a/packages/prisma/mysql/schema.prisma +++ b/packages/prisma/mysql/schema.prisma @@ -99,6 +99,7 @@ model Workspace { isQuarantined Boolean @default(false) isSuspended Boolean @default(false) isPastDue Boolean @default(false) + isVerified Boolean? themeTemplates ThemeTemplate[] } diff --git a/packages/prisma/postgresql/migrations/20231211122755_add_banned_ip_table/migration.sql b/packages/prisma/postgresql/migrations/20231211122755_add_banned_ip_table/migration.sql index 2422b0a5a..d18edc0ea 100644 --- a/packages/prisma/postgresql/migrations/20231211122755_add_banned_ip_table/migration.sql +++ b/packages/prisma/postgresql/migrations/20231211122755_add_banned_ip_table/migration.sql @@ -12,9 +12,6 @@ CREATE TABLE "BannedIp" ( -- CreateIndex CREATE UNIQUE INDEX "BannedIp_ip_key" ON "BannedIp"("ip"); --- CreateIndex -CREATE INDEX "Answer_storageUsed_idx" ON "Answer"("storageUsed"); - -- AddForeignKey ALTER TABLE "BannedIp" ADD CONSTRAINT "BannedIp_responsibleTypebotId_fkey" FOREIGN KEY ("responsibleTypebotId") REFERENCES "Typebot"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/packages/prisma/postgresql/migrations/20231219130423_add_is_verified_flag_on_workspace/migration.sql b/packages/prisma/postgresql/migrations/20231219130423_add_is_verified_flag_on_workspace/migration.sql new file mode 100644 index 000000000..010c886a2 --- /dev/null +++ b/packages/prisma/postgresql/migrations/20231219130423_add_is_verified_flag_on_workspace/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Workspace" ADD COLUMN "isVerified" BOOLEAN; diff --git a/packages/prisma/postgresql/schema.prisma b/packages/prisma/postgresql/schema.prisma index 908ad6b70..6ca462a62 100644 --- a/packages/prisma/postgresql/schema.prisma +++ b/packages/prisma/postgresql/schema.prisma @@ -93,6 +93,7 @@ model Workspace { isQuarantined Boolean @default(false) isSuspended Boolean @default(false) isPastDue Boolean @default(false) + isVerified Boolean? themeTemplates ThemeTemplate[] } diff --git a/packages/schemas/features/workspace.ts b/packages/schemas/features/workspace.ts index 90e33786b..1f40275a3 100644 --- a/packages/schemas/features/workspace.ts +++ b/packages/schemas/features/workspace.ts @@ -51,6 +51,7 @@ export const workspaceSchema = z.object({ isQuarantined: z.boolean(), isSuspended: z.boolean(), isPastDue: z.boolean(), + isVerified: z.boolean().nullable(), }) satisfies z.ZodType export type Workspace = z.infer