From 19514b182beeb2fbc2a8c85d07e778d975de0474 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Tue, 4 Aug 2026 17:33:05 +1000 Subject: [PATCH] feat: scope assistants to strictly later signing steps --- .../recipient/get-recipients-for-assistant.ts | 10 +++++++--- .../trpc/server/envelope-router/sign-envelope-field.ts | 9 ++++++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/packages/lib/server-only/recipient/get-recipients-for-assistant.ts b/packages/lib/server-only/recipient/get-recipients-for-assistant.ts index fc104d0b0..249c0b641 100644 --- a/packages/lib/server-only/recipient/get-recipients-for-assistant.ts +++ b/packages/lib/server-only/recipient/get-recipients-for-assistant.ts @@ -23,9 +23,13 @@ export const getRecipientsForAssistant = async ({ token }: GetRecipientsForAssis let recipients = await prisma.recipient.findMany({ where: { envelopeId: assistant.envelopeId, - signingOrder: { - gte: assistant.signingOrder ?? 0, - }, + OR: [ + // The assistant themself — they may have fields of their own. + { id: assistant.id }, + // Grouped assistants only assist strictly later steps, never their + // own group peers. + { signingOrder: { gt: assistant.signingOrder ?? 0 } }, + ], }, include: { fields: { diff --git a/packages/trpc/server/envelope-router/sign-envelope-field.ts b/packages/trpc/server/envelope-router/sign-envelope-field.ts index 9ec3773ed..abd2ef005 100644 --- a/packages/trpc/server/envelope-router/sign-envelope-field.ts +++ b/packages/trpc/server/envelope-router/sign-envelope-field.ts @@ -44,10 +44,13 @@ export const signEnvelopeFieldRoute = procedure signingStatus: { not: SigningStatus.SIGNED, }, - signingOrder: { - gte: recipient.signingOrder ?? 0, - }, envelopeId: recipient.envelopeId, + OR: [ + // The assistant's own fields. + { id: recipient.id }, + // Fields of recipients in strictly later steps only. + { signingOrder: { gt: recipient.signingOrder ?? 0 } }, + ], } : { id: recipient.id,