diff --git a/packages/lib/server-only/template/get-template-by-direct-link-token.ts b/packages/lib/server-only/template/get-template-by-direct-link-token.ts index 2ca8e84b7..2c28533b7 100644 --- a/packages/lib/server-only/template/get-template-by-direct-link-token.ts +++ b/packages/lib/server-only/template/get-template-by-direct-link-token.ts @@ -75,7 +75,10 @@ export const getTemplateByDirectLinkToken = async ({ ...firstDocumentData, envelopeItemId: envelope.envelopeItems[0].id, }, - directLink, + directLink: { + ...directLink, + templateId: mapSecondaryIdToTemplateId(envelope.secondaryId), + }, templateMeta: envelope.documentMeta, recipients: recipientsWithMappedFields, fields: recipientsWithMappedFields.flatMap((recipient) => recipient.fields), diff --git a/packages/lib/server-only/template/get-template-by-id.ts b/packages/lib/server-only/template/get-template-by-id.ts index b8e2cac1c..f231f315f 100644 --- a/packages/lib/server-only/template/get-template-by-id.ts +++ b/packages/lib/server-only/template/get-template-by-id.ts @@ -77,6 +77,12 @@ export const getTemplateById = async ({ id, userId, teamId }: GetTemplateByIdOpt ...field, templateId: legacyTemplateId, })), + directLink: envelope.directLink + ? { + ...envelope.directLink, + templateId: legacyTemplateId, + } + : null, id: mapSecondaryIdToTemplateId(envelope.secondaryId), }; }; diff --git a/packages/lib/types/template.ts b/packages/lib/types/template.ts index 6ab83bab9..30207c4d7 100644 --- a/packages/lib/types/template.ts +++ b/packages/lib/types/template.ts @@ -4,9 +4,11 @@ import { DocumentDataSchema } from '@documenso/prisma/generated/zod/modelSchema/ import { DocumentMetaSchema } from '@documenso/prisma/generated/zod/modelSchema/DocumentMetaSchema'; import { FolderSchema } from '@documenso/prisma/generated/zod/modelSchema/FolderSchema'; import TeamSchema from '@documenso/prisma/generated/zod/modelSchema/TeamSchema'; -import { TemplateDirectLinkSchema } from '@documenso/prisma/generated/zod/modelSchema/TemplateDirectLinkSchema'; import { UserSchema } from '@documenso/prisma/generated/zod/modelSchema/UserSchema'; -import { TemplateSchema } from '@documenso/prisma/types/template-legacy-schema'; +import { + LegacyTemplateDirectLinkSchema, + TemplateSchema, +} from '@documenso/prisma/types/template-legacy-schema'; import { ZFieldSchema } from './field'; import { ZRecipientLiteSchema } from './recipient'; @@ -60,7 +62,7 @@ export const ZTemplateSchema = TemplateSchema.pick({ emailId: true, emailReplyTo: true, }), - directLink: TemplateDirectLinkSchema.nullable(), + directLink: LegacyTemplateDirectLinkSchema.nullable(), user: UserSchema.pick({ id: true, name: true, @@ -138,7 +140,7 @@ export const ZTemplateManySchema = TemplateSchema.pick({ signingOrder: true, distributionMethod: true, }).nullable(), - directLink: TemplateDirectLinkSchema.pick({ + directLink: LegacyTemplateDirectLinkSchema.pick({ token: true, enabled: true, }).nullable(), diff --git a/packages/prisma/types/template-legacy-schema.ts b/packages/prisma/types/template-legacy-schema.ts index 42de5caa2..3e533fbea 100644 --- a/packages/prisma/types/template-legacy-schema.ts +++ b/packages/prisma/types/template-legacy-schema.ts @@ -8,6 +8,7 @@ import { z } from 'zod'; import { ZDocumentAuthOptionsSchema } from '@documenso/lib/types/document-auth'; import { DocumentVisibilitySchema } from '../generated/zod/inputTypeSchemas/DocumentVisibilitySchema'; +import TemplateDirectLinkSchema from '../generated/zod/modelSchema/TemplateDirectLinkSchema'; export const TemplateTypeSchema = z.nativeEnum(TemplateType); @@ -33,3 +34,7 @@ export const TemplateSchema = z.object({ }); export type Template = z.infer; + +export const LegacyTemplateDirectLinkSchema = TemplateDirectLinkSchema.extend({ + templateId: z.number(), +}); diff --git a/packages/trpc/server/template-router/schema.ts b/packages/trpc/server/template-router/schema.ts index 22b7a6594..a53e8ba8c 100644 --- a/packages/trpc/server/template-router/schema.ts +++ b/packages/trpc/server/template-router/schema.ts @@ -26,7 +26,7 @@ import { ZTemplateManySchema, ZTemplateSchema, } from '@documenso/lib/types/template'; -import { TemplateDirectLinkSchema } from '@documenso/prisma/generated/zod/modelSchema/TemplateDirectLinkSchema'; +import { LegacyTemplateDirectLinkSchema } from '@documenso/prisma/types/template-legacy-schema'; import { ZSignFieldWithTokenMutationSchema } from '../field-router/schema'; @@ -156,15 +156,14 @@ export const ZCreateTemplateDirectLinkRequestSchema = z.object({ .optional(), }); -const GenericDirectLinkResponseSchema = TemplateDirectLinkSchema.pick({ +const GenericDirectLinkResponseSchema = LegacyTemplateDirectLinkSchema.pick({ id: true, token: true, createdAt: true, enabled: true, directTemplateRecipientId: true, envelopeId: true, -}).extend({ - templateId: z.number(), + templateId: true, }); export const ZCreateTemplateDirectLinkResponseSchema = GenericDirectLinkResponseSchema;