@pristine-ts/mysql-common 0.0.338 → 0.0.340

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.
Files changed (27) hide show
  1. package/dist/lib/cjs/enums/enums.js +1 -0
  2. package/dist/lib/cjs/enums/enums.js.map +1 -1
  3. package/dist/lib/cjs/enums/filtering-operator.enum.js +13 -0
  4. package/dist/lib/cjs/enums/filtering-operator.enum.js.map +1 -0
  5. package/dist/lib/cjs/models/models.js +1 -0
  6. package/dist/lib/cjs/models/models.js.map +1 -1
  7. package/dist/lib/cjs/models/search-field-filter.model.js +12 -0
  8. package/dist/lib/cjs/models/search-field-filter.model.js.map +1 -0
  9. package/dist/lib/cjs/models/search-query.model.js +19 -0
  10. package/dist/lib/cjs/models/search-query.model.js.map +1 -1
  11. package/dist/lib/esm/enums/enums.js +1 -0
  12. package/dist/lib/esm/enums/enums.js.map +1 -1
  13. package/dist/lib/esm/enums/filtering-operator.enum.js +10 -0
  14. package/dist/lib/esm/enums/filtering-operator.enum.js.map +1 -0
  15. package/dist/lib/esm/models/models.js +1 -0
  16. package/dist/lib/esm/models/models.js.map +1 -1
  17. package/dist/lib/esm/models/search-field-filter.model.js +8 -0
  18. package/dist/lib/esm/models/search-field-filter.model.js.map +1 -0
  19. package/dist/lib/esm/models/search-query.model.js +19 -0
  20. package/dist/lib/esm/models/search-query.model.js.map +1 -1
  21. package/dist/types/enums/enums.d.ts +1 -0
  22. package/dist/types/enums/filtering-operator.enum.d.ts +8 -0
  23. package/dist/types/interfaces/search-query-parameters.interface.d.ts +4 -0
  24. package/dist/types/models/models.d.ts +1 -0
  25. package/dist/types/models/search-field-filter.model.d.ts +16 -0
  26. package/dist/types/models/search-query.model.d.ts +10 -0
  27. package/package.json +3 -3
@@ -14,5 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./filtering-operator.enum"), exports);
17
18
  __exportStar(require("./sort-order.enum"), exports);
18
19
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,oDAAkC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilteringOperatorEnum = void 0;
4
+ var FilteringOperatorEnum;
5
+ (function (FilteringOperatorEnum) {
6
+ FilteringOperatorEnum["Equal"] = "eq";
7
+ FilteringOperatorEnum["NotEqual"] = "ne";
8
+ FilteringOperatorEnum["GreaterThan"] = "gt";
9
+ FilteringOperatorEnum["GreaterThanOrEqual"] = "gte";
10
+ FilteringOperatorEnum["LessThan"] = "lt";
11
+ FilteringOperatorEnum["LessThanOrEqual"] = "lte";
12
+ })(FilteringOperatorEnum || (exports.FilteringOperatorEnum = FilteringOperatorEnum = {}));
13
+ //# sourceMappingURL=filtering-operator.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering-operator.enum.js","sourceRoot":"","sources":["../../../../src/enums/filtering-operator.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC7B,qCAAY,CAAA;IACZ,wCAAe,CAAA;IACf,2CAAkB,CAAA;IAClB,mDAA0B,CAAA;IAC1B,wCAAe,CAAA;IACf,gDAAuB,CAAA;AAC3B,CAAC,EAPW,qBAAqB,qCAArB,qBAAqB,QAOhC"}
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./search-field-filter.model"), exports);
17
18
  __exportStar(require("./search-query.model"), exports);
18
19
  __exportStar(require("./search-query-field.model"), exports);
19
20
  __exportStar(require("./search-result.model"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,6DAA2C;AAC3C,wDAAsC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C;AAC5C,uDAAqC;AACrC,6DAA2C;AAC3C,wDAAsC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SearchFieldFilter = void 0;
4
+ class SearchFieldFilter {
5
+ constructor(field, operator, value) {
6
+ this.field = field;
7
+ this.value = value;
8
+ this.operator = operator;
9
+ }
10
+ }
11
+ exports.SearchFieldFilter = SearchFieldFilter;
12
+ //# sourceMappingURL=search-field-filter.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-field-filter.model.js","sourceRoot":"","sources":["../../../../src/models/search-field-filter.model.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAgB1B,YAAY,KAAa,EAAE,QAA+B,EAAE,KAAa;QACrE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ;AArBD,8CAqBC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SearchQuery = void 0;
4
4
  const search_query_field_model_1 = require("./search-query-field.model");
5
5
  const sort_order_enum_1 = require("../enums/sort-order.enum");
6
+ const search_field_filter_model_1 = require("./search-field-filter.model");
6
7
  class SearchQuery {
7
8
  constructor(options) {
8
9
  var _a, _b, _c, _d;
@@ -10,6 +11,10 @@ class SearchQuery {
10
11
  * The list of fields on which actions or conditions will happen
11
12
  */
12
13
  this.fields = [];
14
+ /**
15
+ * The filters to apply to the search.
16
+ */
17
+ this.filters = [];
13
18
  this.fields = (_a = options === null || options === void 0 ? void 0 : options.fields) !== null && _a !== void 0 ? _a : [];
14
19
  this.page = (_b = options === null || options === void 0 ? void 0 : options.page) !== null && _b !== void 0 ? _b : 1;
15
20
  this.maximumNumberOfResultsPerPage = (_c = options === null || options === void 0 ? void 0 : options.maximumNumberOfResultsPerPage) !== null && _c !== void 0 ? _c : 100;
@@ -22,6 +27,13 @@ class SearchQuery {
22
27
  getField(fieldName) {
23
28
  return this.fields.find((field) => field.field === fieldName);
24
29
  }
30
+ /**
31
+ * This method adds a filter to the search query.
32
+ * @param filter
33
+ */
34
+ addFilter(filter) {
35
+ this.filters.push(filter);
36
+ }
25
37
  clearSort(field) {
26
38
  const fieldToClear = this.getField(field);
27
39
  if (fieldToClear === undefined) {
@@ -82,6 +94,12 @@ class SearchQuery {
82
94
  this.fields.push(new search_query_field_model_1.SearchQueryField(fieldName, { order: order }));
83
95
  });
84
96
  }
97
+ if (queryStrings.filters) {
98
+ queryStrings.filters.split(",").forEach((filter) => {
99
+ const [fieldName, operator, value] = filter.split(":");
100
+ this.addFilter(new search_field_filter_model_1.SearchFieldFilter(fieldName, operator, value));
101
+ });
102
+ }
85
103
  if (queryStrings.excludeFieldsFromResponse) {
86
104
  (_g = queryStrings.excludeFieldsFromResponse) === null || _g === void 0 ? void 0 : _g.split(",").forEach((fieldName) => {
87
105
  const field = this.getField(fieldName);
@@ -104,6 +122,7 @@ class SearchQuery {
104
122
  excludeFieldsFromResponse: this.fields.filter((field) => field.exclude).map((field) => field.field).join(","),
105
123
  fields: this.fields.filter((field) => field.includeExplicitly).map((field) => field.field).join(","),
106
124
  sort: this.fields.filter((field) => field.order !== undefined).map((field) => `${field.field}:${field.order}`).join(","),
125
+ filters: this.filters.map((filter) => `${filter.field}:${filter.operator}:${filter.value}`).join(",")
107
126
  };
108
127
  }
109
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-query.model.js","sourceRoot":"","sources":["../../../../src/models/search-query.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-query.model.js","sourceRoot":"","sources":["../../../../src/models/search-query.model.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ export * from "./filtering-operator.enum";
1
2
  export * from "./sort-order.enum";
2
3
  //# sourceMappingURL=enums.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../../../../src/enums/enums.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export var FilteringOperatorEnum;
2
+ (function (FilteringOperatorEnum) {
3
+ FilteringOperatorEnum["Equal"] = "eq";
4
+ FilteringOperatorEnum["NotEqual"] = "ne";
5
+ FilteringOperatorEnum["GreaterThan"] = "gt";
6
+ FilteringOperatorEnum["GreaterThanOrEqual"] = "gte";
7
+ FilteringOperatorEnum["LessThan"] = "lt";
8
+ FilteringOperatorEnum["LessThanOrEqual"] = "lte";
9
+ })(FilteringOperatorEnum || (FilteringOperatorEnum = {}));
10
+ //# sourceMappingURL=filtering-operator.enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtering-operator.enum.js","sourceRoot":"","sources":["../../../../src/enums/filtering-operator.enum.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAC7B,qCAAY,CAAA;IACZ,wCAAe,CAAA;IACf,2CAAkB,CAAA;IAClB,mDAA0B,CAAA;IAC1B,wCAAe,CAAA;IACf,gDAAuB,CAAA;AAC3B,CAAC,EAPW,qBAAqB,KAArB,qBAAqB,QAOhC"}
@@ -1,3 +1,4 @@
1
+ export * from "./search-field-filter.model";
1
2
  export * from "./search-query.model";
2
3
  export * from "./search-query-field.model";
3
4
  export * from "./search-result.model";
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export class SearchFieldFilter {
2
+ constructor(field, operator, value) {
3
+ this.field = field;
4
+ this.value = value;
5
+ this.operator = operator;
6
+ }
7
+ }
8
+ //# sourceMappingURL=search-field-filter.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-field-filter.model.js","sourceRoot":"","sources":["../../../../src/models/search-field-filter.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,iBAAiB;IAgB1B,YAAY,KAAa,EAAE,QAA+B,EAAE,KAAa;QACrE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;CACJ"}
@@ -1,5 +1,6 @@
1
1
  import { SearchQueryField } from "./search-query-field.model";
2
2
  import { SortOrderEnum } from "../enums/sort-order.enum";
3
+ import { SearchFieldFilter } from "./search-field-filter.model";
3
4
  export class SearchQuery {
4
5
  constructor(options) {
5
6
  var _a, _b, _c, _d;
@@ -7,6 +8,10 @@ export class SearchQuery {
7
8
  * The list of fields on which actions or conditions will happen
8
9
  */
9
10
  this.fields = [];
11
+ /**
12
+ * The filters to apply to the search.
13
+ */
14
+ this.filters = [];
10
15
  this.fields = (_a = options === null || options === void 0 ? void 0 : options.fields) !== null && _a !== void 0 ? _a : [];
11
16
  this.page = (_b = options === null || options === void 0 ? void 0 : options.page) !== null && _b !== void 0 ? _b : 1;
12
17
  this.maximumNumberOfResultsPerPage = (_c = options === null || options === void 0 ? void 0 : options.maximumNumberOfResultsPerPage) !== null && _c !== void 0 ? _c : 100;
@@ -19,6 +24,13 @@ export class SearchQuery {
19
24
  getField(fieldName) {
20
25
  return this.fields.find((field) => field.field === fieldName);
21
26
  }
27
+ /**
28
+ * This method adds a filter to the search query.
29
+ * @param filter
30
+ */
31
+ addFilter(filter) {
32
+ this.filters.push(filter);
33
+ }
22
34
  clearSort(field) {
23
35
  const fieldToClear = this.getField(field);
24
36
  if (fieldToClear === undefined) {
@@ -79,6 +91,12 @@ export class SearchQuery {
79
91
  this.fields.push(new SearchQueryField(fieldName, { order: order }));
80
92
  });
81
93
  }
94
+ if (queryStrings.filters) {
95
+ queryStrings.filters.split(",").forEach((filter) => {
96
+ const [fieldName, operator, value] = filter.split(":");
97
+ this.addFilter(new SearchFieldFilter(fieldName, operator, value));
98
+ });
99
+ }
82
100
  if (queryStrings.excludeFieldsFromResponse) {
83
101
  (_g = queryStrings.excludeFieldsFromResponse) === null || _g === void 0 ? void 0 : _g.split(",").forEach((fieldName) => {
84
102
  const field = this.getField(fieldName);
@@ -101,6 +119,7 @@ export class SearchQuery {
101
119
  excludeFieldsFromResponse: this.fields.filter((field) => field.exclude).map((field) => field.field).join(","),
102
120
  fields: this.fields.filter((field) => field.includeExplicitly).map((field) => field.field).join(","),
103
121
  sort: this.fields.filter((field) => field.order !== undefined).map((field) => `${field.field}:${field.order}`).join(","),
122
+ filters: this.filters.map((filter) => `${filter.field}:${filter.operator}:${filter.value}`).join(",")
104
123
  };
105
124
  }
106
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"search-query.model.js","sourceRoot":"","sources":["../../../../src/models/search-query.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-query.model.js","sourceRoot":"","sources":["../../../../src/models/search-query.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAG9D,MAAM,OAAO,WAAW;IA4BpB,YAAY,OAA8B;;QA3B1C;;WAEG;QACH,WAAM,GAAuB,EAAE,CAAC;QAmBhC;;WAEG;QACH,YAAO,GAAwB,EAAE,CAAC;QAG9B,IAAI,CAAC,MAAM,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,mCAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,6BAA6B,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,6BAA6B,mCAAI,GAAG,CAAC;QACnF,IAAI,CAAC,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,mCAAI,SAAS,CAAC;IAC7C,CAAC;IAGD;;;OAGG;IACH,QAAQ,CAAC,SAAiB;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,MAAyB;QAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,KAAa;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE1C,IAAG,YAAY,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QAED,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,UAAU,CAAC,SAAiB;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,aAAa,CAAC,SAAS,EAAC,CAAC,CAAC,CAAC;YACpF,OAAO,aAAa,CAAC,SAAS,CAAC;QACnC,CAAC;QAED,MAAM,OAAO,GAAkB,KAAK,CAAC,KAAK,KAAK,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;QAE7H,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC;QAEtB,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,SAAiB,EAAE,KAAoB;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAC,CAAC,CAAC,CAAC;YAC3D,OAAO;QACX,CAAC;QAED,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,MAAM;aACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;aAC5C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAsB,EAAC,CAAC,CAAC,CAAC;IACrF,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,YAA4C;;QAC9D,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,YAAY,GAAG,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,MAAA,YAAY,CAAC,KAAK,mCAAI,IAAI,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,MAAA,YAAY,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;QAC3C,IAAI,CAAC,6BAA6B,GAAG,MAAA,YAAY,CAAC,6BAA6B,mCAAI,IAAI,CAAC,6BAA6B,CAAC;QACtH,IAAG,YAAY,CAAC,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,MAAA,MAAA,YAAY,CAAC,MAAM,0CAAE,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAC,iBAAiB,EAAE,IAAI,EAAC,CAAC,CAAC,mCAAI,IAAI,CAAC,MAAM,CAAC;QACxI,CAAC;QAED,IAAG,YAAY,CAAC,IAAI,EAAE,CAAC;YACnB,MAAA,YAAY,CAAC,IAAI,0CAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAChD,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEhD,oDAAoD;gBACpD,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,2DAA2D,CAAC,CAAC;gBACnG,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEvC,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;oBACrB,KAAK,CAAC,KAAK,GAAG,KAAsB,CAAC;oBACrC,OAAO;gBACX,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,EAAC,KAAK,EAAE,KAAsB,EAAC,CAAC,CAAC,CAAC;YACvF,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAG,YAAY,CAAC,OAAO,EAAE,CAAC;YACtB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC/C,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAEvD,IAAI,CAAC,SAAS,CAAC,IAAI,iBAAiB,CAAC,SAAS,EAAE,QAAiC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/F,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAG,YAAY,CAAC,yBAAyB,EAAE,CAAC;YACxC,MAAA,YAAY,CAAC,yBAAyB,0CAAE,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEvC,IAAG,KAAK,KAAK,SAAS,EAAE,CAAC;oBACrB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;oBACrB,OAAO;gBACX,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACjB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;YACjE,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAC7G,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpG,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACxH,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SACxG,CAAC;IACN,CAAC;CACJ"}
@@ -1 +1,2 @@
1
+ export * from "./filtering-operator.enum";
1
2
  export * from "./sort-order.enum";
@@ -0,0 +1,8 @@
1
+ export declare enum FilteringOperatorEnum {
2
+ Equal = "eq",
3
+ NotEqual = "ne",
4
+ GreaterThan = "gt",
5
+ GreaterThanOrEqual = "gte",
6
+ LessThan = "lt",
7
+ LessThanOrEqual = "lte"
8
+ }
@@ -25,4 +25,8 @@ export interface SearchQueryParametersInterface {
25
25
  * Separated by commas string of `field:asc|desc` to sort the results.
26
26
  */
27
27
  sort?: string;
28
+ /**
29
+ * Separated by commas string of `filter:field:operator:value` to filter the results.
30
+ */
31
+ filters?: string;
28
32
  }
@@ -1,3 +1,4 @@
1
+ export * from "./search-field-filter.model";
1
2
  export * from "./search-query.model";
2
3
  export * from "./search-query-field.model";
3
4
  export * from "./search-result.model";
@@ -0,0 +1,16 @@
1
+ import { FilteringOperatorEnum } from "../enums/filtering-operator.enum";
2
+ export declare class SearchFieldFilter {
3
+ /**
4
+ * The name of the field to filter.
5
+ */
6
+ field: string;
7
+ /**
8
+ * The value to filter.
9
+ */
10
+ value: string;
11
+ /**
12
+ * The operator to use to filter.
13
+ */
14
+ operator: FilteringOperatorEnum;
15
+ constructor(field: string, operator: FilteringOperatorEnum, value: string);
16
+ }
@@ -1,6 +1,7 @@
1
1
  import { SearchQueryField } from "./search-query-field.model";
2
2
  import { SortOrderEnum } from "../enums/sort-order.enum";
3
3
  import { SearchQueryParametersInterface } from "../interfaces/search-query-parameters.interface";
4
+ import { SearchFieldFilter } from "./search-field-filter.model";
4
5
  export declare class SearchQuery {
5
6
  /**
6
7
  * The list of fields on which actions or conditions will happen
@@ -20,12 +21,21 @@ export declare class SearchQuery {
20
21
  * The query to search for.
21
22
  */
22
23
  query?: string;
24
+ /**
25
+ * The filters to apply to the search.
26
+ */
27
+ filters: SearchFieldFilter[];
23
28
  constructor(options?: Partial<SearchQuery>);
24
29
  /**
25
30
  * This method returns the field by its name or undefined if not found.
26
31
  * @param fieldName
27
32
  */
28
33
  getField(fieldName: string): SearchQueryField | undefined;
34
+ /**
35
+ * This method adds a filter to the search query.
36
+ * @param filter
37
+ */
38
+ addFilter(filter: SearchFieldFilter): void;
29
39
  clearSort(field: string): void;
30
40
  toggleSort(fieldName: string): SortOrderEnum;
31
41
  setSort(fieldName: string, order: SortOrderEnum): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristine-ts/mysql-common",
3
- "version": "0.0.338",
3
+ "version": "0.0.340",
4
4
  "description": "",
5
5
  "module": "dist/lib/esm/mysql-common.js",
6
6
  "main": "dist/lib/cjs/mysql-common.js",
@@ -20,7 +20,7 @@
20
20
  "access": "public"
21
21
  },
22
22
  "dependencies": {
23
- "@pristine-ts/common": "^0.0.338",
23
+ "@pristine-ts/common": "^0.0.340",
24
24
  "@pristine-ts/metadata": "^1.0.13"
25
25
  },
26
26
  "jest": {
@@ -57,5 +57,5 @@
57
57
  "src/*.{js,ts}"
58
58
  ]
59
59
  },
60
- "gitHead": "bbb590a700675dbe137671b8930f67ba63a79027"
60
+ "gitHead": "1ddbbf50423b5536ab5affb0e275d1966c4eee98"
61
61
  }