mirror of
https://github.com/YMFE/yapi.git
synced 2024-12-21 05:19:42 +08:00
52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
const baseController = require('controllers/base.js');
|
|
const advModel = require('./model.js');
|
|
const yapi = require('yapi.js');
|
|
|
|
class advMockController extends baseController{
|
|
constructor(ctx){
|
|
super(ctx);
|
|
this.Model = yapi.getInst(advModel);
|
|
}
|
|
|
|
async getMock(ctx){
|
|
let id = ctx.query.interface_id;
|
|
let mockData = await this.Model.get(id);
|
|
if(!mockData){
|
|
return ctx.body = yapi.commons.resReturn(null, 408, 'mock脚本不存在');
|
|
}
|
|
return ctx.body = yapi.commons.resReturn(mockData);
|
|
}
|
|
|
|
async upMock(ctx){
|
|
let params = ctx.request.body;
|
|
try{
|
|
if(!params.interface_id){
|
|
return ctx.body =yapi.commons.resReturn(null, 408, '缺少interface_id');
|
|
}
|
|
if(!params.project_id){
|
|
return ctx.body =yapi.commons.resReturn(null, 408, '缺少project_id');
|
|
}
|
|
|
|
|
|
let data = {
|
|
interface_id: params.interface_id,
|
|
mock_script: params.mock_script || '',
|
|
project_id: params.project_id,
|
|
uid: this.getUid(),
|
|
enable: params.enable === true ? true : false
|
|
}
|
|
let result;
|
|
let mockData = await this.Model.get(data.interface_id);
|
|
if(mockData){
|
|
result = await this.Model.up(data);
|
|
}else{
|
|
result = await this.Model.save(data);
|
|
}
|
|
return ctx.body = yapi.commons.resReturn(result);
|
|
}catch(e){
|
|
return ctx.body = yapi.commons.resReturn(null, 400, e.message);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = advMockController; |