From 0e8fccd11f7843a9ca1ae5816b853efd9f0e1b27 Mon Sep 17 00:00:00 2001 From: kube-js Date: Mon, 20 May 2019 21:02:22 +0100 Subject: [PATCH 1/3] added default sort --- dist/FacadeConfig.d.ts | 3 ++- dist/FactoryConfig.d.ts | 3 ++- dist/factory.d.ts | 2 +- dist/factory.js | 5 +++-- dist/factory.js.map | 2 +- dist/functions/createItem/index.js | 1 + dist/functions/createItem/index.js.map | 2 +- dist/functions/getItems/index.js | 5 ++++- dist/functions/getItems/index.js.map | 2 +- src/FacadeConfig.ts | 3 ++- src/FactoryConfig.ts | 3 ++- src/factory.ts | 29 ++++++++++---------------- src/functions/getItems/index.ts | 11 +++++++--- 13 files changed, 39 insertions(+), 32 deletions(-) diff --git a/dist/FacadeConfig.d.ts b/dist/FacadeConfig.d.ts index 7e52106..324bad8 100644 --- a/dist/FacadeConfig.d.ts +++ b/dist/FacadeConfig.d.ts @@ -1,4 +1,4 @@ -import { Item } from '@js-items/foundation'; +import { Item, Sort } from '@js-items/foundation'; import Facade from '@js-items/foundation/dist/Facade'; import CreateFilter from './types/CreateFilter'; import CreatePatch from './types/CreatePatch'; @@ -34,5 +34,6 @@ export default interface FacadeConfig { readonly beforeDeleteItems?: TransactionHandler; readonly defaultTransactionHandler: TransactionHandler; readonly defaultPaginationLimit: number; + readonly defaultSort: Sort; readonly service: Facade; } diff --git a/dist/FactoryConfig.d.ts b/dist/FactoryConfig.d.ts index 7fc3371..dfe7775 100644 --- a/dist/FactoryConfig.d.ts +++ b/dist/FactoryConfig.d.ts @@ -1,4 +1,4 @@ -import { Item } from '@js-items/foundation'; +import { Item, Sort } from '@js-items/foundation'; import Facade from '@js-items/foundation/dist/Facade'; import CreateFilter from './types/CreateFilter'; import CreatePatch from './types/CreatePatch'; @@ -8,6 +8,7 @@ import RequestHandlerFactory from './types/RequestHandlerFactory'; import TransactionHandler from './types/TransactionHandler'; export default interface FactoryConfig { readonly dataKeyName?: string; + readonly defaultSort?: Sort; readonly enableJsonBodyParser?: boolean; readonly serverSideGeneratedIds?: boolean; readonly totalHeaderName?: string; diff --git a/dist/factory.d.ts b/dist/factory.d.ts index e183db5..16b3fd4 100644 --- a/dist/factory.d.ts +++ b/dist/factory.d.ts @@ -1,5 +1,5 @@ import { Item } from '@js-items/foundation'; import { Router } from 'express'; import FactoryConfig from './FactoryConfig'; -declare const _default: ({ deleteItem, deleteItems, getItem, getItems, updateItem, replaceItem, createItem, totalHeaderName, hasAfterHeaderName, afterHeaderName, hasBeforeHeaderName, beforeHeaderName, afterKey, beforeKey, hasBeforeKey, hasAfterKey, totalKey, paginationKey, envelopParamName, prettyParamName, dataKeyName, serverSideGeneratedIds, ...config }: FactoryConfig) => Router; +declare const _default: ({ deleteItem, deleteItems, getItem, getItems, updateItem, replaceItem, createItem, totalHeaderName, hasAfterHeaderName, defaultSort, afterHeaderName, hasBeforeHeaderName, beforeHeaderName, afterKey, beforeKey, hasBeforeKey, hasAfterKey, totalKey, paginationKey, envelopParamName, prettyParamName, dataKeyName, serverSideGeneratedIds, ...config }: FactoryConfig) => Router; export default _default; diff --git a/dist/factory.js b/dist/factory.js index ed008f2..98ec118 100644 --- a/dist/factory.js +++ b/dist/factory.js @@ -35,7 +35,8 @@ var replaceItem_1 = __importDefault(require("./functions/replaceItem")); var updateItem_1 = __importDefault(require("./functions/updateItem")); var defaultTransactionHandler_1 = __importDefault(require("./utils/defaultTransactionHandler")); exports.default = (function (_a) { - var deleteItem = _a.deleteItem, deleteItems = _a.deleteItems, getItem = _a.getItem, getItems = _a.getItems, updateItem = _a.updateItem, replaceItem = _a.replaceItem, createItem = _a.createItem, totalHeaderName = _a.totalHeaderName, hasAfterHeaderName = _a.hasAfterHeaderName, afterHeaderName = _a.afterHeaderName, hasBeforeHeaderName = _a.hasBeforeHeaderName, beforeHeaderName = _a.beforeHeaderName, afterKey = _a.afterKey, beforeKey = _a.beforeKey, hasBeforeKey = _a.hasBeforeKey, hasAfterKey = _a.hasAfterKey, totalKey = _a.totalKey, paginationKey = _a.paginationKey, envelopParamName = _a.envelopParamName, prettyParamName = _a.prettyParamName, dataKeyName = _a.dataKeyName, serverSideGeneratedIds = _a.serverSideGeneratedIds, config = __rest(_a, ["deleteItem", "deleteItems", "getItem", "getItems", "updateItem", "replaceItem", "createItem", "totalHeaderName", "hasAfterHeaderName", "afterHeaderName", "hasBeforeHeaderName", "beforeHeaderName", "afterKey", "beforeKey", "hasBeforeKey", "hasAfterKey", "totalKey", "paginationKey", "envelopParamName", "prettyParamName", "dataKeyName", "serverSideGeneratedIds"]); + var deleteItem = _a.deleteItem, deleteItems = _a.deleteItems, getItem = _a.getItem, getItems = _a.getItems, updateItem = _a.updateItem, replaceItem = _a.replaceItem, createItem = _a.createItem, totalHeaderName = _a.totalHeaderName, hasAfterHeaderName = _a.hasAfterHeaderName, defaultSort = _a.defaultSort, afterHeaderName = _a.afterHeaderName, hasBeforeHeaderName = _a.hasBeforeHeaderName, beforeHeaderName = _a.beforeHeaderName, afterKey = _a.afterKey, beforeKey = _a.beforeKey, hasBeforeKey = _a.hasBeforeKey, hasAfterKey = _a.hasAfterKey, totalKey = _a.totalKey, paginationKey = _a.paginationKey, envelopParamName = _a.envelopParamName, prettyParamName = _a.prettyParamName, dataKeyName = _a.dataKeyName, serverSideGeneratedIds = _a.serverSideGeneratedIds, config = __rest(_a, ["deleteItem", "deleteItems", "getItem", "getItems", "updateItem", "replaceItem", "createItem", "totalHeaderName", "hasAfterHeaderName", "defaultSort", "afterHeaderName", "hasBeforeHeaderName", "beforeHeaderName", "afterKey", "beforeKey", "hasBeforeKey", "hasAfterKey", "totalKey", "paginationKey", "envelopParamName", "prettyParamName", "dataKeyName", "serverSideGeneratedIds"]); + var customDefaultSort = defaultTo_1.default({ id: 'desc' })(defaultSort); var customTotalHeaderName = defaultTo_1.default('x-total-count')(totalHeaderName); var customHasBeforeHeaderName = defaultTo_1.default('x-has-before')(hasBeforeHeaderName); var customBeforeHeaderName = defaultTo_1.default('x-before-cursor')(beforeHeaderName); @@ -63,7 +64,7 @@ exports.default = (function (_a) { }, createPatch: function (_a) { var document = _a.document; return document; - }, dataKeyName: customDataKeyName, defaultPaginationLimit: 10, defaultTransactionHandler: defaultTransactionHandler_1.default, envelopeParamName: customEnvelopParamName, hasAfterHeaderName: customHasAfterHeaderName, hasAfterKey: customHasAfterKey, hasBeforeHeaderName: customHasBeforeHeaderName, hasBeforeKey: customHasBeforeKey, paginationKey: customPaginationKey, prettyParamName: customPrettyParamName, serverSideGeneratedIds: customServerSideGeneratedIds, totalHeaderName: customTotalHeaderName, totalKey: customTotalKey }, config); + }, dataKeyName: customDataKeyName, defaultPaginationLimit: 10, defaultSort: customDefaultSort, defaultTransactionHandler: defaultTransactionHandler_1.default, envelopeParamName: customEnvelopParamName, hasAfterHeaderName: customHasAfterHeaderName, hasAfterKey: customHasAfterKey, hasBeforeHeaderName: customHasBeforeHeaderName, hasBeforeKey: customHasBeforeKey, paginationKey: customPaginationKey, prettyParamName: customPrettyParamName, serverSideGeneratedIds: customServerSideGeneratedIds, totalHeaderName: customTotalHeaderName, totalKey: customTotalKey }, config); var router = express_1.Router(); var bodyParserEnabled = defaultTo_1.default(true)(config.enableJsonBodyParser); if (bodyParserEnabled) { diff --git a/dist/factory.js.map b/dist/factory.js.map index ce1433d..69b7eee 100644 --- a/dist/factory.js.map +++ b/dist/factory.js.map @@ -1 +1 @@ -{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/functions/createItem/index.js b/dist/functions/createItem/index.js index 92d5480..33cd1a4 100644 --- a/dist/functions/createItem/index.js +++ b/dist/functions/createItem/index.js @@ -76,6 +76,7 @@ var createItem = function (config) { return function (req, res) { return __await })]; case 1: item = (_a.sent()).item; + req.body.id = id; sendResponse_1.default({ config: config, req: req, diff --git a/dist/functions/createItem/index.js.map b/dist/functions/createItem/index.js.map index e5d19ca..69dc898 100644 --- a/dist/functions/createItem/index.js.map +++ b/dist/functions/createItem/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/createItem/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAuCA;;AArCA,uDAA4C;AAC5C,kEAA6C;AAC7C,6BAAkC;AAGlC,0EAAoD;AAEpD,IAAM,UAAU,GAA0B,UACxC,MAAuB,IACpB,OAAA,UAAO,GAAY,EAAE,GAAa;;;;;;gBAC/B,kBAAkB,GAAG,mBAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CACrE,MAAM,CAAC,gBAAgB,CACxB,CAAC;gBAEI,EAAE,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEhE,qBAAM,kBAAkB,CAAC,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,EAAE;;;;wCACpB,qBAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;wCAC/C,EAAE,IAAA;wCACF,IAAI,EAAE,MAAM,CAAC,uBAAuB,CAAC;4CACnC,QAAQ,eAAO,GAAG,CAAC,IAAI,IAAE,EAAE,IAAA,GAAE;4CAC7B,GAAG,KAAA;4CACH,GAAG,KAAA;yCACJ,CAAC;qCACH,CAAC,EAAA;;oCAPM,IAAI,GAAK,CAAA,SAOf,CAAA,KAPU;oCASZ,sBAAY,CAAC;wCACX,MAAM,QAAA;wCACN,GAAG,KAAA;wCACH,GAAG,KAAA;wCACH,cAAc,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,CAAC;wCAClE,MAAM,EAAE,2BAAO;qCAChB,CAAC,CAAC;;;;yBACJ,CAAC,EAAA;;gBAjBF,SAiBE,CAAC;;;;KACJ,EAzBI,CAyBJ,CAAC;AAEF,kBAAe,UAAU,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/createItem/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAyCA;;AAvCA,uDAA4C;AAC5C,kEAA6C;AAC7C,6BAAkC;AAGlC,0EAAoD;AAEpD,IAAM,UAAU,GAA0B,UACxC,MAAuB,IACpB,OAAA,UAAO,GAAY,EAAE,GAAa;;;;;;gBAC/B,kBAAkB,GAAG,mBAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CACrE,MAAM,CAAC,gBAAgB,CACxB,CAAC;gBAEI,EAAE,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,SAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAEhE,qBAAM,kBAAkB,CAAC,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,EAAE;;;;wCACpB,qBAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;wCAC/C,EAAE,IAAA;wCACF,IAAI,EAAE,MAAM,CAAC,uBAAuB,CAAC;4CACnC,QAAQ,eAAO,GAAG,CAAC,IAAI,IAAE,EAAE,IAAA,GAAE;4CAC7B,GAAG,KAAA;4CACH,GAAG,KAAA;yCACJ,CAAC;qCACH,CAAC,EAAA;;oCAPM,IAAI,GAAK,CAAA,SAOf,CAAA,KAPU;oCASZ,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;oCAEjB,sBAAY,CAAC;wCACX,MAAM,QAAA;wCACN,GAAG,KAAA;wCACH,GAAG,KAAA;wCACH,cAAc,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,CAAC;wCAClE,MAAM,EAAE,2BAAO;qCAChB,CAAC,CAAC;;;;yBACJ,CAAC,EAAA;;gBAnBF,SAmBE,CAAC;;;;KACJ,EA3BI,CA2BJ,CAAC;AAEF,kBAAe,UAAU,CAAC"} \ No newline at end of file diff --git a/dist/functions/getItems/index.js b/dist/functions/getItems/index.js index 5618f4a..ec66569 100644 --- a/dist/functions/getItems/index.js +++ b/dist/functions/getItems/index.js @@ -42,6 +42,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var boolean_1 = __importDefault(require("boolean")); var http_status_codes_1 = require("http-status-codes"); var defaultTo_1 = __importDefault(require("ramda/src/defaultTo")); +var isNil_1 = __importDefault(require("ramda/src/isNil")); var getJsonQueryParam_1 = __importDefault(require("../../utils/getJsonQueryParam")); var getNumberQueryParam_1 = __importDefault(require("../../utils/getNumberQueryParam")); var sendResponse_1 = __importDefault(require("../../utils/sendResponse")); @@ -58,7 +59,9 @@ var getItems = function (config) { return function (req, res) { return __awaiter switch (_e.label) { case 0: filter = getJsonQueryParam_1.default(req.query, 'filter'); - sort = getJsonQueryParam_1.default(req.query, 'sort'); + sort = !isNil_1.default(req.query.sort) + ? getJsonQueryParam_1.default(req.query, 'sort') + : config.defaultSort; limit = getNumberQueryParam_1.default(req.query, 'limit', config.defaultPaginationLimit); createdFilter = config.createFilter({ filter: filter, req: req, res: res }); return [4 /*yield*/, config.service.getItems({ diff --git a/dist/functions/getItems/index.js.map b/dist/functions/getItems/index.js.map index c676a39..b6246f8 100644 --- a/dist/functions/getItems/index.js.map +++ b/dist/functions/getItems/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/getItems/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/getItems/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/FacadeConfig.ts b/src/FacadeConfig.ts index 371f952..0988466 100644 --- a/src/FacadeConfig.ts +++ b/src/FacadeConfig.ts @@ -1,4 +1,4 @@ -import { Item } from '@js-items/foundation'; +import { Item, Sort } from '@js-items/foundation'; import Facade from '@js-items/foundation/dist/Facade'; import CreateFilter from './types/CreateFilter'; import CreatePatch from './types/CreatePatch'; @@ -35,5 +35,6 @@ export default interface FacadeConfig { readonly beforeDeleteItems?: TransactionHandler; readonly defaultTransactionHandler: TransactionHandler; readonly defaultPaginationLimit: number; + readonly defaultSort: Sort; readonly service: Facade; } diff --git a/src/FactoryConfig.ts b/src/FactoryConfig.ts index 4f610c4..a34ab17 100644 --- a/src/FactoryConfig.ts +++ b/src/FactoryConfig.ts @@ -1,4 +1,4 @@ -import { Item } from '@js-items/foundation'; +import { Item, Sort } from '@js-items/foundation'; import Facade from '@js-items/foundation/dist/Facade'; import CreateFilter from './types/CreateFilter'; import CreatePatch from './types/CreatePatch'; @@ -9,6 +9,7 @@ import TransactionHandler from './types/TransactionHandler'; export default interface FactoryConfig { readonly dataKeyName?: string; + readonly defaultSort?: Sort; readonly enableJsonBodyParser?: boolean; readonly serverSideGeneratedIds?: boolean; readonly totalHeaderName?: string; diff --git a/src/factory.ts b/src/factory.ts index 8e8c2cd..1e7a1d7 100644 --- a/src/factory.ts +++ b/src/factory.ts @@ -1,4 +1,4 @@ -import { Item } from '@js-items/foundation'; +import { Item, Sort } from '@js-items/foundation'; import { json } from 'body-parser'; import { Router } from 'express'; import _defaultTo from 'ramda/src/defaultTo'; @@ -23,6 +23,7 @@ export default ({ createItem, totalHeaderName, hasAfterHeaderName, + defaultSort, afterHeaderName, hasBeforeHeaderName, beforeHeaderName, @@ -38,6 +39,7 @@ export default ({ serverSideGeneratedIds, ...config }: FactoryConfig): Router => { + const customDefaultSort = _defaultTo({ id: 'desc' })(defaultSort) as Sort; const customTotalHeaderName = _defaultTo('x-total-count')(totalHeaderName); const customHasBeforeHeaderName = _defaultTo('x-has-before')( hasBeforeHeaderName @@ -50,31 +52,21 @@ export default ({ ); const customAfterHeaderName = _defaultTo('x-after-cursor')(afterHeaderName); const customTotalKey = _defaultTo('total_count')(totalKey); - const customHasBeforeKey = _defaultTo('has_before')( - hasBeforeKey - ); + const customHasBeforeKey = _defaultTo('has_before')(hasBeforeKey); - const customServerSideGeneratedIds = _defaultTo(true)( - serverSideGeneratedIds - ); + const customServerSideGeneratedIds = _defaultTo(true)(serverSideGeneratedIds); - const customBeforeKey = _defaultTo('before')( - beforeKey - ); + const customBeforeKey = _defaultTo('before')(beforeKey); - const customHasAfterKey = _defaultTo('has_after')( - hasAfterKey - ); + const customHasAfterKey = _defaultTo('has_after')(hasAfterKey); - const customAfterKey = _defaultTo('after')( - afterKey - ); + const customAfterKey = _defaultTo('after')(afterKey); const customEnvelopParamName = _defaultTo('envelope')(envelopParamName); const customPaginationKey = _defaultTo('pagination')(paginationKey); const customPrettyParamName = _defaultTo('pretty')(prettyParamName); const customDataKeyName = _defaultTo('data', dataKeyName); - + const facadeConfig: FacadeConfig = { afterHeaderName: customAfterHeaderName, afterKey: customAfterKey, @@ -86,6 +78,7 @@ export default ({ createPatch: ({ document }) => document, dataKeyName: customDataKeyName, defaultPaginationLimit: 10, + defaultSort: customDefaultSort, defaultTransactionHandler, envelopeParamName: customEnvelopParamName, hasAfterHeaderName: customHasAfterHeaderName, @@ -124,5 +117,5 @@ export default ({ router.post('', createItemFactory(facadeConfig)); return router; -// tslint:disable-next-line:max-file-line-count + // tslint:disable-next-line:max-file-line-count }; diff --git a/src/functions/getItems/index.ts b/src/functions/getItems/index.ts index 9a375f5..583ebf5 100644 --- a/src/functions/getItems/index.ts +++ b/src/functions/getItems/index.ts @@ -4,6 +4,7 @@ import { Request, Response } from 'express'; import { OutgoingHttpHeaders } from 'http'; import { OK } from 'http-status-codes'; import _defaultTo from 'ramda/src/defaultTo'; +import _isNil from 'ramda/src/isNil'; import FacadeConfig from '../../FacadeConfig'; import RequestHandlerFactory from '../../types/RequestHandlerFactory'; import getJsonQueryParam from '../../utils/getJsonQueryParam'; @@ -19,7 +20,11 @@ const getItems: RequestHandlerFactory = ( await transactionHandler({ req, res }, async () => { const filter = getJsonQueryParam(req.query, 'filter'); - const sort = getJsonQueryParam(req.query, 'sort'); + + const sort = !_isNil(req.query.sort) + ? getJsonQueryParam(req.query, 'sort') + : config.defaultSort; + const limit = getNumberQueryParam( req.query, 'limit', @@ -55,8 +60,8 @@ const getItems: RequestHandlerFactory = ( const nestedObject = { [config.paginationKey]: { - [config.afterKey]: cursor.after, - [config.beforeKey]: cursor.before , + [config.afterKey]: cursor.after, + [config.beforeKey]: cursor.before, [config.hasBeforeKey]: cursor.hasBefore, [config.hasAfterKey]: cursor.hasAfter, [config.totalKey]: totalCount, From 92aa495edc63c4357469d622d053f1972f93f447 Mon Sep 17 00:00:00 2001 From: kube-js Date: Mon, 20 May 2019 21:07:36 +0100 Subject: [PATCH 2/3] fix: added default sort --- src/functions/getItems/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/functions/getItems/index.ts b/src/functions/getItems/index.ts index 583ebf5..3c7a6cb 100644 --- a/src/functions/getItems/index.ts +++ b/src/functions/getItems/index.ts @@ -30,6 +30,7 @@ const getItems: RequestHandlerFactory = ( 'limit', config.defaultPaginationLimit ); + const createdFilter = config.createFilter({ filter, req, res }); const { cursor, items } = await config.service.getItems({ From 6d62f75860f080e70e110650649fdbdfa9e26eb1 Mon Sep 17 00:00:00 2001 From: kube-js Date: Tue, 21 May 2019 18:51:26 +0100 Subject: [PATCH 3/3] added default sort --- assets/jscpd-badge.svg | 4 ++-- dist/functions/getItems/index.js.map | 2 +- src/functions/getItems/index.ts | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/assets/jscpd-badge.svg b/assets/jscpd-badge.svg index 724b17a..a7178c9 100644 --- a/assets/jscpd-badge.svg +++ b/assets/jscpd-badge.svg @@ -12,8 +12,8 @@ Copy/Paste Copy/Paste - 5.89% - 5.89% + 5.88% + 5.88% \ No newline at end of file diff --git a/dist/functions/getItems/index.js.map b/dist/functions/getItems/index.js.map index b6246f8..4fc0a25 100644 --- a/dist/functions/getItems/index.js.map +++ b/dist/functions/getItems/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/getItems/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iBAiFA;;AAhFA,oDAA8B;AAG9B,uDAAuC;AACvC,kEAA6C;AAC7C,0DAAqC;AAGrC,oFAA8D;AAC9D,wFAAkE;AAClE,0EAAoD;AAEpD,IAAM,QAAQ,GAA0B,UACtC,MAAuB,IACpB,OAAA,UAAO,GAAY,EAAE,GAAa;;;;;;gBAC/B,kBAAkB,GAAG,mBAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CACrE,MAAM,CAAC,cAAc,CACtB,CAAC;gBAEF,qBAAM,kBAAkB,CAAC,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,EAAE;;;;;oCAC/B,MAAM,GAAG,2BAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;oCAEhD,IAAI,GAAG,CAAC,eAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;wCAClC,CAAC,CAAC,2BAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;wCACtC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;oCAEjB,KAAK,GAAG,6BAAmB,CAC/B,GAAG,CAAC,KAAK,EACT,OAAO,EACP,MAAM,CAAC,sBAAsB,CAC9B,CAAC;oCACI,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,QAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;oCAEtC,qBAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;4CACtD,MAAM,EAAE,aAAa;4CACrB,UAAU,EAAE;gDACV,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK;gDACtB,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM;gDACxB,KAAK,OAAA;6CACN;4CACD,IAAI,MAAA;yCACL,CAAC,EAAA;;oCARI,KAAoB,SAQxB,EARM,MAAM,YAAA,EAAE,KAAK,WAAA;oCAUS,qBAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;4CAC5D,MAAM,EAAE,aAAa;yCACtB,CAAC,EAAA;;oCAFa,UAAU,GAAK,CAAA,SAE5B,CAAA,MAFuB;oCAInB,eAAe;wCACnB,GAAC,MAAM,CAAC,eAAe,IAAG,MAAM,CAAC,KAAK;wCACtC,GAAC,MAAM,CAAC,gBAAgB,IAAG,MAAM,CAAC,MAAM;wCACxC,GAAC,MAAM,CAAC,mBAAmB,IAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE;wCACzD,GAAC,MAAM,CAAC,kBAAkB,IAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE;wCACvD,GAAC,MAAM,CAAC,eAAe,IAAG,UAAU;2CACrC,CAAC;oCAEI,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI;wCACjC,OAAA,MAAM,CAAC,uBAAuB,CAAC,EAAE,IAAI,MAAA,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,CAAC;oCAAlD,CAAkD,CACnD,CAAC;oCAEI,YAAY;wCAChB,GAAC,MAAM,CAAC,aAAa;4CACnB,GAAC,MAAM,CAAC,QAAQ,IAAG,MAAM,CAAC,KAAK;4CAC/B,GAAC,MAAM,CAAC,SAAS,IAAG,MAAM,CAAC,MAAM;4CACjC,GAAC,MAAM,CAAC,YAAY,IAAG,MAAM,CAAC,SAAS;4CACvC,GAAC,MAAM,CAAC,WAAW,IAAG,MAAM,CAAC,QAAQ;4CACrC,GAAC,MAAM,CAAC,QAAQ,IAAG,UAAU;+CAC9B;wCACD,GAAC,MAAM,CAAC,WAAW,IAAG,YAAY;2CACnC,CAAC;oCAEI,SAAS,GAAG,iBAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;oCAEzD,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;oCACzD,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;oCAEjD,sBAAY,CAAC,EAAE,GAAG,KAAA,EAAE,GAAG,KAAA,EAAE,MAAM,QAAA,EAAE,MAAM,EAAE,sBAAE,EAAE,OAAO,SAAA,EAAE,cAAc,gBAAA,EAAE,CAAC,CAAC;;;;yBACzE,CAAC,EAAA;;gBAzDF,SAyDE,CAAC;;;;KACJ,EA/DI,CA+DJ,CAAC;AAEF,kBAAe,QAAQ,CAAC"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/getItems/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/functions/getItems/index.ts b/src/functions/getItems/index.ts index 3c7a6cb..9d2ee75 100644 --- a/src/functions/getItems/index.ts +++ b/src/functions/getItems/index.ts @@ -23,14 +23,14 @@ const getItems: RequestHandlerFactory = ( const sort = !_isNil(req.query.sort) ? getJsonQueryParam(req.query, 'sort') - : config.defaultSort; - + : /* istanbul ignore next */ config.defaultSort; + const limit = getNumberQueryParam( req.query, 'limit', config.defaultPaginationLimit ); - + const createdFilter = config.createFilter({ filter, req, res }); const { cursor, items } = await config.service.getItems({