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