src/Model/createCollection.js
module.exports = function (di, modelClasses, createFn) {
return new Promise((resolve/* , reject */) => {
var models = {};
di.models = models;
for (var name in modelClasses) {
var model = createFn(di, modelClasses[name]);
model.init();
if (di.debug && model.setDebug) {
model.setDebug(di.debug);
}
models[name] = model;
}
models.ensureIndexes = function () {
var promises = [];
for (var name in models) {
var model = models[name];
if (model.ensureIndexes && typeof model.ensureIndexes === 'function') {
promises.push(model.ensureIndexes());
}
}
return Promise.all(promises);
};
resolve(models);
});
};