mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-18 02:21:13 +00:00
feat(core): Add description to projects (#15611)
This commit is contained in:
@@ -2,6 +2,7 @@ import { z } from 'zod';
|
||||
import { Z } from 'zod-class';
|
||||
|
||||
import {
|
||||
projectDescriptionSchema,
|
||||
projectIconSchema,
|
||||
projectNameSchema,
|
||||
projectRelationSchema,
|
||||
@@ -10,5 +11,6 @@ import {
|
||||
export class UpdateProjectDto extends Z.class({
|
||||
name: projectNameSchema.optional(),
|
||||
icon: projectIconSchema.optional(),
|
||||
description: projectDescriptionSchema.optional(),
|
||||
relations: z.array(projectRelationSchema).optional(),
|
||||
}) {}
|
||||
|
||||
@@ -2,6 +2,7 @@ import {
|
||||
projectNameSchema,
|
||||
projectTypeSchema,
|
||||
projectIconSchema,
|
||||
projectDescriptionSchema,
|
||||
projectRelationSchema,
|
||||
} from '../project.schema';
|
||||
|
||||
@@ -56,6 +57,17 @@ describe('project.schema', () => {
|
||||
});
|
||||
});
|
||||
|
||||
describe('projectDescriptionSchema', () => {
|
||||
test.each([
|
||||
{ description: 'valid description', value: 'Nice Description', expected: true },
|
||||
{ description: 'empty description', value: '', expected: true },
|
||||
{ description: 'name too long', value: 'a'.repeat(513), expected: false },
|
||||
])('should validate $description', ({ value, expected }) => {
|
||||
const result = projectDescriptionSchema.safeParse(value);
|
||||
expect(result.success).toBe(expected);
|
||||
});
|
||||
});
|
||||
|
||||
describe('projectRelationSchema', () => {
|
||||
test.each([
|
||||
{
|
||||
|
||||
@@ -12,6 +12,8 @@ export const projectIconSchema = z.object({
|
||||
});
|
||||
export type ProjectIcon = z.infer<typeof projectIconSchema>;
|
||||
|
||||
export const projectDescriptionSchema = z.string().max(512);
|
||||
|
||||
export const projectRelationSchema = z.object({
|
||||
userId: z.string().min(1),
|
||||
role: projectRoleSchema.exclude(['project:personalOwner']),
|
||||
|
||||
Reference in New Issue
Block a user