44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
export class AppError extends Error {
|
|
public code: string;
|
|
public statusCode: number;
|
|
|
|
constructor(message: string, code: string, statusCode: number = 500) {
|
|
super(message);
|
|
this.code = code;
|
|
this.statusCode = statusCode;
|
|
this.name = "AppError";
|
|
Error.captureStackTrace(this, this.constructor);
|
|
}
|
|
}
|
|
|
|
export class ConfigError extends AppError {
|
|
constructor(message: string) {
|
|
super(message, "CONFIG_ERROR", 500);
|
|
this.name = "ConfigError";
|
|
}
|
|
}
|
|
|
|
export class AudioError extends AppError {
|
|
constructor(message: string) {
|
|
super(message, "AUDIO_ERROR", 500);
|
|
this.name = "AudioError";
|
|
}
|
|
}
|
|
|
|
export class VoiceConnectionError extends AppError {
|
|
constructor(message: string) {
|
|
super(message, "VOICE_CONNECTION_ERROR", 500);
|
|
this.name = "VoiceConnectionError";
|
|
}
|
|
}
|
|
|
|
export class ValidationError extends AppError {
|
|
public details?: Record<string, string[]>;
|
|
|
|
constructor(message: string, details?: Record<string, string[]>) {
|
|
super(message, "VALIDATION_ERROR", 400);
|
|
this.details = details;
|
|
this.name = "ValidationError";
|
|
}
|
|
}
|