muffin
Version:
The 21st century way of building websites
86 lines (66 loc) • 2.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.all = exports.one = undefined;
let one = exports.one = (() => {
var ref = _asyncToGenerator(function* (type, _id) {
const query = models[type].where({ _id: _id });
let item = false;
try {
// Try to retrieve item
item = yield query.findOne();
} catch (err) {
return (0, _.log)('Couldn\'t load ' + type + 's', err);
}
let attributes = item.toObject();
for (let property of remove) {
delete attributes[property];
}
return {
id: _id,
type: type.toLowerCase(),
attributes: attributes
};
});
return function one(_x, _x2) {
return ref.apply(this, arguments);
};
})();
let all = exports.all = (() => {
var ref = _asyncToGenerator(function* (type) {
const plural = type + 's';
let items = false;
try {
items = yield models[type].find();
} catch (err) {
return (0, _.log)('Couldn\'t load ' + plural, err);
}
let list = [];
for (let item in items) {
let attributes = items[item].toObject();
let id = attributes.id || attributes._id;
for (let property of remove) {
delete attributes[property];
}
list.push({
id: id,
type: plural,
attributes: attributes
});
}
return list;
});
return function all(_x3) {
return ref.apply(this, arguments);
};
})();
var _ = require('./');
function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { return step("next", value); }, function (err) { return step("throw", err); }); } } return step("next"); }); }; }
// Fields that should be excluded from the response
const remove = ['_id', 'id', 'password', '__v', 'aliases', 'metadata', 'chunkSize', 'md5'];
let models = ['page', 'user', 'file'];
for (let model of models) {
// Load models and add them to the "models" object
models[model] = require('../models/' + model);
}