refactor: validate enum (#19943)
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { IsEnum, IsNotEmpty, IsString, ValidateIf } from 'class-validator';
|
||||
import { IsNotEmpty, IsString, ValidateIf } from 'class-validator';
|
||||
import { Activity } from 'src/database';
|
||||
import { mapUser, UserResponseDto } from 'src/dtos/user.dto';
|
||||
import { Optional, ValidateUUID } from 'src/validation';
|
||||
import { ValidateEnum, ValidateUUID } from 'src/validation';
|
||||
|
||||
export enum ReactionType {
|
||||
COMMENT = 'comment',
|
||||
@@ -19,7 +19,7 @@ export type MaybeDuplicate<T> = { duplicate: boolean; value: T };
|
||||
export class ActivityResponseDto {
|
||||
id!: string;
|
||||
createdAt!: Date;
|
||||
@ApiProperty({ enumName: 'ReactionType', enum: ReactionType })
|
||||
@ValidateEnum({ enum: ReactionType, name: 'ReactionType' })
|
||||
type!: ReactionType;
|
||||
user!: UserResponseDto;
|
||||
assetId!: string | null;
|
||||
@@ -43,14 +43,10 @@ export class ActivityDto {
|
||||
}
|
||||
|
||||
export class ActivitySearchDto extends ActivityDto {
|
||||
@IsEnum(ReactionType)
|
||||
@Optional()
|
||||
@ApiProperty({ enumName: 'ReactionType', enum: ReactionType })
|
||||
@ValidateEnum({ enum: ReactionType, name: 'ReactionType', optional: true })
|
||||
type?: ReactionType;
|
||||
|
||||
@IsEnum(ReactionLevel)
|
||||
@Optional()
|
||||
@ApiProperty({ enumName: 'ReactionLevel', enum: ReactionLevel })
|
||||
@ValidateEnum({ enum: ReactionLevel, name: 'ReactionLevel', optional: true })
|
||||
level?: ReactionLevel;
|
||||
|
||||
@ValidateUUID({ optional: true })
|
||||
@@ -60,8 +56,7 @@ export class ActivitySearchDto extends ActivityDto {
|
||||
const isComment = (dto: ActivityCreateDto) => dto.type === ReactionType.COMMENT;
|
||||
|
||||
export class ActivityCreateDto extends ActivityDto {
|
||||
@IsEnum(ReactionType)
|
||||
@ApiProperty({ enumName: 'ReactionType', enum: ReactionType })
|
||||
@ValidateEnum({ enum: ReactionType, name: 'ReactionType' })
|
||||
type!: ReactionType;
|
||||
|
||||
@ValidateIf(isComment)
|
||||
|
||||
Reference in New Issue
Block a user