2017-07-03 16:16:05 +08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
var _mongoose = require('mongoose');
|
|
|
|
|
|
|
|
var _mongoose2 = _interopRequireDefault(_mongoose);
|
|
|
|
|
2017-07-04 16:43:07 +08:00
|
|
|
var _yapi = require('../yapi.js');
|
|
|
|
|
|
|
|
var _yapi2 = _interopRequireDefault(_yapi);
|
2017-07-03 16:16:05 +08:00
|
|
|
|
2017-07-05 16:17:58 +08:00
|
|
|
var _mongooseAutoIncrement = require('mongoose-auto-increment');
|
|
|
|
|
|
|
|
var _mongooseAutoIncrement2 = _interopRequireDefault(_mongooseAutoIncrement);
|
|
|
|
|
2017-07-03 16:16:05 +08:00
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
|
2017-07-04 16:43:07 +08:00
|
|
|
function model(model, schema) {
|
2017-07-05 16:17:58 +08:00
|
|
|
if (schema instanceof _mongoose2.default.Schema === false) {
|
|
|
|
schema = new _mongoose2.default.Schema(schema);
|
|
|
|
}
|
|
|
|
|
|
|
|
schema.set('autoIndex', false);
|
|
|
|
return _yapi2.default.connect.model(model, schema, model);
|
2017-07-04 16:43:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
function connect() {
|
2017-07-03 16:16:05 +08:00
|
|
|
_mongoose2.default.Promise = global.Promise;
|
2017-07-04 16:43:07 +08:00
|
|
|
var config = _yapi2.default.WEBCONFIG;
|
|
|
|
|
2017-07-03 16:16:05 +08:00
|
|
|
var db = _mongoose2.default.connect('mongodb://' + config.db.servername + ':' + config.db.port + '/' + config.db.DATABASE);
|
|
|
|
|
|
|
|
db.then(function (res) {
|
2017-07-04 16:43:07 +08:00
|
|
|
_yapi2.default.commons.log('mongodb load success...');
|
2017-07-03 16:16:05 +08:00
|
|
|
}, function (err) {
|
2017-07-04 16:43:07 +08:00
|
|
|
_yapi2.default.commons.log(err, 'Mongo connect error');
|
2017-07-03 16:16:05 +08:00
|
|
|
});
|
|
|
|
|
2017-07-05 16:17:58 +08:00
|
|
|
_mongooseAutoIncrement2.default.initialize(db);
|
|
|
|
|
2017-07-03 16:16:05 +08:00
|
|
|
checkDatabase();
|
|
|
|
return db;
|
|
|
|
}
|
|
|
|
|
|
|
|
function checkDatabase() {
|
2017-07-04 16:43:07 +08:00
|
|
|
var exist = _yapi2.default.commons.fileExist(_yapi2.default.path.join(_yapi2.default.WEBROOT_RUNTIME, 'init.lock'));
|
2017-07-03 16:16:05 +08:00
|
|
|
if (!exist) {
|
2017-07-04 16:43:07 +08:00
|
|
|
_yapi2.default.commons.log('lock is not exist');
|
2017-07-03 16:16:05 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-07-04 16:43:07 +08:00
|
|
|
_yapi2.default.db = model;
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
model: model,
|
|
|
|
connect: connect
|
|
|
|
};
|