@r5v/mongoose-paginate 1.0.11 → 1.0.13

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/README.md CHANGED
@@ -89,9 +89,11 @@ PagingQuery(Express.Request, mongoose.Model, options )
89
89
  | Key | Value | Description | Class Availability | Required | Default |
90
90
  |:----------------------------|:---------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------|:---------|:--------|
91
91
  | disablePaging | boolean | disables paging and $paging param use | PagingQuery, AggregationPagingQuery | | false |
92
- | enableFilter | boolean | disables the $filter param on req. | PagingQuery, AggregationPagingQuery | | false |
93
- | single | boolean | disables paging on the query. converts from .find query to .findOne() | PagingQuery, AggregationPagingQuery | | true |
94
- | enablePostFilter | boolean | disables the ability to create a dynamic filter per request | AggregationPagingQuery | | false |
92
+ | disableFilter | boolean | disables the $filter param on req. | PagingQuery | | false |
93
+ | enableFilter | boolean | enables the $filter param on req for aggregation queries. | AggregationPagingQuery | | false |
94
+ | enablePreSort | boolean | enables the $preSort param on req for aggregation queries. | AggregationPagingQuery | | false |
95
+ | single | boolean | disables paging on the query. converts from .find query to .findOne() | PagingQuery | | false |
96
+ | enablePostFilter | boolean | enables the ability to create a dynamic filter per request using the $postFilter parameter | AggregationPagingQuery | | false |
95
97
  | staticPostFilter | Mongo Filter Object | create a filter on the pipeline that is added after all the pipeline stages. this cannot be overwritten by params | AggregationPagingQuery | | {} |
96
98
  | staticFilter | Mongo Filter Object | create a filter on the pipeline that is added before all the pipeline stages. on find requests, this is added to the filter object. this cannot be overwritten by params | AggregationPagingQuery | | {} |
97
99
  | pipeline | MongoPipelineStage[] | pipeline request object. if the first item in pipeline stage is a $match or another required first stage operator. it will be placed before all other modifiers | AggregationPagingQuery | true | [] |
@@ -134,6 +136,14 @@ $ yarn run start
134
136
  ## NOTES
135
137
  1. removeProtected removed from aggregation query due to inconsistent results after publication
136
138
 
139
+ ### 1.0.13
140
+ - Fix issue where disablePaging was not working on aggregation query
141
+
142
+ ### 1.0.12
143
+ - Fix issue with AggregationPagingQuery where static post filter would not be applied if $postFilter param was not supplied
144
+ - updated typings on AggregationPagingQuery to include enablePostFilter, enableFilter, and enablePreSort
145
+ - flipped PagingQuery back to `disableFilter` instead of `enableFilter` option \# this was set incorrectly in 1.0.11 but still defaults to false
146
+
137
147
  ### 1.0.11
138
148
  Fix Issue with Typescript build
139
149
 
@@ -91,7 +91,7 @@ class AggregationPagingQuery {
91
91
  if (Object.keys(typeCastFilter).length !== 0) {
92
92
  this.query.match(typeCastFilter);
93
93
  }
94
- if (this.options.enablePresort && Object.keys($preSort).length) {
94
+ if (this.options.enablePreSort && Object.keys($preSort).length) {
95
95
  this.query.sort($preSort);
96
96
  }
97
97
  if (!firstObj) {
@@ -104,7 +104,7 @@ class AggregationPagingQuery {
104
104
  if ($count.length) {
105
105
  this.createCounts();
106
106
  }
107
- if (Object.keys($postFilter).length !== 0) {
107
+ if ((Object.keys($postFilter).length !== 0 && enablePostFilter) || staticPostFilter !== undefined) {
108
108
  this.query.match(typeCastPostFilter);
109
109
  }
110
110
  if (Object.keys($sort).length) {
@@ -150,11 +150,11 @@ class AggregationPagingQuery {
150
150
  };
151
151
  this.exec = () => __awaiter(this, void 0, void 0, function* () {
152
152
  const { $skip, $limit, $paging, $filter } = this.params;
153
- const { staticFilter } = this.options;
153
+ const { disablePaging } = this.options;
154
154
  if (!this.query) {
155
155
  throw new Error("No Query Present in AggregationQuery");
156
156
  }
157
- if (!$paging) {
157
+ if (!$paging || disablePaging) {
158
158
  this.query.skip($skip);
159
159
  this.query.limit($limit);
160
160
  return yield this.query.exec();
@@ -43,8 +43,8 @@ class PagingQuery {
43
43
  this.isJsonString = isJsonString_1.isJsonString;
44
44
  this.initQuery = () => {
45
45
  const { $filter, $sort, $select, $skip, $limit, $populate, $lean } = this.params;
46
- const _a = this.options, { single, staticFilter, disablePaging, enableFilter } = _a, options = __rest(_a, ["single", "staticFilter", "disablePaging", "enableFilter"]);
47
- const filter = enableFilter ? Object.assign({}, staticFilter) : Object.assign(Object.assign({}, $filter), staticFilter);
46
+ const _a = this.options, { single, staticFilter, disablePaging, disableFilter } = _a, options = __rest(_a, ["single", "staticFilter", "disablePaging", "disableFilter"]);
47
+ const filter = disableFilter ? Object.assign({}, staticFilter) : Object.assign(Object.assign({}, $filter), staticFilter);
48
48
  this.query = single ? this.model.findOne(filter) : this.model.find(filter);
49
49
  this.query.setOptions(options);
50
50
  if (disablePaging || single) {
@@ -48,7 +48,9 @@ export interface PagingQueryOptions extends StandardQueryOptions {
48
48
  };
49
49
  single?: boolean;
50
50
  }
51
- export interface AggregateQueryOptions extends StandardQueryOptions, Omit<AggregateOptions, 'comment'> {
51
+ export interface AggregateQueryOptions extends Omit<AggregateOptions, 'comment'> {
52
+ enableFilter?: boolean;
53
+ disablePaging?: boolean;
52
54
  disablePostFilter?: boolean;
53
55
  disablePreSort?: boolean;
54
56
  staticPostFilter?: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAC,QAAQ,EAAC,MAAM,IAAI,CAAC;AAE5B,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,CAAA;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IACxC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,8BAA+B,SAAQ,2BAA2B;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAA;CAEhC;AACD,MAAM,WAAW,iCAAkC,SAAQ,2BAA2B;IAClF,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACtC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACnC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,EAAE;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,GAAG,CAAA;KAAC,CAAA;CAClC;AACD,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAGpB;AACD,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,EAAC,SAAS,CAAC;IAEjG,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAC,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACxC,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAA;CACrC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,EAAE,EAAC,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAC,QAAQ,EAAC,MAAM,IAAI,CAAC;AAE5B,MAAM,WAAW,eAAgB,SAAQ,QAAQ;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,OAAO,CAAA;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IACxC,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,8BAA+B,SAAQ,2BAA2B;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAA;CAEhC;AACD,MAAM,WAAW,iCAAkC,SAAQ,2BAA2B;IAClF,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACtC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACnC,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,WAAW,EAAE;QAAC,CAAC,GAAG,EAAC,MAAM,GAAE,GAAG,CAAA;KAAC,CAAA;CAClC;AACD,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACtD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC5D,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,gBAAgB,EAAC,SAAS,CAAC;IAC3E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAC,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IACxC,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAA;CACrC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@r5v/mongoose-paginate",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/types/index.d.ts",
6
6
  "scripts": {