From 82da337a563abe47d3bcf1f02181ab08af31c1f8 Mon Sep 17 00:00:00 2001 From: Mythie Date: Fri, 15 Dec 2023 22:07:27 +1100 Subject: [PATCH] fix: remove `templateToken` --- .../src/app/(marketing)/singleplayer/client.tsx | 3 ++- .../recipient/set-recipients-for-template.ts | 1 - .../template/create-document-from-template.ts | 7 ++----- .../lib/server-only/template/duplicate-template.ts | 5 ++--- .../migration.sql | 8 ++++++++ packages/prisma/schema.prisma | 10 +++++----- packages/trpc/server/singleplayer-router/router.ts | 1 + .../primitives/template-flow/add-template-fields.tsx | 4 ++-- 8 files changed, 22 insertions(+), 17 deletions(-) create mode 100644 packages/prisma/migrations/20231214081915_remove_template_token_column/migration.sql diff --git a/apps/marketing/src/app/(marketing)/singleplayer/client.tsx b/apps/marketing/src/app/(marketing)/singleplayer/client.tsx index 71f6963a2..389528bf8 100644 --- a/apps/marketing/src/app/(marketing)/singleplayer/client.tsx +++ b/apps/marketing/src/app/(marketing)/singleplayer/client.tsx @@ -86,6 +86,7 @@ export const SinglePlayerClient = () => { data.fields.map((field, i) => ({ id: i, documentId: -1, + templateId: null, recipientId: -1, type: field.type, page: field.pageNumber, @@ -148,10 +149,10 @@ export const SinglePlayerClient = () => { const placeholderRecipient: Recipient = { id: -1, documentId: -1, + templateId: null, email: '', name: '', token: '', - templateToken: '', expired: null, signedAt: null, readStatus: 'OPENED', diff --git a/packages/lib/server-only/recipient/set-recipients-for-template.ts b/packages/lib/server-only/recipient/set-recipients-for-template.ts index 2145d47b4..c21c8cbf9 100644 --- a/packages/lib/server-only/recipient/set-recipients-for-template.ts +++ b/packages/lib/server-only/recipient/set-recipients-for-template.ts @@ -77,7 +77,6 @@ export const setRecipientsForTemplate = async ({ name: recipient.name, email: recipient.email, token: nanoid(), - templateToken: nanoid(), templateId, }, }), diff --git a/packages/lib/server-only/template/create-document-from-template.ts b/packages/lib/server-only/template/create-document-from-template.ts index b0589821f..1c23d8f85 100644 --- a/packages/lib/server-only/template/create-document-from-template.ts +++ b/packages/lib/server-only/template/create-document-from-template.ts @@ -1,6 +1,6 @@ import { nanoid } from '@documenso/lib/universal/id'; import { prisma } from '@documenso/prisma'; -import { TCreateDocumentFromTemplateMutationSchema } from '@documenso/trpc/server/template-router/schema'; +import type { TCreateDocumentFromTemplateMutationSchema } from '@documenso/trpc/server/template-router/schema'; export type CreateDocumentFromTemplateOptions = TCreateDocumentFromTemplateMutationSchema & { userId: number; @@ -41,7 +41,6 @@ export const createDocumentFromTemplate = async ({ email: recipient.email, name: recipient.name, token: nanoid(), - templateToken: recipient.templateToken, })), }, }, @@ -55,9 +54,7 @@ export const createDocumentFromTemplate = async ({ data: template.Field.map((field) => { const recipient = template.Recipient.find((recipient) => recipient.id === field.recipientId); - const documentRecipient = document.Recipient.find( - (doc) => doc.templateToken === recipient?.templateToken, - ); + const documentRecipient = document.Recipient.find((doc) => doc.email === recipient?.email); return { type: field.type, diff --git a/packages/lib/server-only/template/duplicate-template.ts b/packages/lib/server-only/template/duplicate-template.ts index 14806707b..6078a1945 100644 --- a/packages/lib/server-only/template/duplicate-template.ts +++ b/packages/lib/server-only/template/duplicate-template.ts @@ -1,6 +1,6 @@ import { nanoid } from '@documenso/lib/universal/id'; import { prisma } from '@documenso/prisma'; -import { TDuplicateTemplateMutationSchema } from '@documenso/trpc/server/template-router/schema'; +import type { TDuplicateTemplateMutationSchema } from '@documenso/trpc/server/template-router/schema'; export type DuplicateTemplateOptions = TDuplicateTemplateMutationSchema & { userId: number; @@ -38,7 +38,6 @@ export const duplicateTemplate = async ({ templateId, userId }: DuplicateTemplat email: recipient.email, name: recipient.name, token: nanoid(), - templateToken: recipient.templateToken, })), }, }, @@ -53,7 +52,7 @@ export const duplicateTemplate = async ({ templateId, userId }: DuplicateTemplat const recipient = template.Recipient.find((recipient) => recipient.id === field.recipientId); const duplicatedTemplateRecipient = duplicatedTemplate.Recipient.find( - (doc) => doc.templateToken === recipient?.templateToken, + (doc) => doc.email === recipient?.email, ); return { diff --git a/packages/prisma/migrations/20231214081915_remove_template_token_column/migration.sql b/packages/prisma/migrations/20231214081915_remove_template_token_column/migration.sql new file mode 100644 index 000000000..8514a14b7 --- /dev/null +++ b/packages/prisma/migrations/20231214081915_remove_template_token_column/migration.sql @@ -0,0 +1,8 @@ +/* + Warnings: + + - You are about to drop the column `templateToken` on the `Recipient` table. All the data in the column will be lost. + +*/ +-- AlterTable +ALTER TABLE "Recipient" DROP COLUMN "templateToken"; diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma index d21c4c637..193751367 100644 --- a/packages/prisma/schema.prisma +++ b/packages/prisma/schema.prisma @@ -188,7 +188,6 @@ model Recipient { email String @db.VarChar(255) name String @default("") @db.VarChar(255) token String - templateToken String? expired DateTime? signedAt DateTime? readStatus ReadStatus? @default(NOT_OPENED) @@ -272,14 +271,15 @@ enum TemplateType { model Template { id Int @id @default(autoincrement()) - userId Int - User User @relation(fields: [userId], references: [id], onDelete: Cascade) - title String type TemplateType @default(PRIVATE) + title String + userId Int templateDocumentDataId String - templateDocumentData DocumentData @relation(fields: [templateDocumentDataId], references: [id], onDelete: Cascade) createdAt DateTime @default(now()) updatedAt DateTime @default(now()) @updatedAt + + templateDocumentData DocumentData @relation(fields: [templateDocumentDataId], references: [id], onDelete: Cascade) + User User @relation(fields: [userId], references: [id], onDelete: Cascade) Recipient Recipient[] Field Field[] diff --git a/packages/trpc/server/singleplayer-router/router.ts b/packages/trpc/server/singleplayer-router/router.ts index 65888c835..8e2266fcc 100644 --- a/packages/trpc/server/singleplayer-router/router.ts +++ b/packages/trpc/server/singleplayer-router/router.ts @@ -63,6 +63,7 @@ export const singleplayerRouter = router({ // Dummy data. id: -1, documentId: -1, + templateId: null, recipientId: -1, }); } diff --git a/packages/ui/primitives/template-flow/add-template-fields.tsx b/packages/ui/primitives/template-flow/add-template-fields.tsx index df30a4d93..bb9c304d9 100644 --- a/packages/ui/primitives/template-flow/add-template-fields.tsx +++ b/packages/ui/primitives/template-flow/add-template-fields.tsx @@ -89,7 +89,7 @@ export const AddTemplateFieldsFormPartial = ({ signerEmail: recipients.find((recipient) => recipient.id === field.recipientId)?.email ?? '', signerToken: - recipients.find((recipient) => recipient.id === field.recipientId)?.templateToken ?? '', + recipients.find((recipient) => recipient.id === field.recipientId)?.token ?? '', })), }, }); @@ -187,7 +187,7 @@ export const AddTemplateFieldsFormPartial = ({ pageHeight: fieldPageHeight, signerEmail: selectedSigner.email, signerId: selectedSigner.id, - signerToken: selectedSigner.templateToken ?? '', + signerToken: selectedSigner.token ?? '', }); setIsFieldWithinBounds(false);