import { IsString } from 'class-validator'; import { NotAcceptableError, NotFoundError } from 'routing-controllers'; /** * Error to throw when no username or email is set. * We somehow need to identify you on login. */ export class UsernameOrEmailNeededError extends NotFoundError { @IsString() name = "UsernameOrEmailNeededError" @IsString() message = "No username or email is set!" } /** * Error to throw when no username contains illegal characters. * Right now the only one is "@" but this could change in the future. */ export class UsernameContainsIllegalCharacterError extends NotAcceptableError { @IsString() name = "UsernameContainsIllegalCharacterError" @IsString() message = "The provided username contains illegal characters! \n Right now the following characters are considered illegal: '@'" } /** * Error to throw when no email is set. * We somehow need to identify you :) */ export class UserEmailNeededError extends NotFoundError { @IsString() name = "UserEmailNeededError" @IsString() message = "No email is set! \n You have to provide email addresses for users (used for password reset among others)." } /** * Error to throw when a user couldn't be found. */ export class UserNotFoundError extends NotFoundError { @IsString() name = "UserNotFoundError" @IsString() message = "User not found!" } /** * Error to throw when two users' ids don't match. * Usually occurs when a user tries to change a user's id. */ export class UserIdsNotMatchingError extends NotAcceptableError { @IsString() name = "UserIdsNotMatchingError" @IsString() message = "The ids don't match!! \n And if you wanted to change a user's id: This isn't allowed!" } /** * Error to throw when two users' ids don't match. * Usually occurs when a user tries to change a user's id. */ export class UserDeletionNotConfirmedError extends NotAcceptableError { @IsString() name = "UserDeletionNotConfirmedError" @IsString() message = "You are trying to delete a user! \n If you're sure about doing this: provide the ?force=true query param." }