@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.
- package/dist/lib/cjs/enums/enums.js +1 -0
- package/dist/lib/cjs/enums/enums.js.map +1 -1
- package/dist/lib/cjs/enums/filtering-operator.enum.js +13 -0
- package/dist/lib/cjs/enums/filtering-operator.enum.js.map +1 -0
- package/dist/lib/cjs/models/models.js +1 -0
- package/dist/lib/cjs/models/models.js.map +1 -1
- package/dist/lib/cjs/models/search-field-filter.model.js +12 -0
- package/dist/lib/cjs/models/search-field-filter.model.js.map +1 -0
- package/dist/lib/cjs/models/search-query.model.js +19 -0
- package/dist/lib/cjs/models/search-query.model.js.map +1 -1
- package/dist/lib/esm/enums/enums.js +1 -0
- package/dist/lib/esm/enums/enums.js.map +1 -1
- package/dist/lib/esm/enums/filtering-operator.enum.js +10 -0
- package/dist/lib/esm/enums/filtering-operator.enum.js.map +1 -0
- package/dist/lib/esm/models/models.js +1 -0
- package/dist/lib/esm/models/models.js.map +1 -1
- package/dist/lib/esm/models/search-field-filter.model.js +8 -0
- package/dist/lib/esm/models/search-field-filter.model.js.map +1 -0
- package/dist/lib/esm/models/search-query.model.js +19 -0
- package/dist/lib/esm/models/search-query.model.js.map +1 -1
- package/dist/types/enums/enums.d.ts +1 -0
- package/dist/types/enums/filtering-operator.enum.d.ts +8 -0
- package/dist/types/interfaces/search-query-parameters.interface.d.ts +4 -0
- package/dist/types/models/models.d.ts +1 -0
- package/dist/types/models/search-field-filter.model.d.ts +16 -0
- package/dist/types/models/search-query.model.d.ts +10 -0
- 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":";;;AAAA,yEAA4D;AAC5D,8DAAuD;
|
|
1
|
+
{"version":3,"file":"search-query.model.js","sourceRoot":"","sources":["../../../../src/models/search-query.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 +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 @@
|
|
|
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":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"search-query.model.js","sourceRoot":"","sources":["../../../../src/models/search-query.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
}
|
|
@@ -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.
|
|
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.
|
|
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": "
|
|
60
|
+
"gitHead": "1ddbbf50423b5536ab5affb0e275d1966c4eee98"
|
|
61
61
|
}
|