118 lines
2.0 KiB
JavaScript
Executable File
118 lines
2.0 KiB
JavaScript
Executable File
const yapi = require('../yapi.js');
|
|
const baseModel = require('./base.js');
|
|
|
|
class interfaceCol extends baseModel {
|
|
getName() {
|
|
return 'interface_col';
|
|
}
|
|
|
|
getSchema() {
|
|
return {
|
|
name: { type: String, required: true },
|
|
uid: { type: Number, required: true },
|
|
project_id: { type: Number, required: true },
|
|
desc: String,
|
|
add_time: Number,
|
|
up_time: Number,
|
|
index: { type: Number, default: 0 },
|
|
test_report: { type: String, default: '{}' },
|
|
checkHttpCodeIs200: {
|
|
type:Boolean,
|
|
default: false
|
|
},
|
|
checkResponseSchema: {
|
|
type:Boolean,
|
|
default: false
|
|
},
|
|
checkResponseField: {
|
|
name: {
|
|
type: String,
|
|
required: true,
|
|
default: "code"
|
|
},
|
|
value: {
|
|
type: String,
|
|
required: true,
|
|
default: "0"
|
|
},
|
|
enable: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
},
|
|
checkScript: {
|
|
content: {
|
|
type: String
|
|
},
|
|
enable: {
|
|
type: Boolean,
|
|
default: false
|
|
}
|
|
}
|
|
};
|
|
}
|
|
|
|
save(data) {
|
|
let m = new this.model(data);
|
|
return m.save();
|
|
}
|
|
|
|
get(id) {
|
|
return this.model
|
|
.findOne({
|
|
_id: id
|
|
})
|
|
.exec();
|
|
}
|
|
|
|
checkRepeat(name) {
|
|
return this.model.countDocuments({
|
|
name: name
|
|
});
|
|
}
|
|
|
|
list(project_id) {
|
|
return this.model
|
|
.find({
|
|
project_id: project_id
|
|
})
|
|
.select('name uid project_id desc add_time up_time, index')
|
|
.exec();
|
|
}
|
|
|
|
del(id) {
|
|
return this.model.remove({
|
|
_id: id
|
|
});
|
|
}
|
|
|
|
delByProjectId(id) {
|
|
return this.model.remove({
|
|
project_id: id
|
|
});
|
|
}
|
|
|
|
up(id, data) {
|
|
data.up_time = yapi.commons.time();
|
|
return this.model.update(
|
|
{
|
|
_id: id
|
|
},
|
|
data
|
|
);
|
|
}
|
|
|
|
upColIndex(id, index) {
|
|
return this.model.update(
|
|
{
|
|
_id: id
|
|
},
|
|
{
|
|
index: index
|
|
}
|
|
);
|
|
}
|
|
}
|
|
|
|
module.exports = interfaceCol;
|