@tc-libs/pagination 5.4.1 → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/pipes/pagination.filter-contain.pipe.js +2 -0
- package/src/pipes/pagination.filter-contain.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-date.pipe.js +2 -0
- package/src/pipes/pagination.filter-date.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-equal-object-id.pipe.js +2 -0
- package/src/pipes/pagination.filter-equal-object-id.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-equal.pipe.js +2 -0
- package/src/pipes/pagination.filter-equal.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-in-boolean.pipe.js +2 -0
- package/src/pipes/pagination.filter-in-boolean.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-in-enum.pipe.js +2 -0
- package/src/pipes/pagination.filter-in-enum.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-in-string.pipe.js +5 -0
- package/src/pipes/pagination.filter-in-string.pipe.js.map +1 -1
- package/src/pipes/pagination.filter-not-object-id.pipe.js +2 -0
- package/src/pipes/pagination.filter-not-object-id.pipe.js.map +1 -1
- package/src/pipes/pagination.order.pipe.js +18 -1
- package/src/pipes/pagination.order.pipe.js.map +1 -1
- package/src/pipes/pagination.paging.pipe.js +18 -2
- package/src/pipes/pagination.paging.pipe.js.map +1 -1
- package/src/pipes/pagination.query-value.d.ts +1 -0
- package/src/pipes/pagination.query-value.js +12 -0
- package/src/pipes/pagination.query-value.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tc-libs/pagination",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.5.1",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@tc-libs/errors": "5.
|
|
6
|
-
"@tc-libs/helper": "5.
|
|
5
|
+
"@tc-libs/errors": "5.5.1",
|
|
6
|
+
"@tc-libs/helper": "5.5.1",
|
|
7
7
|
"express": "5.0.1",
|
|
8
8
|
"lodash": "^4.17.21",
|
|
9
9
|
"tslib": "^2.8.1"
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
9
10
|
function PaginationFilterContainPipe(options) {
|
|
10
11
|
let MixinPaginationFilterContainPipe = class MixinPaginationFilterContainPipe {
|
|
11
12
|
constructor(request, paginationService) {
|
|
@@ -16,6 +17,7 @@ function PaginationFilterContainPipe(options) {
|
|
|
16
17
|
if (!field) {
|
|
17
18
|
return undefined;
|
|
18
19
|
}
|
|
20
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
19
21
|
if (!value) {
|
|
20
22
|
value = '';
|
|
21
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-contain.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-contain.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.filter-contain.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-contain.pipe.ts"],"names":[],"mappings":";;AAgBA,kEAmDC;;AAlED,2CAQwB;AACxB,uCAAuC;AACvC,4CAAmE;AAEnE,uEAAmE;AACnE,qEAA6D;AAE7D,SAAgB,2BAA2B,CACzC,OAA+C;IAE/C,IACM,gCAAgC,GADtC,MACM,gCAAgC;QACpC,YAEqB,OAAqC,EACvC,iBAAoC;YADlC,YAAO,GAAP,OAAO,CAA8B;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAIjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG,EAAE,CAAC;YACb,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAAE,CAAC;gBACpE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;iBAAM,IACL,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAC/D,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,KAAK;aACf,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;KACF,CAAA;IA5CK,gCAAgC;QADrC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;OAJnD,gCAAgC,CA4CrC;IAED,OAAO,IAAA,cAAK,EAAC,gCAAgC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
9
10
|
const helper_1 = require("@tc-libs/helper");
|
|
10
11
|
function PaginationFilterDatePipe(options) {
|
|
11
12
|
let MixinPaginationFilterDatePipe = class MixinPaginationFilterDatePipe {
|
|
@@ -18,6 +19,7 @@ function PaginationFilterDatePipe(options) {
|
|
|
18
19
|
if (!value || !field) {
|
|
19
20
|
return undefined;
|
|
20
21
|
}
|
|
22
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
21
23
|
let date = this.helperDateService.create(value);
|
|
22
24
|
if (options?.time === constants_1.ENUM_PAGINATION_FILTER_DATE_TIME_OPTIONS.END_OF_DAY) {
|
|
23
25
|
date = this.helperDateService.endOfDay(date);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-date.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-date.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.filter-date.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-date.pipe.ts"],"names":[],"mappings":";;AAiBA,4DA2CC;;AA3DD,2CAQwB;AACxB,uCAAuC;AACvC,4CAAwE;AAExE,uEAAmE;AACnE,qEAA6D;AAC7D,4CAA8C;AAE9C,SAAgB,wBAAwB,CACtC,OAAsC;IAEtC,IACM,6BAA6B,GADnC,MACM,6BAA6B;QACjC,YAEqB,OAAqC,EACvC,iBAAoC,EACpC,iBAA8B;YAF5B,YAAO,GAAP,OAAO,CAA8B;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,sBAAiB,GAAjB,iBAAiB,CAAa;QAC9C,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEhC,IAAI,IAAI,GAAS,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEtD,IACE,OAAO,EAAE,IAAI,KAAK,oDAAwC,CAAC,UAAU,EACrE,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;iBAAM,IACL,OAAO,EAAE,IAAI,KAAK,oDAAwC,CAAC,YAAY,EACvE,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,KAAK;aACf,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;KACF,CAAA;IApCK,6BAA6B;QADlC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;YACjB,oBAAW;OAL7C,6BAA6B,CAoClC;IAED,OAAO,IAAA,cAAK,EAAC,6BAA6B,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const mongoose_1 = require("mongoose");
|
|
8
8
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
9
10
|
let PaginationFilterEqualObjectIdPipe = class PaginationFilterEqualObjectIdPipe {
|
|
10
11
|
constructor(request, paginationService) {
|
|
11
12
|
this.request = request;
|
|
@@ -15,6 +16,7 @@ let PaginationFilterEqualObjectIdPipe = class PaginationFilterEqualObjectIdPipe
|
|
|
15
16
|
if (!value || !field) {
|
|
16
17
|
return undefined;
|
|
17
18
|
}
|
|
19
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
18
20
|
const values = value.trim().split(',');
|
|
19
21
|
const finalValues = values.map((v) => mongoose_1.Types.ObjectId.isValid(v) ? new mongoose_1.Types.ObjectId(v) : v);
|
|
20
22
|
this.request.__filters = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-equal-object-id.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-equal-object-id.pipe.ts"],"names":[],"mappings":";;;;AACA,2CAMwB;AACxB,uCAAuC;AACvC,uCAAiC;AACjC,uEAAmE;
|
|
1
|
+
{"version":3,"file":"pagination.filter-equal-object-id.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-equal-object-id.pipe.ts"],"names":[],"mappings":";;;;AACA,2CAMwB;AACxB,uCAAuC;AACvC,uCAAiC;AACjC,uEAAmE;AACnE,qEAA6D;AAGtD,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;IAC5C,YAEqB,OAAqC,EACvC,iBAAoC;QADlC,YAAO,GAAP,OAAO,CAA8B;QACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;QAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,gBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;YACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;YACzB,CAAC,KAAK,CAAC,EAAE,MAAM;SAChB,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACvC,KAAK,EACL,WAAW,CACZ,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,8EAAiC;4CAAjC,iCAAiC;IAD7C,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;IAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;qDAEoB,sCAAiB;GAJ5C,iCAAiC,CA+B7C"}
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const constants_1 = require("../constants");
|
|
8
8
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
9
10
|
const helper_1 = require("@tc-libs/helper");
|
|
10
11
|
function PaginationFilterEqualPipe(options) {
|
|
11
12
|
let MixinPaginationFilterEqualPipe = class MixinPaginationFilterEqualPipe {
|
|
@@ -18,6 +19,7 @@ function PaginationFilterEqualPipe(options) {
|
|
|
18
19
|
if (!value || !field) {
|
|
19
20
|
return undefined;
|
|
20
21
|
}
|
|
22
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
21
23
|
if (options?.case === constants_1.ENUM_PAGINATION_FILTER_CASE_OPTIONS.UPPERCASE) {
|
|
22
24
|
value = value.toUpperCase();
|
|
23
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-equal.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-equal.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.filter-equal.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-equal.pipe.ts"],"names":[],"mappings":";;AAiBA,8DAmDC;;AAnED,2CAQwB;AACxB,uCAAuC;AACvC,4CAAmE;AAEnE,uEAAmE;AACnE,qEAA6D;AAC7D,4CAAgD;AAEhD,SAAgB,yBAAyB,CACvC,OAA6C;IAE7C,IACM,8BAA8B,GADpC,MACM,8BAA8B;QAClC,YAEqB,OAAqC,EACvC,iBAAoC,EACpC,OAAsB;YAFpB,YAAO,GAAP,OAAO,CAA8B;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;YACpC,YAAO,GAAP,OAAO,CAAe;QACtC,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAEhC,IAAI,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAAE,CAAC;gBACpE,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;iBAAM,IACL,OAAO,EAAE,IAAI,KAAK,+CAAmC,CAAC,SAAS,EAC/D,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;YAC9B,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;gBAClB,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YACvB,CAAC;YAED,IAAI,UAAU,GAAoB,KAAK,CAAC;YACxC,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;gBACtB,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACzE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAU;aACpB,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACvC,KAAK,EACL,UAAU,CACX,CAAC;QACJ,CAAC;KACF,CAAA;IA5CK,8BAA8B;QADnC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;YAC3B,sBAAa;OALrC,8BAA8B,CA4CnC;IAED,OAAO,IAAA,cAAK,EAAC,8BAA8B,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const pagination_service_1 = require("../services/pagination.service");
|
|
8
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
8
9
|
const lodash_1 = require("lodash");
|
|
9
10
|
function PaginationFilterInBooleanPipe(defaultValue) {
|
|
10
11
|
let MixinPaginationFilterInBooleanPipe = class MixinPaginationFilterInBooleanPipe {
|
|
@@ -16,6 +17,7 @@ function PaginationFilterInBooleanPipe(defaultValue) {
|
|
|
16
17
|
if (!field) {
|
|
17
18
|
return undefined;
|
|
18
19
|
}
|
|
20
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
19
21
|
let finalValue = defaultValue.map((x) => x.value);
|
|
20
22
|
if (value) {
|
|
21
23
|
finalValue = (0, lodash_1.uniq)(value.split(',').map((val) => val === 'true'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-in-boolean.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-boolean.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.filter-in-boolean.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-boolean.pipe.ts"],"names":[],"mappings":";;AAeA,sEAqCC;;AAnDD,2CAQwB;AACxB,uCAAuC;AACvC,uEAAmE;AACnE,qEAA6D;AAC7D,mCAA8B;AAE9B,SAAgB,6BAA6B,CAC3C,YAAsC;IAEtC,IACM,kCAAkC,GADxC,MACM,kCAAkC;QACtC,YAEqB,OAAqC,EACvC,iBAAoC;YADlC,YAAO,GAAP,OAAO,CAA8B;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,UAAU,GAAc,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAc,CAAC;YAE1E,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,IAAA,aAAI,EACf,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CACtD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAU;aACpB,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAU,KAAK,EAAE,UAAU,CAAC,CAAC;QACrE,CAAC;KACF,CAAA;IA9BK,kCAAkC;QADvC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;OAJnD,kCAAkC,CA8BvC;IAED,OAAO,IAAA,cAAK,EAAC,kCAAkC,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const pagination_service_1 = require("../services/pagination.service");
|
|
8
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
8
9
|
function PaginationFilterInEnumPipe(defaultValue, defaultEnum) {
|
|
9
10
|
let MixinPaginationFilterInEnumPipe = class MixinPaginationFilterInEnumPipe {
|
|
10
11
|
constructor(request, paginationService) {
|
|
@@ -15,6 +16,7 @@ function PaginationFilterInEnumPipe(defaultValue, defaultEnum) {
|
|
|
15
16
|
if (!field) {
|
|
16
17
|
return undefined;
|
|
17
18
|
}
|
|
19
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
18
20
|
let finalValue = defaultValue;
|
|
19
21
|
if (value) {
|
|
20
22
|
finalValue = value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-in-enum.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-enum.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.filter-in-enum.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-enum.pipe.ts"],"names":[],"mappings":";;AAcA,gEAuCC;;AApDD,2CAQwB;AACxB,uCAAuC;AACvC,uEAAmE;AACnE,qEAA6D;AAE7D,SAAgB,0BAA0B,CACxC,YAAe,EACf,WAAgC;IAEhC,IACM,+BAA+B,GADrC,MACM,+BAA+B;QACnC,YAEqB,OAAqC,EACvC,iBAAoC;YADlC,YAAO,GAAP,OAAO,CAA8B;YACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,UAAU,GAAQ,YAAmB,CAAC;YAE1C,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,GAAG,KAAK;qBACf,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;qBACtC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAQ,CAAC;YACzC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAsB;aAChC,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAI,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;KACF,CAAA;IA/BK,+BAA+B;QADpC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;OAJnD,+BAA+B,CA+BpC;IAED,OAAO,IAAA,cAAK,EAAC,+BAA+B,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -5,6 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const pagination_service_1 = require("../services/pagination.service");
|
|
8
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
8
9
|
function PaginationFilterInStringPipe() {
|
|
9
10
|
let MixinPaginationFilterInStringPipe = class MixinPaginationFilterInStringPipe {
|
|
10
11
|
constructor(request, paginationService) {
|
|
@@ -15,6 +16,10 @@ function PaginationFilterInStringPipe() {
|
|
|
15
16
|
if (!field) {
|
|
16
17
|
return undefined;
|
|
17
18
|
}
|
|
19
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
20
|
+
if (!value) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
18
23
|
const finalValue = value
|
|
19
24
|
.split(',')
|
|
20
25
|
.map((val) => val.trim())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-in-string.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-string.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.filter-in-string.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-in-string.pipe.ts"],"names":[],"mappings":";;AAaA,oEAuCC;;AApDD,2CAQwB;AACxB,uCAAuC;AACvC,uEAAmE;AACnE,qEAA6D;AAE7D,SAAgB,4BAA4B;IAC1C,IACM,iCAAiC,GADvC,MACM,iCAAiC;QACrC,YACsC,OAAqC,EACxD,iBAAoC;YADjB,YAAO,GAAP,OAAO,CAA8B;YACxD,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;YAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,MAAM,UAAU,GAAa,KAAK;iBAC/B,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;iBAChC,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YAEhC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;gBACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;gBACzB,CAAC,KAAK,CAAC,EAAE,UAAU;aACpB,CAAC;YAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAS,KAAK,EAAE,UAAU,CAAC,CAAC;QACpE,CAAC;KACF,CAAA;IAlCK,iCAAiC;QADtC,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDACoB,sCAAiB;OAHnD,iCAAiC,CAkCtC;IAED,OAAO,IAAA,cAAK,EAAC,iCAAiC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
7
|
const mongoose_1 = require("mongoose");
|
|
8
8
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
const pagination_query_value_1 = require("./pagination.query-value");
|
|
9
10
|
let PaginationFilterNotObjectIdPipe = class PaginationFilterNotObjectIdPipe {
|
|
10
11
|
constructor(request, paginationService) {
|
|
11
12
|
this.request = request;
|
|
@@ -15,6 +16,7 @@ let PaginationFilterNotObjectIdPipe = class PaginationFilterNotObjectIdPipe {
|
|
|
15
16
|
if (!value || !field) {
|
|
16
17
|
return undefined;
|
|
17
18
|
}
|
|
19
|
+
(0, pagination_query_value_1.assertQueryString)(value, field);
|
|
18
20
|
const values = value.trim().split(',');
|
|
19
21
|
const finalValues = values.map((v) => mongoose_1.Types.ObjectId.isValid(v) ? new mongoose_1.Types.ObjectId(v) : v);
|
|
20
22
|
this.request.__filters = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.filter-not-object-id.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-not-object-id.pipe.ts"],"names":[],"mappings":";;;;AACA,2CAMwB;AACxB,uCAAuC;AACvC,uCAAiC;AACjC,uEAAmE;
|
|
1
|
+
{"version":3,"file":"pagination.filter-not-object-id.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.filter-not-object-id.pipe.ts"],"names":[],"mappings":";;;;AACA,2CAMwB;AACxB,uCAAuC;AACvC,uCAAiC;AACjC,uEAAmE;AACnE,qEAA6D;AAGtD,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAC1C,YAEqB,OAAqC,EACvC,iBAAoC;QADlC,YAAO,GAAP,OAAO,CAA8B;QACvC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACpD,CAAC;IAEJ,KAAK,CAAC,SAAS,CACb,KAAa,EACb,EAAE,IAAI,EAAE,KAAK,EAAoB;QAEjC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,IAAA,0CAAiB,EAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnC,gBAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACtD,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG;YACvB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS;YACzB,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;SACzB,CAAC;QAEF,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAC1C,KAAK,EACL,WAAW,CACZ,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,0EAA+B;0CAA/B,+BAA+B;IAD3C,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;IAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;qDAEoB,sCAAiB;GAJ5C,+BAA+B,CA+B3C"}
|
|
@@ -4,6 +4,7 @@ exports.PaginationOrderPipe = PaginationOrderPipe;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
|
+
const errors_1 = require("@tc-libs/errors");
|
|
7
8
|
const constants_1 = require("../constants");
|
|
8
9
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
10
|
function PaginationOrderPipe(defaultOrderBy, defaultOrderDirection, availableOrderBy) {
|
|
@@ -14,8 +15,24 @@ function PaginationOrderPipe(defaultOrderBy, defaultOrderDirection, availableOrd
|
|
|
14
15
|
}
|
|
15
16
|
async transform(value) {
|
|
16
17
|
const orderBy = value?.['orderBy'] ?? defaultOrderBy;
|
|
17
|
-
|
|
18
|
+
// Una direzione vuota (MatSort senza ordinamento) vale quella di default
|
|
19
|
+
const orderDirection = value?.['orderDirection'] || defaultOrderDirection;
|
|
18
20
|
const availableOrderDirection = constants_1.PAGINATION_AVAILABLE_ORDER_DIRECTION;
|
|
21
|
+
// BRG-223: orderBy e orderDirection sono stringhe e ogni direzione (una per campo, separate da virgole) è tra
|
|
22
|
+
// quelle ammesse. Prima una direzione qualsiasi arrivava a mongoose (Invalid sort value) e un array dava un
|
|
23
|
+
// TypeError su split: 500
|
|
24
|
+
if (typeof orderBy !== 'string') {
|
|
25
|
+
throw new errors_1.Api400PaginationQueryMalformedError({ field: 'orderBy' });
|
|
26
|
+
}
|
|
27
|
+
if (typeof orderDirection !== 'string' ||
|
|
28
|
+
orderDirection
|
|
29
|
+
.split(',')
|
|
30
|
+
.some((direction) => !availableOrderDirection.includes(direction.trim()))) {
|
|
31
|
+
throw new errors_1.Api400PaginationQueryMalformedError({
|
|
32
|
+
field: 'orderDirection',
|
|
33
|
+
available: availableOrderDirection,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
19
36
|
const order = this.paginationService.order(orderBy, orderDirection, availableOrderBy);
|
|
20
37
|
this.request.__pagination = {
|
|
21
38
|
...this.request.__pagination,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.order.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.order.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.order.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.order.pipe.ts"],"names":[],"mappings":";;AAiBA,kDAsEC;;AAtFD,2CAOwB;AACxB,uCAAuC;AACvC,4CAAsE;AACtE,4CAGsB;AACtB,uEAAmE;AAEnE,SAAgB,mBAAmB,CACjC,cAAsB,EACtB,qBAAoE,EACpE,gBAA0B;IAE1B,IACM,wBAAwB,GAD9B,MACM,wBAAwB;QAC5B,YAEqB,OAAwC,EAC1C,iBAAoC;YADlC,YAAO,GAAP,OAAO,CAAiC;YAC1C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAA0B;YAE1B,MAAM,OAAO,GAAW,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,cAAc,CAAC;YAC7D,yEAAyE;YACzE,MAAM,cAAc,GAClB,KAAK,EAAE,CAAC,gBAAgB,CAAC,IAAI,qBAAqB,CAAC;YACrD,MAAM,uBAAuB,GAC3B,gDAAoC,CAAC;YAEvC,8GAA8G;YAC9G,4GAA4G;YAC5G,0BAA0B;YAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,4CAAmC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IACE,OAAO,cAAc,KAAK,QAAQ;gBAClC,cAAc;qBACX,KAAK,CAAC,GAAG,CAAC;qBACV,IAAI,CACH,CAAC,SAAS,EAAE,EAAE,CACZ,CAAC,uBAAuB,CAAC,QAAQ,CAC/B,SAAS,CAAC,IAAI,EAA0C,CACzD,CACJ,EACH,CAAC;gBACD,MAAM,IAAI,4CAAmC,CAAC;oBAC5C,KAAK,EAAE,gBAAgB;oBACvB,SAAS,EAAE,uBAAuB;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,KAAK,GAAwB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAC7D,OAAO,EACP,cAAc,EACd,gBAAgB,CACjB,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG;gBAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,YAAa;gBAC7B,OAAO;gBACP,cAAc;gBACd,gBAAgB;gBAChB,uBAAuB;aACxB,CAAC;YAEF,OAAO;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,wBAAwB,EAAE,uBAAuB;aAClD,CAAC;QACJ,CAAC;KACF,CAAA;IA7DK,wBAAwB;QAD7B,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;OAJnD,wBAAwB,CA6D7B;IAED,OAAO,IAAA,cAAK,EAAC,wBAAwB,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -4,7 +4,23 @@ exports.PaginationPagingPipe = PaginationPagingPipe;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const common_1 = require("@nestjs/common");
|
|
6
6
|
const core_1 = require("@nestjs/core");
|
|
7
|
+
const errors_1 = require("@tc-libs/errors");
|
|
7
8
|
const pagination_service_1 = require("../services/pagination.service");
|
|
9
|
+
// BRG-194: page e perPage, se presenti, sono interi positivi: stringhe di cifre o numeri, se una ValidationPipe li ha già
|
|
10
|
+
// trasformati. Prima page negativo diventava uno skip negativo (500 da Mongo) nelle liste senza validazione propria
|
|
11
|
+
function positiveInteger(field, raw, fallback) {
|
|
12
|
+
if (raw === undefined || raw === '')
|
|
13
|
+
return fallback;
|
|
14
|
+
const number = typeof raw === 'number'
|
|
15
|
+
? raw
|
|
16
|
+
: typeof raw === 'string' && /^\d+$/.test(raw)
|
|
17
|
+
? Number(raw)
|
|
18
|
+
: NaN;
|
|
19
|
+
if (!Number.isSafeInteger(number) || number < 1) {
|
|
20
|
+
throw new errors_1.Api400PaginationQueryMalformedError({ field });
|
|
21
|
+
}
|
|
22
|
+
return number;
|
|
23
|
+
}
|
|
8
24
|
function PaginationPagingPipe(defaultPerPage, isAdmin) {
|
|
9
25
|
let MixinPaginationPagingPipe = class MixinPaginationPagingPipe {
|
|
10
26
|
constructor(request, paginationService) {
|
|
@@ -12,8 +28,8 @@ function PaginationPagingPipe(defaultPerPage, isAdmin) {
|
|
|
12
28
|
this.paginationService = paginationService;
|
|
13
29
|
}
|
|
14
30
|
async transform(value) {
|
|
15
|
-
const page = this.paginationService.page(
|
|
16
|
-
const perPage = this.paginationService.perPage(isAdmin,
|
|
31
|
+
const page = this.paginationService.page(positiveInteger('page', value?.['page'], 1));
|
|
32
|
+
const perPage = this.paginationService.perPage(isAdmin, positiveInteger('perPage', value?.['perPage'], defaultPerPage));
|
|
17
33
|
const offset = this.paginationService.offset(page, perPage);
|
|
18
34
|
this.request.__pagination = {
|
|
19
35
|
...this.request.__pagination,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.paging.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.paging.pipe.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"pagination.paging.pipe.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.paging.pipe.ts"],"names":[],"mappings":";;AA6BA,oDAyCC;;AArED,2CAOwB;AACxB,uCAAuC;AACvC,4CAAsE;AACtE,uEAAmE;AAEnE,0HAA0H;AAC1H,oHAAoH;AACpH,SAAS,eAAe,CAAC,KAAa,EAAE,GAAY,EAAE,QAAgB;IACpE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACrD,MAAM,MAAM,GACV,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,GAAG;QACL,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAC5C,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;YACb,CAAC,CAAC,GAAG,CAAC;IACZ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,4CAAmC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,oBAAoB,CAClC,cAAsB,EACtB,OAAgB;IAEhB,IACM,yBAAyB,GAD/B,MACM,yBAAyB;QAC7B,YAEqB,OAAwC,EAC1C,iBAAoC;YADlC,YAAO,GAAP,OAAO,CAAiC;YAC1C,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpD,CAAC;QAEJ,KAAK,CAAC,SAAS,CACb,KAA0B;YAE1B,MAAM,IAAI,GAAW,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAC9C,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC5C,CAAC;YACF,MAAM,OAAO,GAAW,IAAI,CAAC,iBAAiB,CAAC,OAAO,CACpD,OAAO,EACP,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAC/D,CAAC;YACF,MAAM,MAAM,GAAW,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEpE,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG;gBAC1B,GAAG,IAAI,CAAC,OAAO,CAAC,YAAa;gBAC7B,IAAI;gBACJ,OAAO;aACR,CAAC;YAEF,OAAO;gBACL,GAAG,KAAK;gBACR,IAAI;gBACJ,OAAO;gBACP,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,MAAM;aAChB,CAAC;QACJ,CAAC;KACF,CAAA;IAjCK,yBAAyB;QAD9B,IAAA,mBAAU,EAAC,EAAE,KAAK,EAAE,cAAK,CAAC,OAAO,EAAE,CAAC;QAGhC,mBAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAEoB,sCAAiB;OAJnD,yBAAyB,CAiC9B;IAED,OAAO,IAAA,cAAK,EAAC,yBAAyB,CAAC,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function assertQueryString(value: unknown, field: string): asserts value is string | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.assertQueryString = assertQueryString;
|
|
4
|
+
const errors_1 = require("@tc-libs/errors");
|
|
5
|
+
// BRG-110: con il query parser extended field[]=… e field[x]=… arrivano come array e oggetti, su cui i filtri
|
|
6
|
+
// chiamavano trim o split (TypeError, 500) o che passavano al filtro così com'erano. I filtri accettano solo stringhe
|
|
7
|
+
function assertQueryString(value, field) {
|
|
8
|
+
if (value !== undefined && typeof value !== 'string') {
|
|
9
|
+
throw new errors_1.Api400PaginationQueryMalformedError({ field });
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=pagination.query-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.query-value.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/pipes/pagination.query-value.ts"],"names":[],"mappings":";;AAIA,8CAOC;AAXD,4CAAsE;AAEtE,8GAA8G;AAC9G,sHAAsH;AACtH,SAAgB,iBAAiB,CAC/B,KAAc,EACd,KAAa;IAEb,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,IAAI,4CAAmC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
|