diff --git a/packages/app-tests/e2e/api/v2/envelopes-api.spec.ts b/packages/app-tests/e2e/api/v2/envelopes-api.spec.ts index a373088d2..27e935806 100644 --- a/packages/app-tests/e2e/api/v2/envelopes-api.spec.ts +++ b/packages/app-tests/e2e/api/v2/envelopes-api.spec.ts @@ -1,4 +1,4 @@ -import { expect, test } from '@playwright/test'; +import { type APIRequestContext, expect, test } from '@playwright/test'; import type { Team, User } from '@prisma/client'; import fs from 'node:fs'; import path from 'node:path'; @@ -165,6 +165,9 @@ test.describe('API V2 Envelopes', () => { positionY: 0, width: 0, height: 0, + fieldMeta: { + type: 'signature', + }, }, { type: FieldType.SIGNATURE, @@ -174,6 +177,9 @@ test.describe('API V2 Envelopes', () => { positionY: 0, width: 0, height: 0, + fieldMeta: { + type: 'signature', + }, }, ], }, @@ -561,7 +567,7 @@ test.describe('API V2 Envelopes', () => { test.describe('Envelope find endpoint', () => { const createEnvelope = async ( - request: ReturnType['request'] extends Promise ? R : never, + request: APIRequestContext, token: string, payload: TCreateEnvelopePayload, ) => { @@ -747,10 +753,7 @@ test.describe('API V2 Envelopes', () => { expect(envelope?.id).toBeDefined(); expect(envelope?.type).toBe(EnvelopeType.DOCUMENT); expect(envelope?.status).toBe(DocumentStatus.DRAFT); - expect(envelope?.documentMeta).toBeDefined(); expect(envelope?.recipients).toBeDefined(); - expect(envelope?.fields).toBeDefined(); - expect(envelope?.envelopeItems).toBeDefined(); expect(envelope?.user).toBeDefined(); expect(envelope?.team).toBeDefined(); }); diff --git a/packages/lib/server-only/envelope/find-envelopes.ts b/packages/lib/server-only/envelope/find-envelopes.ts index 057324c36..0cdaccea6 100644 --- a/packages/lib/server-only/envelope/find-envelopes.ts +++ b/packages/lib/server-only/envelope/find-envelopes.ts @@ -150,18 +150,6 @@ export const findEnvelopes = async ({ [orderByColumn]: orderByDirection, }, include: { - envelopeItems: { - select: { - envelopeId: true, - id: true, - title: true, - order: true, - }, - orderBy: { - order: 'asc', - }, - }, - documentMeta: true, user: { select: { id: true, @@ -174,21 +162,12 @@ export const findEnvelopes = async ({ id: 'asc', }, }, - fields: true, team: { select: { id: true, url: true, }, }, - directLink: { - select: { - directTemplateRecipientId: true, - enabled: true, - id: true, - token: true, - }, - }, }, }), prisma.envelope.count({ diff --git a/packages/lib/types/envelope.ts b/packages/lib/types/envelope.ts index a0b4cea62..7c83afcdf 100644 --- a/packages/lib/types/envelope.ts +++ b/packages/lib/types/envelope.ts @@ -115,5 +115,40 @@ export type TEnvelopeLite = z.infer; /** * A version of the envelope response schema when returning multiple envelopes at once from a single API endpoint. */ -// export const ZEnvelopeManySchema = X -// export type TEnvelopeMany = z.infer; +export const ZEnvelopeManySchema = EnvelopeSchema.pick({ + internalVersion: true, + type: true, + status: true, + source: true, + visibility: true, + templateType: true, + id: true, + secondaryId: true, + externalId: true, + createdAt: true, + updatedAt: true, + completedAt: true, + deletedAt: true, + title: true, + authOptions: true, + formValues: true, + publicTitle: true, + publicDescription: true, + userId: true, + teamId: true, + folderId: true, + templateId: true, +}).extend({ + user: z.object({ + id: z.number(), + name: z.string(), + email: z.string(), + }), + recipients: ZEnvelopeRecipientLiteSchema.array(), + team: TeamSchema.pick({ + id: true, + url: true, + }).nullable(), +}); + +export type TEnvelopeMany = z.infer; diff --git a/packages/trpc/server/envelope-router/find-envelopes.types.ts b/packages/trpc/server/envelope-router/find-envelopes.types.ts index 81bc3252a..a75cea805 100644 --- a/packages/trpc/server/envelope-router/find-envelopes.types.ts +++ b/packages/trpc/server/envelope-router/find-envelopes.types.ts @@ -1,7 +1,7 @@ import { DocumentSource, DocumentStatus, EnvelopeType } from '@prisma/client'; import { z } from 'zod'; -import { ZEnvelopeSchema } from '@documenso/lib/types/envelope'; +import { ZEnvelopeManySchema } from '@documenso/lib/types/envelope'; import { ZFindResultResponse, ZFindSearchParamsSchema } from '@documenso/lib/types/search-params'; import type { TrpcRouteMeta } from '../trpc'; @@ -39,7 +39,7 @@ export const ZFindEnvelopesRequestSchema = ZFindSearchParamsSchema.extend({ }); export const ZFindEnvelopesResponseSchema = ZFindResultResponse.extend({ - data: ZEnvelopeSchema.array(), + data: ZEnvelopeManySchema.array(), }); export type TFindEnvelopesRequest = z.infer;