32 lines
No EOL
808 B
JavaScript
32 lines
No EOL
808 B
JavaScript
'use strict';
|
|
|
|
var ApiResponse = function(res) {
|
|
this.response = res;
|
|
};
|
|
|
|
ApiResponse.factory = function factory(res) {
|
|
return new ApiResponse(res);
|
|
};
|
|
|
|
module.exports = ApiResponse;
|
|
|
|
ApiResponse.prototype.respond = function respond(err, res, statusCodeOpt) {
|
|
var statusCode = statusCodeOpt || 200;
|
|
if (err) return this.response.json(statusCode, this._buildErr(err));
|
|
var jsonResponse = this._buildResponse(res);
|
|
this.response.json(statusCode, jsonResponse);
|
|
};
|
|
|
|
ApiResponse.prototype._buildErr = function _buildErr(err) {
|
|
var message = err.message || err;
|
|
var name = err.name || null;
|
|
|
|
return {err: message, errType: name};
|
|
};
|
|
|
|
ApiResponse.prototype._buildResponse = function _buildResponse(res) {
|
|
var fullRes = res;
|
|
fullRes = fullRes || {};
|
|
fullRes.err = null;
|
|
return fullRes;
|
|
}; |