diff --git a/src/shared/array-validation.ts b/src/shared/array-validation.ts deleted file mode 100644 index 494ab42f06d0d067fcb115e6eebb63ef8dca2746..0000000000000000000000000000000000000000 --- a/src/shared/array-validation.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {ValidatorConstraint, ValidatorConstraintInterface, ValidationArguments} from "class-validator"; -import { Logger } from "@nestjs/common"; - -// validates array length -@ValidatorConstraint({ name: "arrayLength", async: true }) -export class ArrayLength implements ValidatorConstraintInterface { - - validate(array: string[], args: ValidationArguments) { - Logger.log(array.length) - return array.length > args.constraints[0] && array.length < args.constraints[1]; // for async validations you must return a Promise<boolean> here - } - - defaultMessage(args: ValidationArguments) { // here you can provide default error message if validation failed - return "Please input all passwords"; - } - -} \ No newline at end of file diff --git a/src/shared/uuid.validation.ts b/src/shared/custom-validation.ts similarity index 59% rename from src/shared/uuid.validation.ts rename to src/shared/custom-validation.ts index c8c791a4a0354fef23a3cd2dc1a501630fe8ce41..a920e717e08a6981f5f2e82ddc5cf237ecddba11 100644 --- a/src/shared/uuid.validation.ts +++ b/src/shared/custom-validation.ts @@ -17,3 +17,16 @@ export class Uuid implements ValidatorConstraintInterface { return 'Not valid uuid'; } } + +// checks if role is valid +@ValidatorConstraint({ name: 'roleValidation', async: true }) +export class RoleValidation implements ValidatorConstraintInterface { + validate(role: string, args: ValidationArguments) { + const validRoles = ['admin', 'soldier', 'factionleader']; + return validRoles.includes(role); + } + + defaultMessage(args: ValidationArguments) { + return 'Not valid uuid'; + } +} diff --git a/src/task/task.dto.ts b/src/task/task.dto.ts index 723ddd7d48d9d440443840e2a16694f51a61977e..3a363b5f95602d03294a5d256982558f19c1b937 100644 --- a/src/task/task.dto.ts +++ b/src/task/task.dto.ts @@ -7,8 +7,8 @@ import { Equals, } from 'class-validator'; import { FactionEntity } from '../game/faction.entity'; -import { Uuid } from '../shared/uuid.validation'; -import { GameEntity } from 'src/game/game.entity'; +import { GameEntity } from '../game/game.entity'; +import { Uuid } from '../shared/custom-validation'; export class CreateTaskDTO { @IsString()