'use strict'; /** * Application-level error. * status — HTTP status code * code — machine-readable error code * message — human-readable message * extra — optional additional fields merged into the response body */ class AppError extends Error { constructor(status, code, message, extra = null) { super(message); this.name = 'AppError'; this.status = status; this.code = code; this.isAppError = true; this.extra = extra; } } module.exports = { AppError };