UNPKG

irest-app-test

Version:

iRest is a zero-configuration application that allows you to easily create/manage APIs, generate random data on demand and perform operations on that data using REST interface.

3 lines 4.27 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")),_defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty")),_responseHelper=_interopRequireDefault(require("../../../helpers/responseHelper")),_messages=require("../../../constants/messages"),_schemaDefaults=require("../../../constants/schemaDefaults"),_logger=_interopRequireDefault(require("../../../logger")),_sqliteConf=_interopRequireDefault(require("../../../sqliteConf"));function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){(0,_defineProperty2["default"])(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var _require=require("sequelize"),Op=_require.Op,_process$env=process.env,API_BASE_URL=_process$env.API_BASE_URL,MOCK_BASE_URL=_process$env.MOCK_BASE_URL;function list(a,b){var c=_sqliteConf["default"].Mock,d=a.body.userId,e=a.query,f=e.limit,g=void 0===f?10:f,h=e.offset,i=void 0===h?0:h,j=e.existing,k=e.projectId,l=e.sortBy,m=e.order,n=e.projectName,o=e.serviceResponseType,p=e.search,q=e.all,r={where:{}};j&&"true"===j&&(r.where.serviceResponseType=_schemaDefaults.serviceResponseType.SAVE,r.where.method=_schemaDefaults.mockMethodList.POST),d&&(r.where.userId=d),k&&(r.where.projectId=k),n&&(r.where.projectName=n),o&&(r.where.serviceResponseType=o);// sorting and pagination var s={};if(r.limit=parseInt(g,10),r.offset=parseInt(i,10),"true"===q&&(delete r.limit,delete r.offset),l&&m){var t=(0,_defineProperty2["default"])({},l,m);// sortBy user params s.sort=t}else r.order=[["updatedAt","DESC"]];c.count(r).then(function(d){if(0===d)return a.responseMessage=_messages.mockListMessage,a.statusCode=200,a.responseData={mockList:[],totalMocks:d},(0,_responseHelper["default"])(a,b);if(!p)r.attributes=["_id","projectName","projectId","endpoint","statusCode","mockName","mockStatus","serviceResponseType","allowedMethods","path","authenticationType"],c.findAll(r).then(function(c){return Array.prototype.forEach.call(c,function(a){a.endpoint="".concat(API_BASE_URL).concat(MOCK_BASE_URL,"/").concat(a.endpoint),a.allowedMethods=JSON.parse(a.allowedMethods)}),a.responseMessage=_messages.mockListMessage,a.statusCode=200,a.responseData={mockList:c,totalMocks:d},(0,_responseHelper["default"])(a,b)})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)});else{var e,f=null===p||void 0===p?void 0:p.trim();r.where=_objectSpread((0,_defineProperty2["default"])({},Op.or,[{projectName:(0,_defineProperty2["default"])({},Op.like,"%".concat(f,"%"))},{mockName:(0,_defineProperty2["default"])({},Op.like,"%".concat(f,"%"))}]),r.where),s={where:r.where,attributes:["_id","projectName","projectId","endpoint","statusCode","mockName","mockStatus","serviceResponseType","allowedMethods","path","authenticationType"]},c.findAll(s).then(function(c){e=c.length;var d=(0,_toConsumableArray2["default"])(c);return Array.prototype.forEach.call(d,function(a){a.endpoint="".concat(API_BASE_URL).concat(MOCK_BASE_URL,"/").concat(a.endpoint),a.allowedMethods=JSON.parse(a.allowedMethods)}),(r.projectName&&0<r.projectName.length||r.serviceResponseType&&0<r.serviceResponseType.length)&&(e=d.length),a.responseMessage=_messages.mockListMessage,a.statusCode=200,a.responseData={mockList:d,totalMocks:e},(0,_responseHelper["default"])(a,b)})["catch"](function(c){return _logger["default"].error(c),(0,_responseHelper["default"])(a,b)})}})["catch"](function(c){return _logger["default"].error(c),a.statusCode=400,a.responseMessage=_messages.badRequestMessage,(0,_responseHelper["default"])(a,b)})}var _default=list;exports["default"]=_default;