@geniucode/common-utils
Version:
Common utils
35 lines • 2.49 kB
JavaScript
import httpStatus from 'http-status-codes';
import { SuccessResponse } from './success-response';
import { FailureResponse } from './failure-response';
// Errors
import { BadRequestError } from '../errors/bad-request-error';
import { NotFoundError } from '../errors/not-found-error';
import { NotAuthorizedError } from '../errors/not-authorized-error';
import { ForbiddenError } from '../errors/forbidden-error';
import { WrongHttpMethodError } from '../errors/wrong-http-method-error';
import { LargePayloadError } from '../errors/large-payload-error';
import { InternalServerError } from '../errors/internal-server-error';
export const httpResponse = {
created: (response, data, message) => response.status(httpStatus.CREATED).json({ ...SuccessResponse(data, message, response), statusCode: 201 }),
updated: (response, data, message) => response.status(204).json({ ...SuccessResponse(data, message, response), statusCode: 204 }),
ok: (response, data, message) => response.status(httpStatus.OK).json({ ...SuccessResponse(data, message, response), statusCode: 200 }),
badRequest: (response, message) => response
.status(httpStatus.BAD_REQUEST)
.json({ ...FailureResponse(message, new BadRequestError(message)), statusCode: 400 }),
notFound: (response, message) => response.status(httpStatus.NOT_FOUND).json({ ...FailureResponse(message, new NotFoundError()), statusCode: 404 }),
unAuthorized: (response, message) => response
.status(httpStatus.UNAUTHORIZED)
.json({ ...FailureResponse(message, new NotAuthorizedError()), statusCode: 401 }),
forbidden: (response, message) => response.status(httpStatus.FORBIDDEN).json({ ...FailureResponse(message, new ForbiddenError()), statusCode: 403 }),
notAllowedMethod: (request, response, message) => response.status(httpStatus.METHOD_NOT_ALLOWED).json({
...FailureResponse(message, new WrongHttpMethodError(`The requested resource does not support http method '${request.method}'.'${request.path}'`)),
statusCode: 405,
}),
payLoadTooLarge: (response, message) => response
.status(httpStatus.REQUEST_TOO_LONG)
.json({ ...FailureResponse(message, new LargePayloadError()), statusCode: 413 }),
internalServerError: (response, message, error) => response
.status(httpStatus.INTERNAL_SERVER_ERROR)
.json({ ...FailureResponse(message, new InternalServerError(message, error)), statusCode: 500 }),
};
//# sourceMappingURL=index.js.map