@thalorlabs/errors
Version:
Enhanced exception handling system for TypeScript applications with comprehensive error classes and debugging capabilities
26 lines (25 loc) • 1.08 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ForbiddenError = void 0;
const types_1 = require("@thalorlabs/types");
const CustomError_1 = __importDefault(require("./CustomError"));
/**
* Error for forbidden access scenarios.
*
* Used when users are authenticated but lack permission to access specific resources.
* Provides clear 403 error responses with optional permission context.
*
* @example
* throw new ForbiddenError('Insufficient permissions', 'admin-required', 'req-123');
*
* throw new ForbiddenError('Access denied', null, 'req-456', { resource: 'admin-panel', requiredRole: 'admin' });
*/
class ForbiddenError extends CustomError_1.default {
constructor(message = 'Forbidden', error, requestId, context) {
super(types_1.EHttpClientErrorResponse.FORBIDDEN, `${message}${error ? `: ${error}` : ''}`, requestId, context);
}
}
exports.ForbiddenError = ForbiddenError;
;