Files
documenso/packages/lib/utils/mask-recipient-tokens-for-document.ts
ephraimduncan 138d663c25 chore: merge main, resolve biome formatting conflicts
Merge origin/main into feat/external-2fa-codes. Resolve formatting
conflicts caused by biome rollout; preserve both feature streams:
PR's external 2FA token + signing-session 2FA proof additions plus
main's RateLimit/RecipientExpired/signingReminders/date-auto-insert.

In complete-document-with-token.ts, drop the duplicate early
field-fetching block introduced when main moved that logic later
with date auto-insert support; keep the EXTERNAL_TWO_FACTOR_AUTH
check using derivedRecipientActionAuth.
2026-05-12 11:46:11 +00:00

39 lines
878 B
TypeScript

import type { EnvelopeWithRecipients } from '@documenso/prisma/types/document-with-recipient';
import type { User } from '@prisma/client';
export type MaskRecipientTokensForDocumentOptions<T extends EnvelopeWithRecipients> = {
document: T;
user?: Pick<User, 'id' | 'email'>;
token?: string;
};
export const maskRecipientTokensForDocument = <T extends EnvelopeWithRecipients>({
document,
user,
token,
}: MaskRecipientTokensForDocumentOptions<T>) => {
const maskedRecipients = document.recipients.map((recipient) => {
if (document.userId === user?.id) {
return recipient;
}
if (recipient.email === user?.email) {
return recipient;
}
if (recipient.token === token) {
return recipient;
}
return {
...recipient,
token: '',
};
});
return {
...document,
Recipient: maskedRecipients,
};
};