| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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;
|