UNPKG

15.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"ListApi.js","names":["_env","require","_err","_interopRequireDefault","_tryJSONparse","_forEach","_get3","_mapValues","_pick","_set","_Api","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","ListApi","_BaseApi","_inherits2","_super","_classCallCheck2","_createClass2","value","getRoutes","_get2","count","bind","find","findOne","create","update","remove","cache","cb","getListParams","req","data","params","mapValues","pick","a","tryJSONparse","val","substr","set","limit","select","trim","split","map","Array","isArray","Err","view","countByParams","Model","incomeParams","undefined","systemParams","__getParams","countDocuments","__getSelect","get","_Model$views","views","concat","_toConsumableArray2","defaultParams","isDev","debug","includes","console","log","findByParams","res","sort","skip","_count","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","status","stop","_find","_callee2","_callee2$","_context2","_findOne","_callee3","_callee3$","_context3","_create","_callee4","_callee4$","_context4","_update","_callee5","_callee5$","_context5","_remove","_callee6","_callee6$","_context6","BaseApi","exports","_default"],"sources":["../src/ListApi.js"],"sourcesContent":["import { isDev } from '@lskjs/env';\nimport Err from '@lskjs/err';\nimport tryJSONparse from '@lskjs/utils/tryJSONparse';\nimport forEach from 'lodash/forEach';\nimport get from 'lodash/get';\nimport mapValues from 'lodash/mapValues';\nimport pick from 'lodash/pick';\nimport set from 'lodash/set';\n\nimport BaseApi from './Api';\n\nexport class ListApi extends BaseApi {\n getRoutes() {\n return {\n ...super.getRoutes(),\n '/count': this.count.bind(this),\n '/find': this.find.bind(this),\n '/list': this.find.bind(this),\n '/findOne': this.findOne.bind(this),\n '/get': this.findOne.bind(this),\n '/create': this.create.bind(this),\n '/update': this.update.bind(this),\n '/edit': this.update.bind(this),\n '/remove': this.remove.bind(this),\n '/delete': this.remove.bind(this),\n };\n }\n\n cache(key, cb) {\n return cb();\n }\n getListParams(req) {\n const { data } = req;\n const params = mapValues(pick(data, ['filter', 'sort', 'skip', 'limit', 'select', 'view', 'operation']), (a) =>\n tryJSONparse(a),\n );\n\n if (!params.filter) params.filter = {};\n if (req.data) {\n forEach(req.data, (val, key) => {\n if (key.substr(0, 'filter.'.length) === 'filter.') {\n set(params, key, val);\n }\n if (key.substr(0, 'sort.'.length) === 'sort.') {\n set(params, key, val);\n }\n });\n }\n if (params.limit > 100) params.limit = 100;\n if (!params.select) params.select = [];\n if (typeof params.select === 'string') {\n params.select = params.select\n .trim()\n .split(',')\n .map((a) => a.trim());\n }\n if (!Array.isArray(params.select)) throw new Err('select not array');\n if (!params.view) params.view = 'default';\n // params.operation = req.data.operation;\n\n return params;\n }\n\n countByParams(Model, incomeParams = {}, systemParams = {}) {\n const params = this.__getParams(Model, incomeParams, systemParams);\n return Model.countDocuments(params.filter);\n }\n __getSelect(Model, params = {}) {\n let select = get(params, 'select', get(params, 'req.data.select', []));\n const view = get(params, 'view', get(params, 'req.data.view', 'default'));\n if (typeof select === 'string') select = [select];\n const { views = {} } = Model;\n return [...(views[view] || []), ...(select || [])];\n }\n __getParams(Model, incomeParams = {}, systemParams = {}) {\n const params = {\n ...(Model.defaultParams || {}),\n ...pick(incomeParams, ['filter', 'sort', 'skip', 'limit', 'select', 'view']),\n };\n params.select = this.__getSelect(params);\n if (isDev && (incomeParams.debug || params.select.includes('*'))) {\n delete params.select;\n }\n if (params.limit > 100) {\n console.log('params.limit > 100'); //eslint-disable-line\n params.limit = 100;\n }\n return {\n ...params,\n ...systemParams,\n };\n }\n findByParams(Model, incomeParams = {}, systemParams = {}) {\n const params = this.__getParams(Model, incomeParams, systemParams);\n let res = Model.find(params.filter);\n if (params.sort) {\n res = res.sort(params.sort);\n }\n if (params.skip && +params.skip) {\n res = res.skip(+params.skip);\n }\n if (params.limit && +params.limit) {\n res = res.limit(+params.limit);\n }\n if (params.select) {\n res = res.select(params.select);\n }\n // if (params.then) {\n // res = params.then(res);\n // }\n // if (params.populate) {\n // res = res.populate(params.populate);\n // }\n // if (params.prepare) {\n // return this.prepare(res, params.prepare);\n // }\n return res;\n }\n\n async count() {\n throw new Err('api.notImplemented', { status: 500 });\n }\n async find() {\n throw new Err('api.notImplemented', { status: 500 });\n }\n async findOne() {\n throw new Err('api.notImplemented', { status: 500 });\n }\n async create() {\n throw new Err('api.notImplemented', { status: 500 });\n }\n async update() {\n throw new Err('api.notImplemented', { status: 500 });\n }\n async remove() {\n throw new Err('api.notImplemented', { status: 500 });\n }\n}\n\nexport default ListApi;\n"],"mappings":"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"}
\No newline at end of file