fork from bc4552c5a8
This commit is contained in:
90
exts/yapi-plugin-swagger-auto-sync/syncModel.js
Normal file
90
exts/yapi-plugin-swagger-auto-sync/syncModel.js
Normal file
@@ -0,0 +1,90 @@
|
||||
const yapi = require('yapi.js');
|
||||
const baseModel = require('models/base.js');
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
class syncModel extends baseModel {
|
||||
getName() {
|
||||
return 'interface_auto_sync';
|
||||
}
|
||||
|
||||
getSchema() {
|
||||
return {
|
||||
uid: { type: Number},
|
||||
project_id: { type: Number, required: true },
|
||||
//是否开启自动同步
|
||||
is_sync_open: { type: Boolean, default: false },
|
||||
//自动同步定时任务的cron表达式
|
||||
sync_cron: String,
|
||||
//自动同步获取json的url
|
||||
sync_json_url: String,
|
||||
//接口合并模式 good,nomarl等等 意思也就是智能合并,完全覆盖等
|
||||
sync_mode: String,
|
||||
//上次成功同步接口时间,
|
||||
last_sync_time: Number,
|
||||
//上次同步的swagger 文档内容
|
||||
old_swagger_content: String,
|
||||
add_time: Number,
|
||||
up_time: Number,
|
||||
};
|
||||
}
|
||||
|
||||
getByProjectId(id) {
|
||||
return this.model.findOne({
|
||||
project_id: id
|
||||
})
|
||||
}
|
||||
|
||||
delByProjectId(project_id){
|
||||
return this.model.remove({
|
||||
project_id: project_id
|
||||
})
|
||||
}
|
||||
|
||||
save(data) {
|
||||
data.up_time = yapi.commons.time();
|
||||
let m = new this.model(data);
|
||||
return m.save();
|
||||
}
|
||||
|
||||
listAll() {
|
||||
return this.model
|
||||
.find({})
|
||||
.select(
|
||||
'_id uid project_id add_time up_time is_sync_open sync_cron sync_json_url sync_mode old_swagger_content last_sync_time'
|
||||
)
|
||||
.sort({ _id: -1 })
|
||||
.exec();
|
||||
}
|
||||
|
||||
up(data) {
|
||||
let id = data.id;
|
||||
delete data.id;
|
||||
data.up_time = yapi.commons.time();
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, data)
|
||||
}
|
||||
|
||||
upById(id, data) {
|
||||
delete data.id;
|
||||
data.up_time = yapi.commons.time();
|
||||
return this.model.update({
|
||||
_id: id
|
||||
}, data)
|
||||
}
|
||||
|
||||
del(id){
|
||||
return this.model.remove({
|
||||
_id: id
|
||||
})
|
||||
}
|
||||
|
||||
delByProjectId(projectId){
|
||||
return this.model.remove({
|
||||
project_id: projectId
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = syncModel;
|
||||
Reference in New Issue
Block a user