mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 08:13:56 +10:00
Adds next recipient dictation functionality to document signing flow, allowing assistants and signers to update the next recipient's information during the signing process. ## Related Issue N/A ## Changes Made - Added form handling for next recipient dictation in signing dialogs - Implemented UI for updating next recipient information - Added e2e tests covering dictation scenarios: - Regular signing with dictation enabled - Assistant role with dictation - Parallel signing flow - Disabled dictation state ## Testing Performed - Added comprehensive e2e tests covering: - Sequential signing with dictation - Assistant role dictation - Parallel signing without dictation - Form validation and state management - Tested on Chrome and Firefox - Verified recipient state updates in database
38 lines
698 B
TypeScript
38 lines
698 B
TypeScript
import { prisma } from '@documenso/prisma';
|
|
|
|
export const getNextPendingRecipient = async ({
|
|
documentId,
|
|
currentRecipientId,
|
|
}: {
|
|
documentId: number;
|
|
currentRecipientId: number;
|
|
}) => {
|
|
const recipients = await prisma.recipient.findMany({
|
|
where: {
|
|
documentId,
|
|
},
|
|
orderBy: [
|
|
{
|
|
signingOrder: {
|
|
sort: 'asc',
|
|
nulls: 'last',
|
|
},
|
|
},
|
|
{
|
|
id: 'asc',
|
|
},
|
|
],
|
|
});
|
|
|
|
const currentIndex = recipients.findIndex((r) => r.id === currentRecipientId);
|
|
|
|
if (currentIndex === -1 || currentIndex === recipients.length - 1) {
|
|
return null;
|
|
}
|
|
|
|
return {
|
|
...recipients[currentIndex + 1],
|
|
token: '',
|
|
};
|
|
};
|