mirror of
https://github.com/documenso/documenso.git
synced 2026-07-25 01:15:49 +10:00
138d663c25
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.
39 lines
878 B
TypeScript
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,
|
|
};
|
|
};
|