UNPKG

muffin

Version:

The 21st century way of building websites

86 lines (66 loc) 2.27 kB
'use strict'; 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); }