feat: add default recipients for teams and orgs (#2248)

This commit is contained in:
Catalin Pit
2026-01-13 11:32:00 +02:00
committed by GitHub
parent 5bc73a7471
commit bb3e9583e4
24 changed files with 734 additions and 24 deletions
@@ -1,4 +1,4 @@
import { OrganisationType } from '@prisma/client';
import { OrganisationType, Prisma } from '@prisma/client';
import { ORGANISATION_MEMBER_ROLE_PERMISSIONS_MAP } from '@documenso/lib/constants/organisations';
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
@@ -36,6 +36,7 @@ export const updateOrganisationSettingsRoute = authenticatedProcedure
typedSignatureEnabled,
uploadSignatureEnabled,
drawSignatureEnabled,
defaultRecipients,
delegateDocumentOwnership,
// Branding related settings.
@@ -145,6 +146,7 @@ export const updateOrganisationSettingsRoute = authenticatedProcedure
typedSignatureEnabled,
uploadSignatureEnabled,
drawSignatureEnabled,
defaultRecipients: defaultRecipients === null ? Prisma.DbNull : defaultRecipients,
delegateDocumentOwnership: derivedDelegateDocumentOwnership,
// Branding related settings.
@@ -1,6 +1,7 @@
import { z } from 'zod';
import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import { ZDefaultRecipientsSchema } from '@documenso/lib/types/default-recipients';
import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
import {
ZDocumentMetaDateFormatSchema,
@@ -22,6 +23,7 @@ export const ZUpdateOrganisationSettingsRequestSchema = z.object({
typedSignatureEnabled: z.boolean().optional(),
uploadSignatureEnabled: z.boolean().optional(),
drawSignatureEnabled: z.boolean().optional(),
defaultRecipients: ZDefaultRecipientsSchema.nullish(),
delegateDocumentOwnership: z.boolean().nullish(),
// Branding related settings.
@@ -53,6 +53,8 @@ export const updateTeamSettingsRoute = authenticatedProcedure
// emailReplyToName,
emailDocumentSettings,
// Default recipients settings.
defaultRecipients,
// AI features settings.
aiFeaturesEnabled,
} = data;
@@ -165,6 +167,7 @@ export const updateTeamSettingsRoute = authenticatedProcedure
// emailReplyToName,
emailDocumentSettings:
emailDocumentSettings === null ? Prisma.DbNull : emailDocumentSettings,
defaultRecipients: defaultRecipients === null ? Prisma.DbNull : defaultRecipients,
// AI features settings.
aiFeaturesEnabled,
@@ -1,6 +1,7 @@
import { z } from 'zod';
import { SUPPORTED_LANGUAGE_CODES } from '@documenso/lib/constants/i18n';
import { ZDefaultRecipientsSchema } from '@documenso/lib/types/default-recipients';
import { ZDocumentEmailSettingsSchema } from '@documenso/lib/types/document-email';
import {
ZDocumentMetaDateFormatSchema,
@@ -40,6 +41,8 @@ export const ZUpdateTeamSettingsRequestSchema = z.object({
// emailReplyToName: z.string().nullish(),
emailDocumentSettings: ZDocumentEmailSettingsSchema.nullish(),
// Default recipients settings.
defaultRecipients: ZDefaultRecipientsSchema.nullish(),
// AI features settings.
aiFeaturesEnabled: z.boolean().nullish(),
}),