UNPKG

@sauce-api/core

Version:

Sauce API core functionality

69 lines (68 loc) 2.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.formatErrorResponse = exports.formatArrayResponse = exports.formatPaginatedResponse = exports.formatObjectResponse = exports.Responses = void 0; class Responses { constructor(res) { this.res = res; } responseText(code, data) { this.res.status(code).send(data); } responseObject(code, data) { this.res.status(code).json((0, exports.formatObjectResponse)(200, data)); } responsePaginated(code, paginatedData) { this.res.status(code).json((0, exports.formatPaginatedResponse)(code, paginatedData)); } responseArray(code, data) { this.res.status(code).json((0, exports.formatArrayResponse)(code, data)); } badRequest(data, options) { const code = 400; this.res.status(code).json((0, exports.formatErrorResponse)(code, "Bad Request", data)); } serverError(data, options) { const code = 500; this.res.status(code).json((0, exports.formatErrorResponse)(code, "Internal Server Error", data)); } notFound(data, options) { const code = 404; this.res.status(code).json((0, exports.formatErrorResponse)(code, "Not Found", data)); } unauthorized(data, options) { const code = 401; this.res.status(code).json((0, exports.formatErrorResponse)(code, "Unauthorized", data)); } } exports.Responses = Responses; const formatObjectResponse = (code, data) => { return { response: data, code }; }; exports.formatObjectResponse = formatObjectResponse; const formatPaginatedResponse = (code, paginatedData) => { return { response: paginatedData.data, page: paginatedData.page, code }; }; exports.formatPaginatedResponse = formatPaginatedResponse; const formatArrayResponse = (code, data) => { return { response: data, code }; }; exports.formatArrayResponse = formatArrayResponse; const formatErrorResponse = (code, error, errorDescription) => { return { response: {}, code, error, error_description: errorDescription || "" }; }; exports.formatErrorResponse = formatErrorResponse;