feat(core): Update PATCH /projects/:projectId/folders/:folderId endpoint to allow moving folder (no-changelog) (#13574)

This commit is contained in:
Ricardo Espinoza
2025-03-12 13:53:45 +01:00
committed by GitHub
parent 0066bf890f
commit 2275b1780a
8 changed files with 587 additions and 11 deletions

View File

@@ -21,6 +21,12 @@ describe('UpdateFolderDto', () => {
tagIds: [],
},
},
{
name: 'string parentFolderId',
request: {
parentFolderId: 'test',
},
},
])('should validate $name', ({ request }) => {
const result = UpdateFolderDto.safeParse(request);
expect(result.success).toBe(true);
@@ -50,6 +56,13 @@ describe('UpdateFolderDto', () => {
},
expectedErrorPath: ['tagIds'],
},
{
name: 'non string parentFolderId',
request: {
parentFolderId: 0,
},
expectedErrorPath: ['parentFolderId'],
},
])('should fail validation for $name', ({ request, expectedErrorPath }) => {
const result = UpdateFolderDto.safeParse(request);

View File

@@ -1,8 +1,8 @@
import { Z } from 'zod-class';
import { folderNameSchema, folderId } from '../../schemas/folder.schema';
import { folderNameSchema, folderIdSchema } from '../../schemas/folder.schema';
export class CreateFolderDto extends Z.class({
name: folderNameSchema,
parentFolderId: folderId.optional(),
parentFolderId: folderIdSchema.optional(),
}) {}

View File

@@ -1,7 +1,7 @@
import { Z } from 'zod-class';
import { folderId } from '../../schemas/folder.schema';
import { folderIdSchema } from '../../schemas/folder.schema';
export class DeleteFolderDto extends Z.class({
transferToFolderId: folderId.optional(),
transferToFolderId: folderIdSchema.optional(),
}) {}

View File

@@ -1,8 +1,9 @@
import { z } from 'zod';
import { Z } from 'zod-class';
import { folderNameSchema } from '../../schemas/folder.schema';
import { folderNameSchema, folderIdSchema } from '../../schemas/folder.schema';
export class UpdateFolderDto extends Z.class({
name: folderNameSchema.optional(),
tagIds: z.array(z.string().max(24)).optional(),
parentFolderId: folderIdSchema.optional(),
}) {}

View File

@@ -1,4 +1,4 @@
import { z } from 'zod';
export const folderNameSchema = z.string().trim().min(1).max(128);
export const folderId = z.string().max(36);
export const folderIdSchema = z.string().max(36);