1 | 'use strict';
|
2 |
|
3 | const AuthServer = require('../app');
|
4 | const co = require('co');
|
5 | const resolve = require('path').resolve;
|
6 | const existsSync = require('fs').existsSync;
|
7 |
|
8 | module.exports = function(options) {
|
9 | let configPath = options.config || 'config.js';
|
10 | let port = options.port || 3000;
|
11 | let server;
|
12 |
|
13 | if (existsSync(configPath)) {
|
14 | server = AuthServer(configPath);
|
15 | } else {
|
16 | server = AuthServer();
|
17 | }
|
18 |
|
19 | server.listen(port);
|
20 |
|
21 | console.log('Running site at: http://127.0.0.1:' + port);
|
22 |
|
23 | co(function*() {
|
24 | let orm = server.orm.database();
|
25 |
|
26 | if (options.sync) {
|
27 | yield orm.sync({
|
28 | force: true
|
29 | });
|
30 |
|
31 | console.log('sync done.');
|
32 | }
|
33 |
|
34 | if (options.data && existsSync(options.data)) {
|
35 | let data = require(resolve(options.data));
|
36 | let users = data.users || [];
|
37 |
|
38 | for (let user of users) {
|
39 | yield orm.User.add(user);
|
40 | }
|
41 |
|
42 | console.log('load data done.');
|
43 | }
|
44 | }).catch(function(err) {
|
45 | console.log(err.stack || err);
|
46 | });
|
47 | };
|