mock平台

caseModel.js 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. const yapi = require('yapi.js');
  2. const baseModel = require('models/base.js');
  3. const mongoose = require('mongoose');
  4. class caseModel extends baseModel {
  5. getName() {
  6. return 'adv_mock_case';
  7. }
  8. getSchema() {
  9. return {
  10. interface_id: { type: Number, required: true },
  11. project_id: {type: Number, required: true},
  12. ip: {type: String},
  13. ip_enable: {type: Boolean, default: false},
  14. name: {type: String, required: true},
  15. code: {type: Number, default: 200},
  16. delay: {type: Number, default: 0},
  17. headers: [{
  18. name: {type: String, required: true},
  19. value: {type: String}
  20. }],
  21. params: mongoose.Schema.Types.Mixed,
  22. uid: String,
  23. up_time: Number,
  24. res_body: {type: String, required: true},
  25. case_enable: {type: Boolean, default: true}
  26. };
  27. }
  28. get(data) {
  29. return this.model.findOne(data);
  30. }
  31. list(id){
  32. return this.model.find({
  33. interface_id: id
  34. })
  35. }
  36. delByInterfaceId(interface_id) {
  37. return this.model.remove({
  38. interface_id: interface_id
  39. });
  40. }
  41. delByProjectId(project_id){
  42. return this.model.remove({
  43. project_id: project_id
  44. })
  45. }
  46. save(data) {
  47. data.up_time = yapi.commons.time();
  48. let m = new this.model(data);
  49. return m.save();
  50. }
  51. up(data) {
  52. let id = data.id;
  53. delete data.id;
  54. data.up_time = yapi.commons.time();
  55. return this.model.update({
  56. _id: id
  57. }, data)
  58. }
  59. del(id){
  60. return this.model.remove({
  61. _id: id
  62. })
  63. }
  64. }
  65. module.exports = caseModel;