mirror of
https://github.com/YMFE/yapi.git
synced 2025-02-23 13:59:28 +08:00
feat: mock下载功能模板
This commit is contained in:
parent
774d456dbd
commit
56661e15dd
@ -525,39 +525,60 @@ class projectController extends baseController {
|
||||
* @param {String} project_id
|
||||
*/
|
||||
async download(ctx) {
|
||||
const project_id = ctx.request.query.project_id;
|
||||
let interfaceInst = yapi.getInst(interfaceModel);
|
||||
// 根据 project_id 获取接口数据
|
||||
let count = await interfaceInst.list(project_id);
|
||||
const project_id = ctx.request.query.project_id;
|
||||
let interfaceInst = yapi.getInst(interfaceModel);
|
||||
// 根据 project_id 获取接口数据
|
||||
let count = await interfaceInst.list(project_id);
|
||||
|
||||
if (!project_id) {
|
||||
return ctx.body = yapi.commons.resReturn(null, 405, '项目id不能为空');
|
||||
} else if (!count) {
|
||||
return ctx.body = yapi.commons.resReturn(null, 401, '项目id不存在');
|
||||
}
|
||||
if (!project_id) {
|
||||
return ctx.body = yapi.commons.resReturn(null, 405, '项目id不能为空');
|
||||
} else if (!count) {
|
||||
return ctx.body = yapi.commons.resReturn(null, 401, '项目id不存在');
|
||||
}
|
||||
|
||||
console.log('cont',count);
|
||||
const arr = JSON.stringify(count.map(function(item) {
|
||||
// 返回的json模板数据: item.res_body
|
||||
const mockData = Mock.mock(
|
||||
yapi.commons.json_parse(item.res_body)
|
||||
);
|
||||
return {
|
||||
path: item.path,
|
||||
mock: mockData
|
||||
}
|
||||
}));
|
||||
// console.log(arr);
|
||||
const arr = JSON.stringify(count.map(function(item) {
|
||||
// 返回的json模板数据: item.res_body
|
||||
const mockData = Mock.mock(
|
||||
yapi.commons.json_parse(item.res_body)
|
||||
);
|
||||
return {
|
||||
path: item.path,
|
||||
mock: mockData
|
||||
}
|
||||
}));
|
||||
|
||||
const fileName = 'mock.js';
|
||||
ctx.attachment(fileName);
|
||||
await send(ctx, fileName, { root: __dirname + '/public' });
|
||||
const fileName = 'mock.js';
|
||||
ctx.attachment(fileName);
|
||||
await send(ctx, fileName, { root: __dirname + '/public' });
|
||||
|
||||
const res = `
|
||||
var data = ${arr};
|
||||
module.exports = data;`
|
||||
.trim();
|
||||
return ctx.body = res;
|
||||
const res = `
|
||||
var Mock = require('mockjs');
|
||||
var xhook = require('xhook');
|
||||
var data = ${arr};
|
||||
function run() {
|
||||
xhook.before(function(request, callback) {
|
||||
setTimeout(function() {
|
||||
var res;
|
||||
data.forEach((item) => {
|
||||
// 请求的接口在 data 中存在
|
||||
if(request.url === item.path) {
|
||||
res = {
|
||||
status: 200,
|
||||
text: Mock.mock(item.mock)
|
||||
}
|
||||
}
|
||||
});
|
||||
if (res) {
|
||||
callback(res);
|
||||
}else {
|
||||
callback({ status: 405, text: '接口不存在' });
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
}
|
||||
module.exports = run;`;
|
||||
.trim();
|
||||
return ctx.body = res;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,6 @@ class interfaceModel extends baseModel {
|
||||
}
|
||||
|
||||
list(project_id) {
|
||||
console.log(project_id);
|
||||
return this.model.find({
|
||||
project_id: project_id
|
||||
})
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,36 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var _regenerator = require("babel-runtime/regenerator");
|
||||
|
||||
var _regenerator2 = _interopRequireDefault(_regenerator);
|
||||
|
||||
var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator");
|
||||
|
||||
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
// const jwt = require('jsonwebtoken');
|
||||
//检查token是否过期
|
||||
|
||||
module.exports = function () {
|
||||
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(ctx, next) {
|
||||
return _regenerator2.default.wrap(function _callee$(_context) {
|
||||
while (1) {
|
||||
switch (_context.prev = _context.next) {
|
||||
case 0:
|
||||
_context.next = 2;
|
||||
return next();
|
||||
|
||||
case 2:
|
||||
case "end":
|
||||
return _context.stop();
|
||||
}
|
||||
}
|
||||
}, _callee, undefined);
|
||||
}));
|
||||
|
||||
return function (_x, _x2) {
|
||||
return _ref.apply(this, arguments);
|
||||
};
|
||||
}();
|
@ -1,177 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _regenerator = require('babel-runtime/regenerator');
|
||||
|
||||
var _regenerator2 = _interopRequireDefault(_regenerator);
|
||||
|
||||
var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator');
|
||||
|
||||
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _project2 = require('../models/project.js');
|
||||
|
||||
var _project3 = _interopRequireDefault(_project2);
|
||||
|
||||
var _interface = require('../models/interface.js');
|
||||
|
||||
var _interface2 = _interopRequireDefault(_interface);
|
||||
|
||||
var _mockjs = require('mockjs');
|
||||
|
||||
var _mockjs2 = _interopRequireDefault(_mockjs);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
module.exports = function () {
|
||||
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(ctx, next) {
|
||||
var hostname, config, projectInst, projects, matchProject, maxBasepath, i, l, _project, project, interfaceData, interfaceInst, res;
|
||||
|
||||
return _regenerator2.default.wrap(function _callee$(_context) {
|
||||
while (1) {
|
||||
switch (_context.prev = _context.next) {
|
||||
case 0:
|
||||
_yapi2.default.commons.log('Server Recevie Request...');
|
||||
|
||||
hostname = ctx.hostname;
|
||||
config = _yapi2.default.WEBCONFIG;
|
||||
|
||||
if (!(ctx.hostname === config.webhost)) {
|
||||
_context.next = 8;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!next) {
|
||||
_context.next = 7;
|
||||
break;
|
||||
}
|
||||
|
||||
_context.next = 7;
|
||||
return next();
|
||||
|
||||
case 7:
|
||||
return _context.abrupt('return', true);
|
||||
|
||||
case 8:
|
||||
|
||||
_yapi2.default.commons.log('MockServer Running...');
|
||||
projectInst = _yapi2.default.getInst(_project3.default), projects = void 0;
|
||||
_context.prev = 10;
|
||||
_context.next = 13;
|
||||
return projectInst.getByDomain(hostname);
|
||||
|
||||
case 13:
|
||||
projects = _context.sent;
|
||||
_context.next = 19;
|
||||
break;
|
||||
|
||||
case 16:
|
||||
_context.prev = 16;
|
||||
_context.t0 = _context['catch'](10);
|
||||
return _context.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 403, _context.t0.message));
|
||||
|
||||
case 19:
|
||||
matchProject = [], maxBasepath = 0;
|
||||
|
||||
|
||||
for (i = 0, l = projects.length; i < l; i++) {
|
||||
_project = projects[i];
|
||||
|
||||
if (ctx.path && _project.basepath == "") {
|
||||
matchProject = _project;
|
||||
} else if (ctx.path && ctx.path.indexOf(_project.basepath) === 0) {
|
||||
if (_project.basepath.length > maxBasepath) {
|
||||
maxBasepath = _project.basepath.length;
|
||||
matchProject = _project;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!(matchProject === false)) {
|
||||
_context.next = 23;
|
||||
break;
|
||||
}
|
||||
|
||||
return _context.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 400, '不存在的domain'));
|
||||
|
||||
case 23:
|
||||
project = matchProject, interfaceData = void 0;
|
||||
interfaceInst = _yapi2.default.getInst(_interface2.default);
|
||||
_context.prev = 25;
|
||||
_context.next = 28;
|
||||
return interfaceInst.getByPath(project._id, ctx.path.substr(project.basepath.length), ctx.method);
|
||||
|
||||
case 28:
|
||||
interfaceData = _context.sent;
|
||||
|
||||
if (!(!interfaceData || interfaceData.length === 0)) {
|
||||
_context.next = 35;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!(ctx.method === 'OPTIONS')) {
|
||||
_context.next = 34;
|
||||
break;
|
||||
}
|
||||
|
||||
ctx.set("Access-Control-Allow-Origin", "*");
|
||||
ctx.set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
|
||||
return _context.abrupt('return', ctx.body = 'ok');
|
||||
|
||||
case 34:
|
||||
return _context.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 404, '不存在的api'));
|
||||
|
||||
case 35:
|
||||
if (!(interfaceData.length > 1)) {
|
||||
_context.next = 37;
|
||||
break;
|
||||
}
|
||||
|
||||
return _context.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 405, '存在多个api,请检查数据库'));
|
||||
|
||||
case 37:
|
||||
|
||||
interfaceData = interfaceData[0];
|
||||
ctx.set("Access-Control-Allow-Origin", "*");
|
||||
|
||||
if (!(interfaceData.res_body_type === 'json')) {
|
||||
_context.next = 48;
|
||||
break;
|
||||
}
|
||||
|
||||
_context.prev = 40;
|
||||
res = _mockjs2.default.mock(_yapi2.default.commons.json_parse(interfaceData.res_body));
|
||||
return _context.abrupt('return', ctx.body = res);
|
||||
|
||||
case 45:
|
||||
_context.prev = 45;
|
||||
_context.t1 = _context['catch'](40);
|
||||
return _context.abrupt('return', ctx.body = {
|
||||
errcode: 400,
|
||||
errmsg: 'mock json数据格式有误',
|
||||
data: interfaceData.res_body
|
||||
});
|
||||
|
||||
case 48:
|
||||
return _context.abrupt('return', ctx.body = interfaceData.res_body);
|
||||
|
||||
case 51:
|
||||
_context.prev = 51;
|
||||
_context.t2 = _context['catch'](25);
|
||||
return _context.abrupt('return', ctx.body = _yapi2.default.commons.resReturn(null, 409, _context.t2.message));
|
||||
|
||||
case 54:
|
||||
case 'end':
|
||||
return _context.stop();
|
||||
}
|
||||
}
|
||||
}, _callee, undefined, [[10, 16], [25, 51], [40, 45]]);
|
||||
}));
|
||||
|
||||
return function (_x, _x2) {
|
||||
return _ref.apply(this, arguments);
|
||||
};
|
||||
}();
|
@ -1,44 +0,0 @@
|
||||
"use strict";
|
||||
|
||||
var _regenerator = require("babel-runtime/regenerator");
|
||||
|
||||
var _regenerator2 = _interopRequireDefault(_regenerator);
|
||||
|
||||
var _asyncToGenerator2 = require("babel-runtime/helpers/asyncToGenerator");
|
||||
|
||||
var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
module.exports = function () {
|
||||
var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(ctx, next) {
|
||||
var path;
|
||||
return _regenerator2.default.wrap(function _callee$(_context) {
|
||||
while (1) {
|
||||
switch (_context.prev = _context.next) {
|
||||
case 0:
|
||||
path = ctx.path;
|
||||
|
||||
console.log(path); // eslint-disable-line
|
||||
console.log(ctx.hostname); // eslint-disable-line
|
||||
|
||||
if (!next) {
|
||||
_context.next = 6;
|
||||
break;
|
||||
}
|
||||
|
||||
_context.next = 6;
|
||||
return next();
|
||||
|
||||
case 6:
|
||||
case "end":
|
||||
return _context.stop();
|
||||
}
|
||||
}
|
||||
}, _callee, undefined);
|
||||
}));
|
||||
|
||||
return function (_x, _x2) {
|
||||
return _ref.apply(this, arguments);
|
||||
};
|
||||
}();
|
@ -1,81 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
// import userModel from '../models/user.js';
|
||||
|
||||
var avatarModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(avatarModel, _baseModel);
|
||||
|
||||
function avatarModel() {
|
||||
(0, _classCallCheck3.default)(this, avatarModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (avatarModel.__proto__ || (0, _getPrototypeOf2.default)(avatarModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(avatarModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'avatar';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
uid: { type: Number, required: true },
|
||||
basecode: String,
|
||||
type: String
|
||||
};
|
||||
}
|
||||
}, {
|
||||
key: 'get',
|
||||
value: function get(uid) {
|
||||
|
||||
return this.model.findOne({
|
||||
uid: uid
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'up',
|
||||
value: function up(uid, basecode, type) {
|
||||
return this.model.update({
|
||||
uid: uid
|
||||
}, {
|
||||
type: type,
|
||||
basecode: basecode
|
||||
}, {
|
||||
upsert: true
|
||||
});
|
||||
}
|
||||
}]);
|
||||
return avatarModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = avatarModel;
|
@ -1,82 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _mongoose = require('mongoose');
|
||||
|
||||
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||
|
||||
var _mongooseAutoIncrement = require('mongoose-auto-increment');
|
||||
|
||||
var _mongooseAutoIncrement2 = _interopRequireDefault(_mongooseAutoIncrement);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
/**
|
||||
* 所有的model都需要继承baseModel, 且需要 getSchema和getName方法,不然会报错
|
||||
*/
|
||||
|
||||
var baseModel = function () {
|
||||
function baseModel() {
|
||||
(0, _classCallCheck3.default)(this, baseModel);
|
||||
|
||||
this.schema = new _mongoose2.default.Schema(this.getSchema());
|
||||
this.name = this.getName();
|
||||
|
||||
if (this.isNeedAutoIncrement() === true) {
|
||||
this.schema.plugin(_mongooseAutoIncrement2.default.plugin, {
|
||||
model: this.name,
|
||||
field: this.getPrimaryKey(),
|
||||
startAt: 101,
|
||||
incrementBy: _yapi2.default.commons.rand(1, 10)
|
||||
});
|
||||
}
|
||||
|
||||
this.model = _yapi2.default.db(this.name, this.schema);
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(baseModel, [{
|
||||
key: 'isNeedAutoIncrement',
|
||||
value: function isNeedAutoIncrement() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 可通过覆盖此方法生成其他自增字段
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'getPrimaryKey',
|
||||
value: function getPrimaryKey() {
|
||||
return '_id';
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取collection的schema结构
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
_yapi2.default.commons.log('Model Class need getSchema function', 'error');
|
||||
}
|
||||
}, {
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
_yapi2.default.commons.log('Model Class need name', 'error');
|
||||
}
|
||||
}]);
|
||||
return baseModel;
|
||||
}();
|
||||
|
||||
module.exports = baseModel;
|
@ -1,109 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var followModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(followModel, _baseModel);
|
||||
|
||||
function followModel() {
|
||||
(0, _classCallCheck3.default)(this, followModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (followModel.__proto__ || (0, _getPrototypeOf2.default)(followModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(followModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'follow';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
uid: { type: Number, required: true },
|
||||
projectid: { type: Number, required: true },
|
||||
projectname: { type: String, required: true },
|
||||
icon: String
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {Number} uid 用户id
|
||||
* @param {Number} projectid 项目id
|
||||
* @param {String} projectname 项目名
|
||||
* @param {String} icon 项目图标
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
//关注
|
||||
var saveData = {
|
||||
uid: data.uid,
|
||||
projectid: data.projectid,
|
||||
projectname: data.projectname,
|
||||
icon: data.icon
|
||||
};
|
||||
var follow = new this.model(saveData);
|
||||
return follow.save();
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'listWithPaging',
|
||||
value: function listWithPaging(uid, page, limit) {
|
||||
page = parseInt(page);
|
||||
limit = parseInt(limit);
|
||||
|
||||
return this.model.find({
|
||||
uid: uid
|
||||
}).skip((page - 1) * limit).limit(limit).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listCount',
|
||||
value: function listCount(uid) {
|
||||
return this.model.count({
|
||||
uid: uid
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'checkProjectRepeat',
|
||||
value: function checkProjectRepeat(uid, projectid) {
|
||||
return this.model.count({
|
||||
uid: uid,
|
||||
projectid: projectid
|
||||
});
|
||||
}
|
||||
}]);
|
||||
return followModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = followModel;
|
@ -1,153 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var groupModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(groupModel, _baseModel);
|
||||
|
||||
function groupModel() {
|
||||
(0, _classCallCheck3.default)(this, groupModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (groupModel.__proto__ || (0, _getPrototypeOf2.default)(groupModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(groupModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'group';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
uid: Number,
|
||||
group_name: String,
|
||||
group_desc: String,
|
||||
add_time: Number,
|
||||
up_time: Number,
|
||||
members: [{
|
||||
uid: Number,
|
||||
role: { type: String, enum: ['owner', 'dev'] },
|
||||
username: String,
|
||||
email: String
|
||||
}]
|
||||
};
|
||||
}
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var m = new this.model(data);
|
||||
return m.save();
|
||||
}
|
||||
}, {
|
||||
key: 'get',
|
||||
value: function get(id) {
|
||||
return this.model.findOne({
|
||||
_id: id
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'checkRepeat',
|
||||
value: function checkRepeat(name) {
|
||||
return this.model.count({
|
||||
group_name: name
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'addMember',
|
||||
value: function addMember(id, data) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, {
|
||||
$push: { members: data }
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'delMember',
|
||||
value: function delMember(id, uid) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, {
|
||||
$pull: { members: { uid: uid } }
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'changeMemberRole',
|
||||
value: function changeMemberRole(id, uid, role) {
|
||||
return this.model.update({
|
||||
_id: id,
|
||||
"members.uid": uid
|
||||
}, {
|
||||
"$set": { "members.$.uid": role }
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'checkMemberRepeat',
|
||||
value: function checkMemberRepeat(id, uid) {
|
||||
return this.model.count({
|
||||
_id: id,
|
||||
"members.uid": uid
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list() {
|
||||
return this.model.find().select('group_name _id group_desc add_time up_time').exec();
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'up',
|
||||
value: function up(id, data) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, {
|
||||
group_name: data.group_name,
|
||||
group_desc: data.group_desc,
|
||||
up_time: _yapi2.default.commons.time()
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'search',
|
||||
value: function search(keyword) {
|
||||
return this.model.find({
|
||||
group_name: new RegExp(keyword, 'i')
|
||||
}).limit(10);
|
||||
}
|
||||
}]);
|
||||
return groupModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = groupModel;
|
@ -1,144 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var interfaceModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(interfaceModel, _baseModel);
|
||||
|
||||
function interfaceModel() {
|
||||
(0, _classCallCheck3.default)(this, interfaceModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (interfaceModel.__proto__ || (0, _getPrototypeOf2.default)(interfaceModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(interfaceModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'interface';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
title: { type: String, required: true },
|
||||
uid: { type: Number, required: true },
|
||||
path: { type: String, required: true },
|
||||
method: { type: String, required: true },
|
||||
project_id: { type: Number, required: true },
|
||||
desc: String,
|
||||
add_time: Number,
|
||||
up_time: Number,
|
||||
req_query: [{
|
||||
name: String, value: String, desc: String, required: Boolean
|
||||
}],
|
||||
req_headers: [{
|
||||
name: String, value: String, desc: String, required: Boolean
|
||||
}],
|
||||
req_params_type: {
|
||||
type: String,
|
||||
enum: ['form', 'json', 'text', 'xml']
|
||||
},
|
||||
req_params_form: [{
|
||||
name: String, value: String, value_type: { type: String, enum: ['text', 'file'] }, desc: String, required: Boolean
|
||||
}],
|
||||
req_params_other: String,
|
||||
res_body_type: {
|
||||
type: String,
|
||||
enum: ['json', 'text', 'xml']
|
||||
},
|
||||
res_body: String
|
||||
};
|
||||
}
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var m = new this.model(data);
|
||||
return m.save();
|
||||
}
|
||||
}, {
|
||||
key: 'get',
|
||||
value: function get(id) {
|
||||
return this.model.findOne({
|
||||
_id: id
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'getByPath',
|
||||
value: function getByPath(project_id, path, method) {
|
||||
return this.model.find({
|
||||
project_id: project_id,
|
||||
path: path,
|
||||
method: method
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'checkRepeat',
|
||||
value: function checkRepeat(id, path, method) {
|
||||
return this.model.count({
|
||||
project_id: id,
|
||||
path: path,
|
||||
method: method
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'countByProjectId',
|
||||
value: function countByProjectId(id) {
|
||||
return this.model.count({
|
||||
project_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list(project_id) {
|
||||
console.log(project_id);
|
||||
return this.model.find({
|
||||
project_id: project_id
|
||||
}).sort({ _id: -1 }).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'up',
|
||||
value: function up(id, data) {
|
||||
data.up_time = _yapi2.default.commons.time();
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, data, { runValidators: true });
|
||||
}
|
||||
}]);
|
||||
return interfaceModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = interfaceModel;
|
@ -1,122 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var interfaceCase = function (_baseModel) {
|
||||
(0, _inherits3.default)(interfaceCase, _baseModel);
|
||||
|
||||
function interfaceCase() {
|
||||
(0, _classCallCheck3.default)(this, interfaceCase);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (interfaceCase.__proto__ || (0, _getPrototypeOf2.default)(interfaceCase)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(interfaceCase, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'interface_case';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
casename: { type: String, required: true },
|
||||
uid: { type: Number, required: true },
|
||||
col_id: { type: Number, required: true },
|
||||
index: { type: Number, default: 0 },
|
||||
project_id: { type: Number, required: true },
|
||||
add_time: Number,
|
||||
up_time: Number,
|
||||
env: { type: String, required: true },
|
||||
domain: { type: String },
|
||||
path: { type: String, required: true },
|
||||
method: { type: String, required: true },
|
||||
req_query: [{
|
||||
name: String, value: String
|
||||
}],
|
||||
req_headers: [{
|
||||
name: String, value: String
|
||||
}],
|
||||
req_body_type: {
|
||||
type: String,
|
||||
enum: ['form', 'json', 'text', 'xml']
|
||||
},
|
||||
res_body_form: [{
|
||||
name: String, value: String
|
||||
}],
|
||||
res_body_other: String
|
||||
|
||||
};
|
||||
}
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var m = new this.model(data);
|
||||
return m.save();
|
||||
}
|
||||
}, {
|
||||
key: 'get',
|
||||
value: function get(id) {
|
||||
return this.model.findOne({
|
||||
_id: id
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list() {
|
||||
return this.model.find().select("casename uid col_id _id index").exec();
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'up',
|
||||
value: function up(id, data) {
|
||||
data.up_time = _yapi2.default.commons.time();
|
||||
return this.model.update({ _id: id }, data);
|
||||
}
|
||||
}, {
|
||||
key: 'upCaseIndex',
|
||||
value: function upCaseIndex(id, index) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, {
|
||||
index: index
|
||||
});
|
||||
}
|
||||
}]);
|
||||
return interfaceCase;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = interfaceCase;
|
@ -1,104 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var interfaceCol = function (_baseModel) {
|
||||
(0, _inherits3.default)(interfaceCol, _baseModel);
|
||||
|
||||
function interfaceCol() {
|
||||
(0, _classCallCheck3.default)(this, interfaceCol);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (interfaceCol.__proto__ || (0, _getPrototypeOf2.default)(interfaceCol)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(interfaceCol, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'interface_col';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
name: { type: String, required: true },
|
||||
uid: { type: Number, required: true },
|
||||
project_id: { type: Number, required: true },
|
||||
desc: String,
|
||||
add_time: Number,
|
||||
up_time: Number
|
||||
};
|
||||
}
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var m = new this.model(data);
|
||||
return m.save();
|
||||
}
|
||||
}, {
|
||||
key: 'get',
|
||||
value: function get(id) {
|
||||
return this.model.findOne({
|
||||
_id: id
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'checkRepeat',
|
||||
value: function checkRepeat(name) {
|
||||
return this.model.count({
|
||||
name: name
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list(project_id) {
|
||||
return this.model.find({
|
||||
project_id: project_id
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'up',
|
||||
value: function up(id, data) {
|
||||
data.up_time = _yapi2.default.commons.time();
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, data);
|
||||
}
|
||||
}]);
|
||||
return interfaceCol;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = interfaceCol;
|
@ -1,117 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
// import userModel from '../models/user.js';
|
||||
|
||||
var logModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(logModel, _baseModel);
|
||||
|
||||
function logModel() {
|
||||
(0, _classCallCheck3.default)(this, logModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (logModel.__proto__ || (0, _getPrototypeOf2.default)(logModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(logModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'log';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
uid: { type: Number, required: true },
|
||||
typeid: { type: Number, required: true },
|
||||
type: { type: String, enum: ['user', 'group', 'interface', 'project', 'other', 'interface_col'], required: true },
|
||||
content: { type: String, required: true },
|
||||
username: { type: String, required: true },
|
||||
add_time: Number
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {String} content log内容
|
||||
* @param {Enum} type log类型, ['user', 'group', 'interface', 'project', 'other']
|
||||
* @param {Number} uid 用户id
|
||||
*/
|
||||
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var saveData = {
|
||||
content: data.content,
|
||||
type: data.type,
|
||||
uid: data.uid,
|
||||
username: data.username,
|
||||
typeid: data.typeid,
|
||||
add_time: _yapi2.default.commons.time()
|
||||
};
|
||||
var log = new this.model(saveData);
|
||||
|
||||
return log.save();
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list(typeid) {
|
||||
return this.model.find({
|
||||
typeid: typeid
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listWithPaging',
|
||||
value: function listWithPaging(typeid, page, limit) {
|
||||
page = parseInt(page);
|
||||
limit = parseInt(limit);
|
||||
|
||||
return this.model.find({
|
||||
typeid: typeid
|
||||
}).skip((page - 1) * limit).limit(limit).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listCount',
|
||||
value: function listCount(typeid) {
|
||||
return this.model.count({
|
||||
typeid: typeid
|
||||
});
|
||||
}
|
||||
}]);
|
||||
return logModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = logModel;
|
@ -1,200 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var projectModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(projectModel, _baseModel);
|
||||
|
||||
function projectModel() {
|
||||
(0, _classCallCheck3.default)(this, projectModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (projectModel.__proto__ || (0, _getPrototypeOf2.default)(projectModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(projectModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'project';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
uid: { type: Number, required: true },
|
||||
name: { type: String, required: true },
|
||||
basepath: { type: String },
|
||||
desc: String,
|
||||
group_id: { type: Number, required: true },
|
||||
project_type: { type: String, required: true, enum: ['public', 'private'] },
|
||||
members: [{ uid: Number, role: { type: String, enum: ['owner', 'dev'], username: String, email: String } }],
|
||||
protocol: { type: String, required: true },
|
||||
prd_host: { type: String, required: true },
|
||||
env: [{ name: String, domain: String }],
|
||||
add_time: Number,
|
||||
up_time: Number
|
||||
};
|
||||
}
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var m = new this.model(data);
|
||||
return m.save();
|
||||
}
|
||||
}, {
|
||||
key: 'get',
|
||||
value: function get(id) {
|
||||
return this.model.findOne({
|
||||
_id: id
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'getByDomain',
|
||||
value: function getByDomain(domain) {
|
||||
return this.model.find({
|
||||
prd_host: domain
|
||||
}).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'checkNameRepeat',
|
||||
value: function checkNameRepeat(name) {
|
||||
return this.model.count({
|
||||
name: name
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'checkDomainRepeat',
|
||||
value: function checkDomainRepeat(domain, basepath) {
|
||||
return this.model.count({
|
||||
prd_host: domain,
|
||||
basepath: basepath
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list(group_id, auth) {
|
||||
var params = { group_id: group_id };
|
||||
if (!auth) params.project_type = 'public';
|
||||
return this.model.find(params).sort({ _id: -1 }).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listWithPaging',
|
||||
value: function listWithPaging(group_id, page, limit) {
|
||||
page = parseInt(page);
|
||||
limit = parseInt(limit);
|
||||
return this.model.find({
|
||||
group_id: group_id
|
||||
}).sort({ _id: -1 }).skip((page - 1) * limit).limit(limit).exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listCount',
|
||||
value: function listCount(group_id) {
|
||||
return this.model.count({
|
||||
group_id: group_id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'countByGroupId',
|
||||
value: function countByGroupId(group_id) {
|
||||
return this.model.count({
|
||||
group_id: group_id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'up',
|
||||
value: function up(id, data) {
|
||||
data.up_time = _yapi2.default.commons.time();
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, data, { runValidators: true });
|
||||
}
|
||||
}, {
|
||||
key: 'addMember',
|
||||
value: function addMember(id, data) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, {
|
||||
$push: { members: data }
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'delMember',
|
||||
value: function delMember(id, uid) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, {
|
||||
$pull: { members: uid }
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'checkMemberRepeat',
|
||||
value: function checkMemberRepeat(id, uid) {
|
||||
return this.model.count({
|
||||
_id: id,
|
||||
"members.uid": uid
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'changeMemberRole',
|
||||
value: function changeMemberRole(id, uid, role) {
|
||||
return this.model.update({
|
||||
_id: id,
|
||||
"members.uid": uid
|
||||
}, {
|
||||
"$set": { "members.$.uid": role }
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'search',
|
||||
value: function search(keyword) {
|
||||
return this.model.find({
|
||||
name: new RegExp(keyword, 'ig')
|
||||
}).limit(10);
|
||||
}
|
||||
}, {
|
||||
key: 'download',
|
||||
value: function download(id) {
|
||||
console.log('models in download');
|
||||
// return this.model.find({
|
||||
// name: new RegExp(id, 'ig')
|
||||
// })
|
||||
// .limit(10);
|
||||
}
|
||||
}]);
|
||||
return projectModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = projectModel;
|
@ -1,142 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
|
||||
|
||||
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
|
||||
|
||||
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
|
||||
|
||||
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
|
||||
|
||||
var _createClass2 = require('babel-runtime/helpers/createClass');
|
||||
|
||||
var _createClass3 = _interopRequireDefault(_createClass2);
|
||||
|
||||
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
|
||||
|
||||
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
|
||||
|
||||
var _inherits2 = require('babel-runtime/helpers/inherits');
|
||||
|
||||
var _inherits3 = _interopRequireDefault(_inherits2);
|
||||
|
||||
var _base = require('./base.js');
|
||||
|
||||
var _base2 = _interopRequireDefault(_base);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var userModel = function (_baseModel) {
|
||||
(0, _inherits3.default)(userModel, _baseModel);
|
||||
|
||||
function userModel() {
|
||||
(0, _classCallCheck3.default)(this, userModel);
|
||||
return (0, _possibleConstructorReturn3.default)(this, (userModel.__proto__ || (0, _getPrototypeOf2.default)(userModel)).apply(this, arguments));
|
||||
}
|
||||
|
||||
(0, _createClass3.default)(userModel, [{
|
||||
key: 'getName',
|
||||
value: function getName() {
|
||||
return 'user';
|
||||
}
|
||||
}, {
|
||||
key: 'getSchema',
|
||||
value: function getSchema() {
|
||||
return {
|
||||
username: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
password: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
email: {
|
||||
type: String,
|
||||
required: true
|
||||
},
|
||||
passsalt: String,
|
||||
role: String,
|
||||
add_time: Number,
|
||||
up_time: Number,
|
||||
type: { type: String, enum: ['site', 'third'], default: "site" //site用户是网站注册用户, third是第三方登录过来的用户
|
||||
} };
|
||||
}
|
||||
}, {
|
||||
key: 'save',
|
||||
value: function save(data) {
|
||||
var user = new this.model(data);
|
||||
return user.save();
|
||||
}
|
||||
}, {
|
||||
key: 'checkRepeat',
|
||||
value: function checkRepeat(email) {
|
||||
return this.model.count({
|
||||
email: email
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'list',
|
||||
value: function list() {
|
||||
return this.model.find().select('_id username email role add_time up_time').exec(); //显示id name email role
|
||||
}
|
||||
}, {
|
||||
key: 'findByUids',
|
||||
value: function findByUids(uids) {
|
||||
return this.model.find({
|
||||
_id: { $in: uids }
|
||||
}).select('_id username email role add_time up_time').exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listWithPaging',
|
||||
value: function listWithPaging(page, limit) {
|
||||
page = parseInt(page);
|
||||
limit = parseInt(limit);
|
||||
return this.model.find().sort({ _id: -1 }).skip((page - 1) * limit).limit(limit).select('_id username email role add_time up_time').exec();
|
||||
}
|
||||
}, {
|
||||
key: 'listCount',
|
||||
value: function listCount() {
|
||||
return this.model.count();
|
||||
}
|
||||
}, {
|
||||
key: 'findByEmail',
|
||||
value: function findByEmail(email) {
|
||||
return this.model.findOne({ email: email });
|
||||
}
|
||||
}, {
|
||||
key: 'findById',
|
||||
value: function findById(id) {
|
||||
return this.model.findOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'del',
|
||||
value: function del(id) {
|
||||
return this.model.deleteOne({
|
||||
_id: id
|
||||
});
|
||||
}
|
||||
}, {
|
||||
key: 'update',
|
||||
value: function update(id, data) {
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, data);
|
||||
}
|
||||
}, {
|
||||
key: 'search',
|
||||
value: function search(keyword) {
|
||||
return this.model.find({
|
||||
$or: [{ email: new RegExp(keyword, 'i') }, { username: new RegExp(keyword, 'i') }]
|
||||
}, {
|
||||
passsalt: 0,
|
||||
password: 0
|
||||
}).limit(10);
|
||||
}
|
||||
}]);
|
||||
return userModel;
|
||||
}(_base2.default);
|
||||
|
||||
module.exports = userModel;
|
@ -1,250 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _stringify = require('babel-runtime/core-js/json/stringify');
|
||||
|
||||
var _stringify2 = _interopRequireDefault(_stringify);
|
||||
|
||||
var _typeof2 = require('babel-runtime/helpers/typeof');
|
||||
|
||||
var _typeof3 = _interopRequireDefault(_typeof2);
|
||||
|
||||
var _fsExtra = require('fs-extra');
|
||||
|
||||
var _fsExtra2 = _interopRequireDefault(_fsExtra);
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _sha = require('sha1');
|
||||
|
||||
var _sha2 = _interopRequireDefault(_sha);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
exports.resReturn = function (data, num, errmsg) {
|
||||
num = num || 0;
|
||||
|
||||
return {
|
||||
errcode: num,
|
||||
errmsg: errmsg || 'success',
|
||||
data: data
|
||||
};
|
||||
};
|
||||
|
||||
exports.log = function (msg, type) {
|
||||
if (!msg) {
|
||||
return;
|
||||
}
|
||||
|
||||
type = type || 'log';
|
||||
|
||||
var f = void 0;
|
||||
|
||||
switch (type) {
|
||||
case 'log':
|
||||
f = console.log; // eslint-disable-line
|
||||
break;
|
||||
case 'warn':
|
||||
f = console.warn; // eslint-disable-line
|
||||
break;
|
||||
case 'error':
|
||||
f = console.error; // eslint-disable-line
|
||||
break;
|
||||
default:
|
||||
f = console.log; // eslint-disable-line
|
||||
break;
|
||||
}
|
||||
|
||||
f(type + ':', msg);
|
||||
|
||||
var date = new Date();
|
||||
var year = date.getFullYear();
|
||||
var month = date.getMonth();
|
||||
|
||||
var logfile = _path2.default.join(_yapi2.default.WEBROOT_LOG, year + '-' + month + '.log');
|
||||
|
||||
if ((typeof msg === 'undefined' ? 'undefined' : (0, _typeof3.default)(msg)) === 'object') {
|
||||
if (msg instanceof Error) msg = msg.message;else msg = (0, _stringify2.default)(msg);
|
||||
}
|
||||
|
||||
var data = new Date().toLocaleTimeString() + '\t|\t' + type + '\t|\t' + msg;
|
||||
|
||||
_fsExtra2.default.writeFileSync(logfile, data, {
|
||||
flag: 'w+'
|
||||
});
|
||||
};
|
||||
|
||||
exports.fileExist = function (filePath) {
|
||||
try {
|
||||
return _fsExtra2.default.statSync(filePath).isFile();
|
||||
} catch (err) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
exports.time = function () {
|
||||
return Date.parse(new Date()) / 1000;
|
||||
};
|
||||
|
||||
exports.fieldSelect = function (data, field) {
|
||||
if (!data || !field || !Array.isArray(field)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var arr = {};
|
||||
|
||||
field.forEach(function (f) {
|
||||
data[f] && (arr[f] = data[f]);
|
||||
});
|
||||
|
||||
return arr;
|
||||
};
|
||||
|
||||
exports.rand = function (min, max) {
|
||||
return Math.floor(Math.random() * (max - min) + min);
|
||||
};
|
||||
|
||||
exports.json_parse = function (json) {
|
||||
try {
|
||||
return JSON.parse(json);
|
||||
} catch (e) {
|
||||
return json;
|
||||
}
|
||||
};
|
||||
|
||||
exports.randStr = function () {
|
||||
return Math.random().toString(36).substr(2);
|
||||
};
|
||||
|
||||
exports.generatePassword = function (password, passsalt) {
|
||||
return (0, _sha2.default)(password + (0, _sha2.default)(passsalt));
|
||||
};
|
||||
|
||||
exports.expireDate = function (day) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + day * 86400000);
|
||||
return date;
|
||||
};
|
||||
|
||||
exports.sendMail = function (options, cb) {
|
||||
if (!_yapi2.default.mail) return false;
|
||||
options.subject = options.subject ? options.subject + '-yapi平台' : 'ypai平台';
|
||||
|
||||
cb = cb || function (err) {
|
||||
if (err) {
|
||||
_yapi2.default.commons.log('send mail ' + options.to + ' error,' + err.message, 'error');
|
||||
} else {
|
||||
_yapi2.default.commons.log('send mail ' + options.to + ' success');
|
||||
}
|
||||
};
|
||||
|
||||
try {
|
||||
_yapi2.default.mail.sendMail({
|
||||
from: _yapi2.default.WEBCONFIG.mail.from,
|
||||
to: options.to,
|
||||
subject: 'yapi平台',
|
||||
html: options.contents
|
||||
}, cb);
|
||||
} catch (e) {
|
||||
console.error(e.message); // eslint-disable-line
|
||||
}
|
||||
};
|
||||
|
||||
exports.validateSearchKeyword = function (keyword) {
|
||||
if (/^\*|\?|\+|\$|\^|\\|\.$/.test(keyword)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
exports.filterRes = function (list, rules) {
|
||||
return list.map(function (item) {
|
||||
var filteredRes = {};
|
||||
|
||||
rules.forEach(function (rule) {
|
||||
if (typeof rule == 'string') {
|
||||
filteredRes[rule] = item[rule];
|
||||
} else if ((typeof rule === 'undefined' ? 'undefined' : (0, _typeof3.default)(rule)) == 'object') {
|
||||
filteredRes[rule.alias] = item[rule.key];
|
||||
}
|
||||
});
|
||||
|
||||
return filteredRes;
|
||||
});
|
||||
};
|
||||
|
||||
exports.verifyPath = function (path) {
|
||||
if (/^\/[a-zA-Z0-9\-\/_:\.]+$/.test(path)) {
|
||||
if (path[path.length - 1] === '/') {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
function trim(str) {
|
||||
if (!str) {
|
||||
return str;
|
||||
}
|
||||
|
||||
str = str + '';
|
||||
|
||||
return str.replace(/(^\s*)|(\s*$)/g, '');
|
||||
}
|
||||
|
||||
function ltrim(str) {
|
||||
if (!str) {
|
||||
return str;
|
||||
}
|
||||
|
||||
str = str + '';
|
||||
|
||||
return str.replace(/(^\s*)/g, '');
|
||||
}
|
||||
|
||||
function rtrim(str) {
|
||||
if (!str) {
|
||||
return str;
|
||||
}
|
||||
|
||||
str = str + '';
|
||||
|
||||
return str.replace(/(\s*$)/g, '');
|
||||
}
|
||||
|
||||
exports.trim = trim;
|
||||
exports.ltrim = ltrim;
|
||||
exports.rtrim = rtrim;
|
||||
|
||||
exports.handleParams = function (params, keys) {
|
||||
if (!params || (typeof params === 'undefined' ? 'undefined' : (0, _typeof3.default)(params)) !== 'object' || !keys || (typeof keys === 'undefined' ? 'undefined' : (0, _typeof3.default)(keys)) !== 'object') {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (var key in keys) {
|
||||
var filter = keys[key];
|
||||
if (params[key]) {
|
||||
switch (filter) {
|
||||
case 'string':
|
||||
params[key] = trim(params[key] + '');
|
||||
break;
|
||||
case 'number':
|
||||
params[key] = parseInt(params[key], 10);
|
||||
break;
|
||||
default:
|
||||
params[key] = trim(params + '');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return params;
|
||||
};
|
@ -1,55 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _mongoose = require('mongoose');
|
||||
|
||||
var _mongoose2 = _interopRequireDefault(_mongoose);
|
||||
|
||||
var _yapi = require('../yapi.js');
|
||||
|
||||
var _yapi2 = _interopRequireDefault(_yapi);
|
||||
|
||||
var _mongooseAutoIncrement = require('mongoose-auto-increment');
|
||||
|
||||
var _mongooseAutoIncrement2 = _interopRequireDefault(_mongooseAutoIncrement);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
function model(model, schema) {
|
||||
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);
|
||||
}
|
||||
|
||||
function connect() {
|
||||
_mongoose2.default.Promise = global.Promise;
|
||||
|
||||
var config = _yapi2.default.WEBCONFIG;
|
||||
var options = {};
|
||||
|
||||
if (config.user) {
|
||||
options.user = config.db.user;
|
||||
options.pass = config.db.pass;
|
||||
}
|
||||
|
||||
var db = _mongoose2.default.connect('mongodb://' + config.db.servername + ':' + config.db.port + '/' + config.db.DATABASE, options);
|
||||
|
||||
db.then(function () {
|
||||
_yapi2.default.commons.log('mongodb load success...');
|
||||
}, function (err) {
|
||||
_yapi2.default.commons.log(err, 'Mongo connect error');
|
||||
});
|
||||
|
||||
_mongooseAutoIncrement2.default.initialize(db);
|
||||
return db;
|
||||
}
|
||||
|
||||
_yapi2.default.db = model;
|
||||
|
||||
module.exports = {
|
||||
model: model,
|
||||
connect: connect
|
||||
};
|
@ -1,26 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
var _stringify = require('babel-runtime/core-js/json/stringify');
|
||||
|
||||
var _stringify2 = _interopRequireDefault(_stringify);
|
||||
|
||||
var _path = require('path');
|
||||
|
||||
var _path2 = _interopRequireDefault(_path);
|
||||
|
||||
var _fsExtra = require('fs-extra');
|
||||
|
||||
var _fsExtra2 = _interopRequireDefault(_fsExtra);
|
||||
|
||||
var _config = require('../config.js');
|
||||
|
||||
var _config2 = _interopRequireDefault(_config);
|
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||
|
||||
var runtimePath = _config2.default.runtime_path;
|
||||
_fsExtra2.default.ensureDirSync(runtimePath);
|
||||
_fsExtra2.default.ensureDirSync(_path2.default.join(runtimePath, 'log'));
|
||||
var configPath = _path2.default.join(runtimePath, 'config.json');
|
||||
|
||||
_fsExtra2.default.writeFileSync(configPath, (0, _stringify2.default)(_config2.default, null, '\t'), { encoding: 'utf8' });
|
Loading…
Reference in New Issue
Block a user