@tc-libs/pagination 0.66.0 → 0.67.0

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 CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@tc-libs/pagination",
3
- "version": "0.66.0",
3
+ "version": "0.67.0",
4
4
  "dependencies": {
5
5
  "tslib": "^2.3.0",
6
6
  "@nestjs/common": "^10.0.2",
7
7
  "@nestjs/swagger": "^7.1.10",
8
8
  "@nestjs/core": "^10.0.2",
9
- "@tc-libs/helper": "0.66.0",
9
+ "@tc-libs/helper": "0.67.0",
10
10
  "mongoose": "^7.5.0",
11
11
  "lodash": "^4.17.21",
12
12
  "express": "4.21.0",
13
- "@tc-libs/errors": "0.66.0"
13
+ "@tc-libs/errors": "0.67.0"
14
14
  },
15
15
  "type": "commonjs",
16
16
  "main": "./src/index.js",
@@ -1,3 +1,4 @@
1
+ import { ENUM_PAGINATION_ORDER_DIRECTION_TYPE } from '../constants';
1
2
  import { IPaginationService, IPaginationOrder } from '../interfaces';
2
3
  export declare class PaginationService implements IPaginationService {
3
4
  offset(page: number, perPage: number): number;
@@ -6,7 +7,7 @@ export declare class PaginationService implements IPaginationService {
6
7
  totalPageWithoutMax(totalData: number, perPage: number): number;
7
8
  page(page?: number): number;
8
9
  perPage(isAdmin: boolean, perPage?: number): number;
9
- order(orderByValue?: string, orderDirectionValue?: import("../constants").ENUM_PAGINATION_ORDER_DIRECTION_TYPE, availableOrderBy?: string[]): IPaginationOrder;
10
+ order(orderByValue?: string, orderDirectionValue?: ENUM_PAGINATION_ORDER_DIRECTION_TYPE, availableOrderBy?: string[]): IPaginationOrder;
10
11
  search(searchValue: string | undefined, availableSearch: string[]): Record<string, any> | undefined;
11
12
  filterEqual<T = string>(field: string, filterValue: T): Record<string, T>;
12
13
  filterContain(field: string, filterValue: string): Record<string, {
@@ -41,10 +41,22 @@ let PaginationService = class PaginationService {
41
41
  : constants_1.PAGINATION_PER_PAGE;
42
42
  }
43
43
  order(orderByValue = constants_1.PAGINATION_ORDER_BY, orderDirectionValue = constants_1.PAGINATION_ORDER_DIRECTION, availableOrderBy = constants_1.PAGINATION_AVAILABLE_ORDER_BY) {
44
- const orderBy = availableOrderBy.includes(orderByValue)
45
- ? orderByValue
46
- : constants_1.PAGINATION_ORDER_BY;
47
- return { [orderBy]: orderDirectionValue };
44
+ const orderResult = {};
45
+ const orderTokens = orderByValue.split(',').map((x) => x.trim());
46
+ const orderDirectionTokens = orderDirectionValue
47
+ .split(',')
48
+ .map((x) => x.trim());
49
+ for (let i = 0; i < orderTokens.length; i++) {
50
+ const orderToken = orderTokens[i];
51
+ const orderDirectionToken = orderDirectionTokens[i];
52
+ if (availableOrderBy.includes(orderToken))
53
+ orderResult[orderToken] =
54
+ orderDirectionToken ?? constants_1.PAGINATION_ORDER_DIRECTION;
55
+ }
56
+ if (Object.keys(orderResult).length === 0) {
57
+ orderResult[constants_1.PAGINATION_ORDER_BY] = constants_1.PAGINATION_ORDER_DIRECTION;
58
+ }
59
+ return orderResult;
48
60
  }
49
61
  search(searchValue = '', availableSearch) {
50
62
  if (!searchValue) {
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.service.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/services/pagination.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.service.js","sourceRoot":"","sources":["../../../../../packages/pagination/src/services/pagination.service.ts"],"names":[],"mappings":";;;;AAAA,2CAA4C;AAC5C,4CASsB;AAIf,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,MAAM,CAAC,IAAY,EAAE,OAAe;QAClC,IAAI,GAAG,IAAI,GAAG,+BAAmB,CAAC,CAAC,CAAC,+BAAmB,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/D,OAAO;YACL,OAAO,GAAG,mCAAuB,CAAC,CAAC,CAAC,mCAAuB,CAAC,CAAC,CAAC,OAAO,CAAC;QACxE,MAAM,MAAM,GAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAE5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,UAAU,CAAC,SAAiB,EAAE,OAAe;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;QAC/C,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,OAAO,SAAS,GAAG,+BAAmB,CAAC,CAAC,CAAC,+BAAmB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,OAAe;QAC5C,MAAM,MAAM,GAAW,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QAC5C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB,CAAC,SAAiB,EAAE,OAAe;QACpD,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,CAAC;QAC/C,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,IAAa;QAChB,OAAO,IAAI;YACT,CAAC,CAAC,IAAI,GAAG,+BAAmB;gBAC1B,CAAC,CAAC,+BAAmB;gBACrB,CAAC,CAAC,IAAI;YACR,CAAC,CAAC,2BAAe,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,OAAgB,EAAE,OAAgB;QACxC,OAAO,OAAO;YACZ,CAAC,CAAC,OAAO,GAAG,mCAAuB,IAAI,CAAC,OAAO;gBAC7C,CAAC,CAAC,mCAAuB;gBACzB,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,+BAAmB,CAAC;IAC1B,CAAC;IAED,KAAK,CACH,YAAY,GAAG,+BAAmB,EAClC,mBAAmB,GAAG,sCAA0B,EAChD,gBAAgB,GAAG,yCAA6B;QAEhD,MAAM,WAAW,GACf,EAAE,CAAC;QACL,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,oBAAoB,GACxB,mBAAmB;aAChB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAA2C,CAAC;QAEpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACvC,WAAW,CAAC,UAAU,CAAC;oBACrB,mBAAmB,IAAI,sCAA0B,CAAC;QACxD,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1C,WAAW,CAAC,+BAAmB,CAAC,GAAG,sCAA0B,CAAC;QAChE,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,CACJ,WAAW,GAAG,EAAE,EAChB,eAAyB;QAEzB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,GAAG,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjC,CAAC,GAAG,CAAC,EAAE;oBACL,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;oBAC/B,QAAQ,EAAE,GAAG;iBACd;aACF,CAAC,CAAC;SACJ,CAAC;IACJ,CAAC;IAED,WAAW,CAAa,KAAa,EAAE,WAAc;QACnD,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,aAAa,CACX,KAAa,EACb,WAAmB;QAEnB,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,MAAM,EAAE,IAAI,MAAM,CAAC,WAAW,CAAC;gBAC/B,QAAQ,EAAE,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CACpB,KAAa,EACb,WAAmB;QAEnB,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,MAAM,EAAE,IAAI,MAAM,CAAC,MAAM,WAAW,KAAK,CAAC;gBAC1C,QAAQ,EAAE,GAAG;aACd;SACF,CAAC;IACJ,CAAC;IAED,QAAQ,CACN,KAAa,EACb,WAAgB;QAEhB,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,GAAG,EAAE,WAAW;aACjB;SACF,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,WAAiB;QACzC,OAAO;YACL,CAAC,KAAK,CAAC,EAAE,WAAW;SACrB,CAAC;IACJ,CAAC;CACF,CAAA;AApIY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAoI7B"}