fork from bc4552c5a8
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
const baseController = require('controllers/base.js');
|
||||
const yapi = require('yapi.js');
|
||||
const syncModel = require('../syncModel.js');
|
||||
const projectModel = require('models/project.js');
|
||||
const interfaceSyncUtils = require('../interfaceSyncUtils.js')
|
||||
|
||||
class syncController extends baseController {
|
||||
constructor(ctx) {
|
||||
super(ctx);
|
||||
this.syncModel = yapi.getInst(syncModel);
|
||||
this.projectModel = yapi.getInst(projectModel);
|
||||
this.interfaceSyncUtils = yapi.getInst(interfaceSyncUtils);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存定时任务
|
||||
* @param {*} ctx
|
||||
*/
|
||||
async upSync(ctx) {
|
||||
let requestBody = ctx.request.body;
|
||||
let projectId = requestBody.project_id;
|
||||
if (!projectId) {
|
||||
return (ctx.body = yapi.commons.resReturn(null, 408, '缺少项目Id'));
|
||||
}
|
||||
|
||||
if ((await this.checkAuth(projectId, 'project', 'edit')) !== true) {
|
||||
return (ctx.body = yapi.commons.resReturn(null, 405, '没有权限'));
|
||||
}
|
||||
|
||||
let result;
|
||||
if (requestBody.id) {
|
||||
result = await this.syncModel.up(requestBody);
|
||||
} else {
|
||||
result = await this.syncModel.save(requestBody);
|
||||
}
|
||||
|
||||
//操作定时任务
|
||||
if (requestBody.is_sync_open) {
|
||||
this.interfaceSyncUtils.addSyncJob(projectId, requestBody.sync_cron, requestBody.sync_json_url, requestBody.sync_mode, requestBody.uid);
|
||||
} else {
|
||||
this.interfaceSyncUtils.deleteSyncJob(projectId);
|
||||
}
|
||||
return (ctx.body = yapi.commons.resReturn(result));
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询定时任务
|
||||
* @param {*} ctx
|
||||
*/
|
||||
async getSync(ctx) {
|
||||
let projectId = ctx.query.project_id;
|
||||
if (!projectId) {
|
||||
return (ctx.body = yapi.commons.resReturn(null, 408, '缺少项目Id'));
|
||||
}
|
||||
let result = await this.syncModel.getByProjectId(projectId);
|
||||
return (ctx.body = yapi.commons.resReturn(result));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
module.exports = syncController;
|
||||
Reference in New Issue
Block a user