mirror of
https://github.com/documenso/documenso.git
synced 2026-07-27 18:35:05 +10:00
fix: rebase
This commit is contained in:
@@ -30,3 +30,26 @@ export const getRecipientsForDocument = async ({
|
||||
|
||||
return recipients;
|
||||
};
|
||||
|
||||
export interface GetAllRecipientsByDocumentIdOptions {
|
||||
documentId: number;
|
||||
}
|
||||
|
||||
export const getAllRecipientsByDocumentId = async ({
|
||||
documentId,
|
||||
}: GetAllRecipientsByDocumentIdOptions) => {
|
||||
const recipients = await prisma.recipient.findMany({
|
||||
where: {
|
||||
documentId,
|
||||
},
|
||||
select: {
|
||||
role: true,
|
||||
signingStatus: true,
|
||||
},
|
||||
orderBy: {
|
||||
id: 'asc',
|
||||
},
|
||||
});
|
||||
|
||||
return recipients;
|
||||
};
|
||||
|
||||
@@ -1,8 +1,29 @@
|
||||
import type { Document } from '@prisma/client';
|
||||
import { DocumentStatus } from '@prisma/client';
|
||||
import { DocumentStatus, RecipientRole, SigningStatus } from '@prisma/client';
|
||||
|
||||
export const isDocumentCompleted = (document: Pick<Document, 'status'> | DocumentStatus) => {
|
||||
const status = typeof document === 'string' ? document : document.status;
|
||||
|
||||
return status === DocumentStatus.COMPLETED || status === DocumentStatus.REJECTED;
|
||||
};
|
||||
|
||||
export const isDocumentBeingProcessed = (document: {
|
||||
status: DocumentStatus;
|
||||
deletedAt: Date | null;
|
||||
recipients: Array<{
|
||||
role: RecipientRole;
|
||||
signingStatus: SigningStatus;
|
||||
}>;
|
||||
}) => {
|
||||
if (document.status !== DocumentStatus.PENDING || document.deletedAt !== null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const recipients = document.recipients.filter((r) => r.role !== RecipientRole.CC);
|
||||
|
||||
if (recipients.length === 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return recipients.every((r) => r.signingStatus === SigningStatus.SIGNED);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user