@ingeze/api-error
Version:
A TypeScript library for handling HTTP errors in Express, NestJS, and Fastify APIs.
114 lines (113 loc) • 3.3 kB
JavaScript
import { ErrorHandler } from "./error-handler.js";
class ForbiddenError extends ErrorHandler {
constructor(messageOrDetails, type = "FORBIDDEN", details) {
if (typeof messageOrDetails === "string") {
super(messageOrDetails, 403, type, details);
} else {
super("Forbidden", 403, type, messageOrDetails);
}
}
}
class ForbiddenUserError extends ForbiddenError {
/**
* Creates a new ForbiddenUserError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("User access forbidden", "FORBIDDEN_USER", details);
}
}
class ForbiddenEmailError extends ForbiddenError {
/**
* Creates a new ForbiddenEmailError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Email access forbidden", "FORBIDDEN_EMAIL", details);
}
}
class ForbiddenProductError extends ForbiddenError {
/**
* Creates a new ForbiddenProductError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Product access forbidden", "FORBIDDEN_PRODUCT", details);
}
}
class ForbiddenPostError extends ForbiddenError {
/**
* Creates a new ForbiddenPostError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Post access forbidden", "FORBIDDEN_POST", details);
}
}
class ForbiddenCommentError extends ForbiddenError {
/**
* Creates a new ForbiddenCommentError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Comment access forbidden", "FORBIDDEN_COMMENT", details);
}
}
class ForbiddenCategoryError extends ForbiddenError {
/**
* Creates a new ForbiddenCategoryError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Category access forbidden", "FORBIDDEN_CATEGORY", details);
}
}
class ForbiddenFileError extends ForbiddenError {
/**
* Creates a new ForbiddenFileError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("File access forbidden", "FORBIDDEN_FILE", details);
}
}
class ForbiddenImageError extends ForbiddenError {
/**
* Creates a new ForbiddenImageError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Image access forbidden", "FORBIDDEN_IMAGE", details);
}
}
class ForbiddenAddressError extends ForbiddenError {
/**
* Creates a new ForbiddenAddressError instance.
*
* @param {Record<string, unknown>=} details Optional additional error details.
*/
constructor(details) {
super("Address access forbidden", "FORBIDDEN_ADDRESS", details);
}
}
export {
ForbiddenAddressError,
ForbiddenCategoryError,
ForbiddenCommentError,
ForbiddenEmailError,
ForbiddenError,
ForbiddenFileError,
ForbiddenImageError,
ForbiddenPostError,
ForbiddenProductError,
ForbiddenUserError
};
//# sourceMappingURL=forbidden-error.js.map