@ingeze/api-error
Version:
A TypeScript library for handling HTTP errors in Express, NestJS, and Fastify APIs.
154 lines • 4.71 kB
TypeScript
/**
* Defines custom error classes for handling various forbidden scenarios (HTTP 403).
*
* Each class extends `ForbiddenError`, which itself extends `ErrorHandler`.
* These errors represent specific authorization failures and provide
* descriptive messages and error types for easier error handling and debugging.
*
* @module errors/forbidden-error
*/
import { ErrorHandler } from './error-handler.js';
import type { ForbiddenErrorType } from '../types/index.js';
/**
* Represents a generic forbidden error (HTTP 403).
*
* This error is thrown when a user attempts to access a resource
* they do not have permission for. It can be instantiated with either
* a custom message and type, or with just a `details` object.
*
* @extends ErrorHandler
*/
export declare class ForbiddenError extends ErrorHandler {
/**
* Creates a new ForbiddenError instance with optional details.
*
* @param {Record<string, unknown>=} details - Additional error details.
*/
constructor(details?: Record<string, unknown>);
/**
* Creates a new ForbiddenError instance with a custom message, type, and optional details.
*
* @param {string} message - A custom error message.
* @param {ForbiddenErrorType=} type - A specific error type identifier.
* @param {Record<string, unknown>=} details - Additional error details.
*/
constructor(message?: string, type?: ForbiddenErrorType, details?: Record<string, unknown>);
}
/**
* Error for forbidden user access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenUserError extends ForbiddenError {
/**
* Creates a new ForbiddenUserError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden email access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenEmailError extends ForbiddenError {
/**
* Creates a new ForbiddenEmailError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden product access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenProductError extends ForbiddenError {
/**
* Creates a new ForbiddenProductError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden post access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenPostError extends ForbiddenError {
/**
* Creates a new ForbiddenPostError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden comment access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenCommentError extends ForbiddenError {
/**
* Creates a new ForbiddenCommentError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden category access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenCategoryError extends ForbiddenError {
/**
* Creates a new ForbiddenCategoryError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden file access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenFileError extends ForbiddenError {
/**
* Creates a new ForbiddenFileError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden image access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenImageError extends ForbiddenError {
/**
* Creates a new ForbiddenImageError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
/**
* Error for forbidden address access.
*
* @extends ForbiddenError
*/
export declare class ForbiddenAddressError extends ForbiddenError {
/**
* Creates a new ForbiddenAddressError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details?: Record<string, unknown>);
}
//# sourceMappingURL=forbidden-error.d.ts.map