Refactor class-validator imports in community DTOs

This commit is contained in:
faris Aljohari
2024-04-02 17:30:11 +03:00
parent 4a033107da
commit dcbeb92ce6
2 changed files with 41 additions and 10 deletions

View File

@ -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<AddCommunityDto>) {
Object.assign(this, dto);
}

View File

@ -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;
}