48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { IsString } from 'class-validator';
|
|
import { NotAcceptableError, NotFoundError } from 'routing-controllers';
|
|
|
|
/**
|
|
* Error to throw when a card couldn't be found.
|
|
*/
|
|
export class RunnerCardNotFoundError extends NotFoundError {
|
|
@IsString()
|
|
name = "RunnerCardNotFoundError"
|
|
|
|
@IsString()
|
|
message = "Card not found!"
|
|
}
|
|
|
|
/**
|
|
* Error to throw when two cards' ids don't match.
|
|
* Usually occurs when a user tries to change a card's id.
|
|
*/
|
|
export class RunnerCardIdsNotMatchingError extends NotAcceptableError {
|
|
@IsString()
|
|
name = "RunnerCardIdsNotMatchingError"
|
|
|
|
@IsString()
|
|
message = "The ids don't match! \n And if you wanted to change a cards's id: This isn't allowed"
|
|
}
|
|
|
|
/**
|
|
* Error to throw when a card still has scans associated.
|
|
*/
|
|
export class RunnerCardHasScansError extends NotAcceptableError {
|
|
@IsString()
|
|
name = "RunnerCardHasScansError"
|
|
|
|
@IsString()
|
|
message = "This card still has scans associated with it. \n If you want to delete this card with all it's scans add `?force` to your query. \n Otherwise please consider just disabling it."
|
|
}
|
|
|
|
/**
|
|
* Error to throw when a card's id is too big to generate a ean-13 barcode for it.
|
|
* This error should never reach a end user.
|
|
*/
|
|
export class RunnerCardIdOutOfRangeError extends Error {
|
|
@IsString()
|
|
name = "RunnerCardIdOutOfRangeError"
|
|
|
|
@IsString()
|
|
message = "The card's id is too big to fit into a ean-13 barcode. \n This has a very low probability of happening but means that you might want to switch your barcode format for something that can accept numbers over 9999999999."
|
|
} |