yapi/server/controllers/group.js

127 lines
3.7 KiB
JavaScript
Raw Normal View History

import groupModel from '../models/group.js'
import yapi from '../yapi.js'
2017-07-05 17:47:51 +08:00
import baseController from './base.js'
2017-07-06 20:53:26 +08:00
//
2017-07-05 17:47:51 +08:00
class groupController extends baseController{
2017-07-06 19:21:54 +08:00
constructor(ctx){
super(ctx)
console.log('constructor....')
}
2017-07-06 19:21:54 +08:00
2017-07-06 19:21:54 +08:00
/**
* 添加项目分组
* @interface /group/add
* @method POST
* @category group
* @foldnumber 10
* @param {String} group_name 项目分组名称不能为空
* @param {String} [group_desc] 项目分组描述
* @returns {Object}
2017-07-06 20:53:26 +08:00
* @example ./api/group/add.json
2017-07-06 19:21:54 +08:00
*/
async add(ctx) {
let params = ctx.request.body;
if(!params.group_name){
2017-07-06 19:21:54 +08:00
return ctx.body = yapi.commons.resReturn(null, 400, '项目分组名不能为空');
}
var groupInst = yapi.getInst(groupModel);
var checkRepeat = await groupInst.checkRepeat(params.group_name);
2017-07-04 17:19:20 +08:00
if(checkRepeat > 0){
2017-07-06 19:21:54 +08:00
return ctx.body = yapi.commons.resReturn(null, 401, '项目分组名已存在');
2017-07-04 17:19:20 +08:00
}
let data = {
group_name: params.group_name,
group_desc: params.group_desc,
uid: '0',
add_time: yapi.commons.time(),
up_time: yapi.commons.time()
}
try{
let result = await groupInst.save(data);
result = yapi.commons.fieldSelect(result, ['_id', 'group_name', 'group_desc', 'uid']);
ctx.body = yapi.commons.resReturn(result);
}catch(e){
ctx.body = yapi.commons.resReturn(null, 402, e.message)
}
}
2017-07-06 20:53:26 +08:00
/**
2017-07-10 11:56:53 +08:00
* 获取项目分组列表
2017-07-06 20:53:26 +08:00
* @interface /group/list
* @method get
* @category group
* @foldnumber 10
* @returns {Object}
2017-07-10 11:56:53 +08:00
* @example ./api/group/list.json
2017-07-06 20:53:26 +08:00
*/
async list(ctx) {
2017-07-04 17:19:20 +08:00
try{
var groupInst = yapi.getInst(groupModel);
let result = await groupInst.list();
2017-07-04 17:19:20 +08:00
ctx.body = yapi.commons.resReturn(result)
}catch(e){
2017-07-04 17:19:20 +08:00
ctx.body = yapi.commons.resReturn(null, 402, e.message)
}
}
2017-07-10 11:56:53 +08:00
/**
* 删除项目分组
* @interface /group/del
* @method post
* @param {String} id 项目分组id
* @category group
* @foldnumber 10
* @returns {Object}
* @example ./api/group/del.json
*/
async del(ctx){
2017-07-04 17:19:20 +08:00
try{
var groupInst = yapi.getInst(groupModel);
2017-07-04 17:19:20 +08:00
let id = ctx.request.body.id;
let result = await groupInst.del(id);
2017-07-04 17:19:20 +08:00
ctx.body = yapi.commons.resReturn(result)
}catch(err){
ctx.body = yapi.commons.resReturn(null, 402, e.message)
}
}
2017-07-10 11:56:53 +08:00
/**
* 更新项目分组
* @interface /group/up
* @method post
* @param {String} id 项目分组id
* @param {String} group_name 项目分组名称
* @param {String} group_desc 项目分组描述
* @category group
* @foldnumber 10
* @returns {Object}
* @example ./api/group/up.json
*/
async up(ctx){
2017-07-04 17:19:20 +08:00
try{
var groupInst = yapi.getInst(groupModel);
2017-07-04 17:19:20 +08:00
let id = ctx.request.body.id;
let data = {};
ctx.request.body.group_name && (data.group_name = ctx.request.body.group_name)
ctx.request.body.group_desc && (data.group_desc = ctx.request.body.group_desc)
if(Object.keys(data).length ===0){
2017-07-06 19:21:54 +08:00
ctx.body = yapi.commons.resReturn(null, 404, '分组名和分组描述不能为空');
2017-07-04 17:19:20 +08:00
}
let result = await groupInst.up(id, data);
2017-07-04 17:19:20 +08:00
ctx.body = yapi.commons.resReturn(result)
}catch(err){
ctx.body = yapi.commons.resReturn(null, 402, e.message)
}
}
}
module.exports = groupController