chore: refactor

This commit is contained in:
Ephraim Atta-Duncan
2025-04-30 23:48:48 +00:00
parent 30a4f2c7b4
commit 311adb4d1e
12 changed files with 35 additions and 39 deletions

View File

@ -241,7 +241,6 @@ export const DocumentSigningCheckboxField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
}
}, [checkedValues, isLengthConditionMet, field.inserted]);

View File

@ -148,7 +148,6 @@ export const DocumentSigningDropdownField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
}
}, [localChoice]);
@ -158,7 +157,6 @@ export const DocumentSigningDropdownField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
}
}, []);

View File

@ -91,7 +91,6 @@ export const DocumentSigningFieldContainer = ({
// Do nothing since the user should be redirected.
},
actionTarget: field.type,
isEnterprise,
});
return;
@ -109,7 +108,6 @@ export const DocumentSigningFieldContainer = ({
await executeActionAuthProcedure({
onReauthFormSubmit: onSign,
actionTarget: field.type,
isEnterprise,
});
};

View File

@ -120,7 +120,6 @@ export const DocumentSigningForm = ({
try {
await executeActionAuthProcedure({
actionTarget: 'DOCUMENT',
isEnterprise,
onReauthFormSubmit: async (authOptions) => {
await completeDocument(authOptions, nextSigner);
},
@ -241,7 +240,6 @@ export const DocumentSigningForm = ({
onSignatureComplete={async (nextSigner) => {
await executeActionAuthProcedure({
actionTarget: 'DOCUMENT',
isEnterprise,
onReauthFormSubmit: async (authOptions) => {
await completeDocument(authOptions, nextSigner);
},
@ -427,7 +425,6 @@ export const DocumentSigningForm = ({
onSignatureComplete={async (nextSigner) => {
await executeActionAuthProcedure({
actionTarget: 'DOCUMENT',
isEnterprise,
onReauthFormSubmit: async (authOptions) => {
await completeDocument(authOptions, nextSigner);
},

View File

@ -85,7 +85,6 @@ export const DocumentSigningNameField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions, localFullName),
actionTarget: field.type,
isEnterprise,
});
};

View File

@ -112,7 +112,6 @@ export const DocumentSigningNumberField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
};
@ -223,7 +222,6 @@ export const DocumentSigningNumberField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
}
}, []);

View File

@ -144,7 +144,6 @@ export const DocumentSigningRadioField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
}
}, [selectedOption, field]);

View File

@ -110,7 +110,6 @@ export const DocumentSigningSignatureField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions, localSignature),
actionTarget: field.type,
isEnterprise,
});
};

View File

@ -124,7 +124,6 @@ export const DocumentSigningTextField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
};
@ -218,7 +217,6 @@ export const DocumentSigningTextField = ({
void executeActionAuthProcedure({
onReauthFormSubmit: async (authOptions) => await onSign(authOptions),
actionTarget: field.type,
isEnterprise,
});
}
}, []);

View File

@ -152,7 +152,7 @@ export const TemplateEditForm = ({
toast({
title: _(msg`Error`),
description: _(msg`An error occurred while updating the document settings.`),
description: _(msg`An error occurred while updating the template settings.`),
variant: 'destructive',
});
}

View File

@ -5,6 +5,7 @@ import { prisma } from '@documenso/prisma';
import { AppError, AppErrorCode } from '../../errors/app-error';
import type { TDocumentAccessAuthTypes, TDocumentActionAuthTypes } from '../../types/document-auth';
import { DocumentAuth } from '../../types/document-auth';
import { createDocumentAuthOptions, extractDocumentAuthMethods } from '../../utils/document-auth';
export type UpdateTemplateOptions = {
@ -73,7 +74,11 @@ export const updateTemplate = async ({
data?.globalActionAuth === undefined ? documentGlobalActionAuth : data.globalActionAuth;
// Check if user has permission to set the global action auth.
if (newGlobalActionAuth) {
// Only ACCOUNT and PASSKEY require enterprise permissions
if (
newGlobalActionAuth &&
(newGlobalActionAuth === DocumentAuth.ACCOUNT || newGlobalActionAuth === DocumentAuth.PASSKEY)
) {
const isDocumentEnterprise = await isUserEnterprise({
userId,
teamId,
@ -81,7 +86,7 @@ export const updateTemplate = async ({
if (!isDocumentEnterprise) {
throw new AppError(AppErrorCode.UNAUTHORIZED, {
message: 'You do not have permission to set the action auth',
message: 'You do not have permission to set this action auth type',
});
}
}

View File

@ -1,10 +1,14 @@
import { useEffect } from 'react';
import { zodResolver } from '@hookform/resolvers/zod';
import { useLingui } from '@lingui/react/macro';
import { Trans } from '@lingui/react/macro';
import { DocumentVisibility, TeamMemberRole } from '@prisma/client';
import { DocumentDistributionMethod, type Field, type Recipient } from '@prisma/client';
import { Trans, useLingui } from '@lingui/react/macro';
import {
DocumentDistributionMethod,
DocumentVisibility,
type Field,
type Recipient,
TeamMemberRole,
} from '@prisma/client';
import { InfoIcon } from 'lucide-react';
import { useForm } from 'react-hook-form';
import { match } from 'ts-pattern';
@ -360,24 +364,26 @@ export const AddTemplateSettingsFormPartial = ({
)}
/>
{isEnterprise && (
<FormField
control={form.control}
name="globalActionAuth"
render={({ field }) => (
<FormItem>
<FormLabel className="flex flex-row items-center">
<Trans>Recipient action authentication</Trans>
<DocumentGlobalAuthActionTooltip />
</FormLabel>
<FormField
control={form.control}
name="globalActionAuth"
render={({ field }) => (
<FormItem>
<FormLabel className="flex flex-row items-center">
<Trans>Recipient action authentication</Trans>
<DocumentGlobalAuthActionTooltip />
</FormLabel>
<FormControl>
<DocumentGlobalAuthActionSelect {...field} onValueChange={field.onChange} />
</FormControl>
</FormItem>
)}
/>
)}
<FormControl>
<DocumentGlobalAuthActionSelect
{...field}
onValueChange={field.onChange}
isDocumentEnterprise={isEnterprise}
/>
</FormControl>
</FormItem>
)}
/>
{distributionMethod === DocumentDistributionMethod.EMAIL && (
<Accordion type="multiple">