import { IsString } from 'class-validator'; import { NotAcceptableError, NotFoundError } from 'routing-controllers'; /** * Error to throw when a runner couldn't be found. */ export class RunnerNotFoundError extends NotFoundError { @IsString() name = "RunnerNotFoundError" @IsString() message = "Runner not found!" } /** * Error to throw when two runners' ids don't match. * Usually occurs when a user tries to change a runner's id. */ export class RunnerIdsNotMatchingError extends NotAcceptableError { @IsString() name = "RunnerIdsNotMatchingError" @IsString() message = "The ids don't match! \n And if you wanted to change a runner's id: This isn't allowed!" } /** * Error to throw when a runner is missing his group association. */ export class RunnerGroupNeededError extends NotAcceptableError { @IsString() name = "RunnerGroupNeededError" @IsString() message = "Runner's need to be part of one group (team or organization)! \n You provided neither." } /** * Error to throw when a citizen runner has no mail-address. */ export class RunnerEmailNeededError extends NotAcceptableError { @IsString() name = "RunnerEmailNeededError" @IsString() message = "Citizenrunners have to provide an email address for verification and contacting." } /** * Error to throw when a runner still has distance donations associated. */ export class RunnerHasDistanceDonationsError extends NotAcceptableError { @IsString() name = "RunnerHasDistanceDonationsError" @IsString() message = "This runner still has distance donations associated with it. \n If you want to delete this runner with all it's donations and teams add `?force` to your query." }