Master API, Admin UI, Go media-node, Docker/Dokploy deploy configs. Co-authored-by: Cursor <cursoragent@cursor.com>
25 lines
594 B
TypeScript
25 lines
594 B
TypeScript
export class AppError extends Error {
|
|
constructor(
|
|
public readonly code: string,
|
|
message: string,
|
|
public readonly statusCode = 400
|
|
) {
|
|
super(message);
|
|
this.name = "AppError";
|
|
}
|
|
}
|
|
|
|
export function toErrorResponse(error: unknown) {
|
|
if (error instanceof AppError) {
|
|
return {
|
|
statusCode: error.statusCode,
|
|
body: { error: { code: error.code, message: error.message } },
|
|
};
|
|
}
|
|
|
|
console.error("Unhandled error:", error);
|
|
return {
|
|
statusCode: 500,
|
|
body: { error: { code: "INTERNAL_ERROR", message: "An unexpected error occurred" } },
|
|
};
|
|
}
|