48 lines
1.3 KiB
JavaScript
48 lines
1.3 KiB
JavaScript
// @flow
|
|
import httpErrors from 'http-errors';
|
|
|
|
export function AuthenticationError(
|
|
message: string = 'Invalid authentication'
|
|
) {
|
|
return httpErrors(401, message, { id: 'authentication_required' });
|
|
}
|
|
|
|
export function AuthorizationError(
|
|
message: string = 'You do not have permission to access this resource'
|
|
) {
|
|
return httpErrors(403, message, { id: 'permission_required' });
|
|
}
|
|
|
|
export function AdminRequiredError(
|
|
message: string = 'An admin role is required to access this resource'
|
|
) {
|
|
return httpErrors(403, message, { id: 'admin_required' });
|
|
}
|
|
|
|
export function UserSuspendedError({ adminEmail }: { adminEmail: string }) {
|
|
return httpErrors(403, 'Your access has been suspended by the team admin', {
|
|
id: 'user_suspended',
|
|
errorData: {
|
|
adminEmail,
|
|
},
|
|
});
|
|
}
|
|
|
|
export function InvalidRequestError(message: string = 'Request invalid') {
|
|
return httpErrors(400, message, { id: 'invalid_request' });
|
|
}
|
|
|
|
export function NotFoundError(message: string = 'Resource not found') {
|
|
return httpErrors(404, message, { id: 'not_found' });
|
|
}
|
|
|
|
export function ParamRequiredError(
|
|
message: string = 'Required parameter missing'
|
|
) {
|
|
return httpErrors(400, message, { id: 'param_required' });
|
|
}
|
|
|
|
export function ValidationError(message: string = 'Validation failed') {
|
|
return httpErrors(400, message, { id: 'validation_error' });
|
|
}
|