import Factor = require('../Entity/Factor/Factor'); import List = require('../Entity/List'); import mongoose = require('mongoose'); import DocumentExecutor = require('../Util/DocumentExecutor'); export = FactorLoader; class FactorLoader { private documentExecutor: DocumentExecutor; static $inject = [ 'Definition.Factor.FactorModel' ]; constructor( private model: mongoose.Model ) { this.documentExecutor = new DocumentExecutor(this.model, Factor); } getList(callback: (e: Error, factorList?: List) => void) { this.model.find({}, null, { sort: 'id' }, (e: Error, factors: mongoose.Document[]) => { if (e) { return callback(e); } var list = new List(); list.pushArray(factors, Factor.fromObject); callback(null, list); }); } }