diff --git a/src/community/dtos/add.community.dto.ts b/src/community/dtos/add.community.dto.ts index 0409b3e..f335d3d 100644 --- a/src/community/dtos/add.community.dto.ts +++ b/src/community/dtos/add.community.dto.ts @@ -1,5 +1,5 @@ import { ApiProperty } from '@nestjs/swagger'; -import { IsNotEmpty, IsString, IsOptional } from 'class-validator'; +import { IsNotEmpty, IsString } from 'class-validator'; export class AddCommunityDto { @ApiProperty({ @@ -10,14 +10,6 @@ export class AddCommunityDto { @IsNotEmpty() public spaceName: string; - @ApiProperty({ - description: 'parentUuid', - required: false, - }) - @IsString() - @IsOptional() - public parentUuid?: string; - constructor(dto: Partial) { Object.assign(this, dto); } diff --git a/src/community/dtos/get.community.dto.ts b/src/community/dtos/get.community.dto.ts index e313125..be614e5 100644 --- a/src/community/dtos/get.community.dto.ts +++ b/src/community/dtos/get.community.dto.ts @@ -1,5 +1,13 @@ import { ApiProperty } from '@nestjs/swagger'; -import { IsNotEmpty, IsString } from 'class-validator'; +import { Transform } from 'class-transformer'; +import { + IsBoolean, + IsInt, + IsNotEmpty, + IsOptional, + IsString, + Min, +} from 'class-validator'; export class GetCommunityDto { @ApiProperty({ @@ -10,3 +18,34 @@ export class GetCommunityDto { @IsNotEmpty() public communityUuid: string; } + +export class GetCommunityChildDto { + @ApiProperty({ example: 1, description: 'Page number', required: true }) + @IsInt({ message: 'Page must be a number' }) + @Min(1, { message: 'Page must not be less than 1' }) + @IsNotEmpty() + public page: number; + + @ApiProperty({ + example: 10, + description: 'Number of items per page', + required: true, + }) + @IsInt({ message: 'Page size must be a number' }) + @Min(1, { message: 'Page size must not be less than 1' }) + @IsNotEmpty() + public pageSize: number; + + @ApiProperty({ + example: true, + description: 'Flag to determine whether to fetch full hierarchy', + required: false, + default: false, + }) + @IsOptional() + @IsBoolean() + @Transform((value) => { + return value.obj.includeSubSpaces === 'true'; + }) + public includeSubSpaces: boolean = false; +}