Ghost/core/server/api/utils.js
2014-07-28 06:30:01 +01:00

34 lines
1.1 KiB
JavaScript

// # API Utils
// Shared helpers for working with the API
var when = require('when'),
_ = require('lodash'),
errors = require('../errors'),
utils;
utils = {
/**
* ### Check Object
* Check an object passed to the API is in the correct format
*
* @param {Object} object
* @param {String} docName
* @returns {Promise(Object)} resolves to the original object if it checks out
*/
checkObject: function (object, docName) {
if (_.isEmpty(object) || _.isEmpty(object[docName]) || _.isEmpty(object[docName][0])) {
return errors.logAndRejectError(new errors.BadRequestError('No root key (\'' + docName + '\') provided.'));
}
// convert author property to author_id to match the name in the database
// TODO: rename object in database
if (docName === 'posts') {
if (object.posts[0].hasOwnProperty('author')) {
object.posts[0].author_id = object.posts[0].author;
delete object.posts[0].author;
}
}
return when(object);
}
};
module.exports = utils;