1 | const passport = require('passport');
|
2 | const util = require('./lib/services/util.service');
|
3 | const modelsService = require('./lib/services/models.service');
|
4 | const utilService = require('./lib/services/util.service');
|
5 | const modelDefinitionsService = require('./lib/services/modelDefinitions.service');
|
6 | const authService = require('./lib/services/auth.service');
|
7 | const geoService = require('./lib/services/geo.service');
|
8 |
|
9 | const init = (app, options, passportProfiles) => {
|
10 |
|
11 | require('./lib/mongoose.js')(options.mongodb_uri);
|
12 |
|
13 | if (options.root_path) {
|
14 | util.setRootPath(options.root_path);
|
15 | }
|
16 |
|
17 | options.models_path = options.models_path ? options.models_path : './app';
|
18 | options.data_path = options.data_path ? options.data_path : './app/data';
|
19 |
|
20 |
|
21 | authService.init(options.authLevels);
|
22 |
|
23 |
|
24 | let modelDefinitions = util.modelDefinitionsSingleLevel(util.getModelDefinitions(options.models_path)).filter(md => md.name !== 'User');
|
25 |
|
26 |
|
27 | modelsService.generateModels(modelDefinitions, options);
|
28 | modelDefinitions.unshift(modelsService.generateUserModel());
|
29 |
|
30 |
|
31 | modelDefinitions = modelDefinitionsService.checkRelationships(modelDefinitions);
|
32 |
|
33 |
|
34 | const passport_path = options.passport_path ? options.passport_path : './lib/auth/passport';
|
35 | require(passport_path)(passport, modelsService.getModel('User'), passportProfiles);
|
36 | app.use(passport.initialize());
|
37 | app.use(passport.session());
|
38 |
|
39 |
|
40 | const routes = require('./lib/routes')(app, modelDefinitions, options, passport);
|
41 | }
|
42 |
|
43 | module.exports = {
|
44 | init: init,
|
45 | getModel: modelsService.getModel,
|
46 | geo: geoService,
|
47 | util: utilService
|
48 | }; |
\ | No newline at end of file |