adminjs
Version:
Admin panel for apps written in node.js
36 lines (33 loc) • 815 B
JavaScript
import { ErrorTypeEnum } from '../../../utils/error-type.enum.js';
/**
* Error which is thrown when user
* doesn't have an access to a given resource/action.
*
* @category Errors
*/
export class ForbiddenError extends Error {
/**
* HTTP Status code: 403
*/
/**
* Base error message and type which is stored in the record
*/
/**
* Any custom message which should be seen in the UI
*/
/**
* @param {string} [message]
*/
constructor(message) {
const defaultMessage = 'You cannot perform this action';
super(defaultMessage);
this.statusCode = 403;
this.baseMessage = message;
this.baseError = {
message: message ?? defaultMessage,
type: ErrorTypeEnum.Forbidden
};
this.name = ErrorTypeEnum.Forbidden;
}
}
export default ForbiddenError;