fix: block invisible and control characters in folder names

This commit is contained in:
Catalin Pit
2026-06-12 11:56:03 +03:00
parent 3887aa67c8
commit b29da84678
3 changed files with 7 additions and 4 deletions
@@ -1,3 +1,4 @@
import { ZFolderNameSchema } from '@documenso/lib/utils/folder-name';
import { trpc } from '@documenso/trpc/react';
import { Button } from '@documenso/ui/primitives/button';
import {
@@ -23,7 +24,7 @@ import { useParams } from 'react-router';
import { z } from 'zod';
const ZCreateFolderFormSchema = z.object({
name: z.string().min(1, { message: 'Folder name is required' }),
name: ZFolderNameSchema,
});
type TCreateFolderFormSchema = z.infer<typeof ZCreateFolderFormSchema>;
@@ -1,5 +1,6 @@
import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error';
import { DocumentVisibility } from '@documenso/lib/types/document-visibility';
import { ZFolderNameSchema } from '@documenso/lib/utils/folder-name';
import { trpc } from '@documenso/trpc/react';
import type { TFolderWithSubfolders } from '@documenso/trpc/server/folder-router/schema';
import { Button } from '@documenso/ui/primitives/button';
@@ -32,7 +33,7 @@ export type FolderUpdateDialogProps = {
} & Omit<DialogPrimitive.DialogProps, 'children'>;
export const ZUpdateFolderFormSchema = z.object({
name: z.string().min(1),
name: ZFolderNameSchema,
visibility: z.nativeEnum(DocumentVisibility).optional(),
});