@pristine-ts/opensearch 0.0.217

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 (78) hide show
  1. package/LICENSE +201 -0
  2. package/dist/lib/cjs/clients/clients.js +18 -0
  3. package/dist/lib/cjs/clients/clients.js.map +1 -0
  4. package/dist/lib/cjs/clients/open-search.client.js +218 -0
  5. package/dist/lib/cjs/clients/open-search.client.js.map +1 -0
  6. package/dist/lib/cjs/elastic-search.module.js +30 -0
  7. package/dist/lib/cjs/elastic-search.module.js.map +1 -0
  8. package/dist/lib/cjs/elastic-search.module.keyname.js +5 -0
  9. package/dist/lib/cjs/elastic-search.module.keyname.js.map +1 -0
  10. package/dist/lib/cjs/models/aggregation.model.js +14 -0
  11. package/dist/lib/cjs/models/aggregation.model.js.map +1 -0
  12. package/dist/lib/cjs/models/models.js +23 -0
  13. package/dist/lib/cjs/models/models.js.map +1 -0
  14. package/dist/lib/cjs/models/query.model.js +23 -0
  15. package/dist/lib/cjs/models/query.model.js.map +1 -0
  16. package/dist/lib/cjs/models/range.model.js +7 -0
  17. package/dist/lib/cjs/models/range.model.js.map +1 -0
  18. package/dist/lib/cjs/models/search-result-aggregation.model.js +12 -0
  19. package/dist/lib/cjs/models/search-result-aggregation.model.js.map +1 -0
  20. package/dist/lib/cjs/models/search-result.model.js +15 -0
  21. package/dist/lib/cjs/models/search-result.model.js.map +1 -0
  22. package/dist/lib/cjs/models/sort-query.model.js +7 -0
  23. package/dist/lib/cjs/models/sort-query.model.js.map +1 -0
  24. package/dist/lib/cjs/open-search.module.js +42 -0
  25. package/dist/lib/cjs/open-search.module.js.map +1 -0
  26. package/dist/lib/cjs/open-search.module.keyname.js +5 -0
  27. package/dist/lib/cjs/open-search.module.keyname.js.map +1 -0
  28. package/dist/lib/cjs/parsers/parsers.js +18 -0
  29. package/dist/lib/cjs/parsers/parsers.js.map +1 -0
  30. package/dist/lib/cjs/parsers/request-query.parser.js +137 -0
  31. package/dist/lib/cjs/parsers/request-query.parser.js.map +1 -0
  32. package/dist/lib/esm/clients/clients.js +2 -0
  33. package/dist/lib/esm/clients/clients.js.map +1 -0
  34. package/dist/lib/esm/clients/open-search.client.js +215 -0
  35. package/dist/lib/esm/clients/open-search.client.js.map +1 -0
  36. package/dist/lib/esm/elastic-search.module.js +13 -0
  37. package/dist/lib/esm/elastic-search.module.js.map +1 -0
  38. package/dist/lib/esm/elastic-search.module.keyname.js +2 -0
  39. package/dist/lib/esm/elastic-search.module.keyname.js.map +1 -0
  40. package/dist/lib/esm/models/aggregation.model.js +10 -0
  41. package/dist/lib/esm/models/aggregation.model.js.map +1 -0
  42. package/dist/lib/esm/models/models.js +7 -0
  43. package/dist/lib/esm/models/models.js.map +1 -0
  44. package/dist/lib/esm/models/query.model.js +19 -0
  45. package/dist/lib/esm/models/query.model.js.map +1 -0
  46. package/dist/lib/esm/models/range.model.js +3 -0
  47. package/dist/lib/esm/models/range.model.js.map +1 -0
  48. package/dist/lib/esm/models/search-result-aggregation.model.js +8 -0
  49. package/dist/lib/esm/models/search-result-aggregation.model.js.map +1 -0
  50. package/dist/lib/esm/models/search-result.model.js +11 -0
  51. package/dist/lib/esm/models/search-result.model.js.map +1 -0
  52. package/dist/lib/esm/models/sort-query.model.js +3 -0
  53. package/dist/lib/esm/models/sort-query.model.js.map +1 -0
  54. package/dist/lib/esm/open-search.module.js +25 -0
  55. package/dist/lib/esm/open-search.module.js.map +1 -0
  56. package/dist/lib/esm/open-search.module.keyname.js +2 -0
  57. package/dist/lib/esm/open-search.module.keyname.js.map +1 -0
  58. package/dist/lib/esm/parsers/parsers.js +2 -0
  59. package/dist/lib/esm/parsers/parsers.js.map +1 -0
  60. package/dist/lib/esm/parsers/request-query.parser.js +134 -0
  61. package/dist/lib/esm/parsers/request-query.parser.js.map +1 -0
  62. package/dist/types/clients/clients.d.ts +1 -0
  63. package/dist/types/clients/open-search.client.d.ts +19 -0
  64. package/dist/types/elastic-search.module.d.ts +3 -0
  65. package/dist/types/elastic-search.module.keyname.d.ts +1 -0
  66. package/dist/types/models/aggregation.model.d.ts +7 -0
  67. package/dist/types/models/models.d.ts +6 -0
  68. package/dist/types/models/query.model.d.ts +41 -0
  69. package/dist/types/models/range.model.d.ts +3 -0
  70. package/dist/types/models/search-result-aggregation.model.d.ts +4 -0
  71. package/dist/types/models/search-result.model.d.ts +9 -0
  72. package/dist/types/models/sort-query.model.d.ts +3 -0
  73. package/dist/types/open-search.module.d.ts +6 -0
  74. package/dist/types/open-search.module.keyname.d.ts +1 -0
  75. package/dist/types/parsers/parsers.d.ts +1 -0
  76. package/dist/types/parsers/request-query.parser.d.ts +5 -0
  77. package/package.json +63 -0
  78. package/readme.md +2 -0
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.OpenSearchModule = void 0;
18
+ const core_1 = require("@pristine-ts/core");
19
+ const open_search_module_keyname_1 = require("./open-search.module.keyname");
20
+ const aws_1 = require("@pristine-ts/aws");
21
+ const configuration_1 = require("@pristine-ts/configuration");
22
+ __exportStar(require("./clients/clients"), exports);
23
+ __exportStar(require("./models/models"), exports);
24
+ __exportStar(require("./parsers/parsers"), exports);
25
+ __exportStar(require("./open-search.module.keyname"), exports);
26
+ exports.OpenSearchModule = {
27
+ keyname: open_search_module_keyname_1.OpenSearchModuleKeyname,
28
+ configurationDefinitions: [
29
+ {
30
+ parameterName: open_search_module_keyname_1.OpenSearchModuleKeyname + ".domain-url",
31
+ isRequired: true,
32
+ defaultResolvers: [
33
+ new configuration_1.EnvironmentVariableResolver("PRISTINE_OPENSEARCH_DOMAIN_URL"),
34
+ ]
35
+ },
36
+ ],
37
+ importModules: [
38
+ aws_1.AwsModule,
39
+ core_1.CoreModule,
40
+ ],
41
+ };
42
+ //# sourceMappingURL=open-search.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-search.module.js","sourceRoot":"","sources":["../../../src/open-search.module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA6C;AAE7C,6EAAqE;AACrE,0CAA2C;AAC3C,8DAAuE;AAEvE,oDAAkC;AAClC,kDAAgC;AAChC,oDAAkC;AAElC,+DAA6C;AAEhC,QAAA,gBAAgB,GAAoB;IAC7C,OAAO,EAAE,oDAAuB;IAChC,wBAAwB,EAAE;QACtB;YACI,aAAa,EAAE,oDAAuB,GAAG,aAAa;YACtD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBACd,IAAI,2CAA2B,CAAC,gCAAgC,CAAC;aACpE;SACJ;KACJ;IACD,aAAa,EAAE;QACX,eAAS;QACT,iBAAU;KACb;CACJ,CAAA"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OpenSearchModuleKeyname = void 0;
4
+ exports.OpenSearchModuleKeyname = "pristine.opensearch";
5
+ //# sourceMappingURL=open-search.module.keyname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-search.module.keyname.js","sourceRoot":"","sources":["../../../src/open-search.module.keyname.ts"],"names":[],"mappings":";;;AAAa,QAAA,uBAAuB,GAAW,qBAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./request-query.parser"), exports);
18
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../../../src/parsers/parsers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.RequestQueryParser = void 0;
10
+ const query_model_1 = require("../models/query.model");
11
+ const aggregation_model_1 = require("../models/aggregation.model");
12
+ const range_model_1 = require("../models/range.model");
13
+ const url_1 = require("url");
14
+ const tsyringe_1 = require("tsyringe");
15
+ let RequestQueryParser = class RequestQueryParser {
16
+ parse(request) {
17
+ var _a, _b;
18
+ const openSearchQuery = new query_model_1.Query();
19
+ const url = new url_1.URL(request.url);
20
+ // Page
21
+ const page = url.searchParams.get("page");
22
+ if (page) {
23
+ openSearchQuery.page = isNaN(+page) ? undefined : +page;
24
+ }
25
+ // Query
26
+ const query = url.searchParams.get("query");
27
+ const searchType = url.searchParams.get("search_type");
28
+ const searchOperator = url.searchParams.get("search_operator");
29
+ if (query && query != "") {
30
+ openSearchQuery.query = query;
31
+ if (searchType && (searchType === "multi_match" || searchType === "query_string")) {
32
+ openSearchQuery.searchType = searchType;
33
+ openSearchQuery.searchOperator = (_a = searchOperator) !== null && _a !== void 0 ? _a : "and";
34
+ }
35
+ }
36
+ // Fields
37
+ const fields = url.searchParams.get("fields");
38
+ if (fields) {
39
+ openSearchQuery.fields = fields.split(",");
40
+ }
41
+ // Exclude fields from Response
42
+ const excludeFieldsFromResponse = url.searchParams.get("exclude_fields_from_response");
43
+ if (excludeFieldsFromResponse) {
44
+ openSearchQuery.excludeFieldsFromResponse = excludeFieldsFromResponse.split(",");
45
+ }
46
+ // Maximum number of results per page
47
+ const maximumNumberOfResultsPerPage = url.searchParams.get("maximum_number_of_results_per_page");
48
+ if (maximumNumberOfResultsPerPage) {
49
+ openSearchQuery.maximumNumberOfResultsPerPage = isNaN(+maximumNumberOfResultsPerPage) ? openSearchQuery.maximumNumberOfResultsPerPage : +maximumNumberOfResultsPerPage;
50
+ }
51
+ // Aggregation
52
+ const aggregationName = url.searchParams.get("aggregation_name");
53
+ const aggregationTerm = url.searchParams.get("aggregation_term");
54
+ const aggregationSize = url.searchParams.get("aggregation_size");
55
+ const aggregationSortOn = url.searchParams.get("aggregation_sort_on");
56
+ const aggregationSortOrder = url.searchParams.get("aggregation_sort_order");
57
+ if (aggregationName || aggregationTerm || aggregationSize) {
58
+ openSearchQuery.aggregation = new aggregation_model_1.Aggregation();
59
+ openSearchQuery.aggregation.name = aggregationName !== null && aggregationName !== void 0 ? aggregationName : openSearchQuery.aggregation.name;
60
+ openSearchQuery.aggregation.term = aggregationTerm !== null && aggregationTerm !== void 0 ? aggregationTerm : openSearchQuery.aggregation.term;
61
+ if (aggregationSize) {
62
+ openSearchQuery.aggregation.size = isNaN(+aggregationSize) ? openSearchQuery.aggregation.size : +aggregationSize;
63
+ }
64
+ switch (aggregationSortOn) {
65
+ case 'term':
66
+ openSearchQuery.aggregation.sortOn = '_term';
67
+ break;
68
+ case "count":
69
+ openSearchQuery.aggregation.sortOn = "_count";
70
+ break;
71
+ }
72
+ openSearchQuery.aggregation.sortOrder = (_b = aggregationSortOrder) !== null && _b !== void 0 ? _b : openSearchQuery.aggregation.sortOrder;
73
+ }
74
+ // Sort
75
+ const sort = url.searchParams.get("sort");
76
+ if (sort) {
77
+ openSearchQuery.sort = [];
78
+ const sortingPairs = sort.split(',');
79
+ for (const sortingPair of sortingPairs) {
80
+ const pair = sortingPair.split(":");
81
+ const term = pair[0];
82
+ let order = "asc";
83
+ if (pair[1] && (pair[1] === "desc" || pair[1] === "asc")) {
84
+ order = pair[1];
85
+ }
86
+ openSearchQuery.sort.push({
87
+ [term]: {
88
+ order,
89
+ },
90
+ });
91
+ }
92
+ }
93
+ // Conditions
94
+ const conditions = url.searchParams.get("conditions");
95
+ if (conditions) {
96
+ openSearchQuery.conditions = [];
97
+ const parsedConditions = conditions.split(',');
98
+ for (const condition of parsedConditions) {
99
+ const pair = condition.split(":");
100
+ const term = pair[0];
101
+ if (pair[1]) {
102
+ openSearchQuery.conditions.push({
103
+ [term]: pair[1],
104
+ });
105
+ }
106
+ }
107
+ }
108
+ /**
109
+ * range_key : {string} The property on which the filter will be applied. E.g: createdAt.
110
+ * range_conditions : {string} The condition(s), comma separated with no space, that will be applied. E.g: gte:5,lte:6 or gte:0.01
111
+ * Available Conditions : gte (greater then equal), lte (less then equal), gt (greater then), lt (less then),
112
+ * Followed by the value of that condition. For Date, use the Epoch number, since the date format is not in our ElasticSearch.
113
+ * For more information : https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html.
114
+ */
115
+ const rangeKey = url.searchParams.get("range_key");
116
+ const rangeConditions = url.searchParams.get("range_conditions");
117
+ if (rangeKey && typeof rangeConditions === "string") {
118
+ openSearchQuery.range = {};
119
+ const range = new range_model_1.Range();
120
+ const conditions = rangeConditions.split(",");
121
+ for (const condition of conditions) {
122
+ const pair = condition.split(":");
123
+ const term = pair[0];
124
+ if (pair[1]) {
125
+ range[term] = isNaN(+pair[1]) ? pair[1] : +pair[1];
126
+ }
127
+ }
128
+ openSearchQuery.range[rangeKey] = range;
129
+ }
130
+ return openSearchQuery;
131
+ }
132
+ };
133
+ RequestQueryParser = __decorate([
134
+ (0, tsyringe_1.injectable)()
135
+ ], RequestQueryParser);
136
+ exports.RequestQueryParser = RequestQueryParser;
137
+ //# sourceMappingURL=request-query.parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-query.parser.js","sourceRoot":"","sources":["../../../../src/parsers/request-query.parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./open-search.client";
2
+ //# sourceMappingURL=clients.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../../src/clients/clients.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,215 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
11
+ return function (target, key) { decorator(target, key, paramIndex); }
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ import { injectable, inject } from "tsyringe";
23
+ import { SearchResult } from "../models/search-result.model";
24
+ import { AwsModuleKeyname } from "@pristine-ts/aws";
25
+ import { OpenSearchModuleKeyname } from "../open-search.module.keyname";
26
+ import { defaultProvider } from "@aws-sdk/credential-provider-node"; // V3 SDK.
27
+ import { Client } from '@opensearch-project/opensearch';
28
+ import { AwsSigv4Signer } from '@opensearch-project/opensearch/aws';
29
+ import { SearchResultAggregation } from "../models/search-result-aggregation.model";
30
+ let OpenSearchClient = class OpenSearchClient {
31
+ constructor(domainUrl, region, logHandler) {
32
+ this.domainUrl = domainUrl;
33
+ this.region = region;
34
+ this.logHandler = logHandler;
35
+ }
36
+ getClient() {
37
+ return new Client(Object.assign(Object.assign({}, AwsSigv4Signer({
38
+ region: this.region,
39
+ getCredentials: () => {
40
+ const credentialsProvider = defaultProvider();
41
+ return credentialsProvider();
42
+ },
43
+ })), { node: this.domainUrl }));
44
+ }
45
+ parseResponse(response, resultClassObject, currentPage, maximumNumberOfResultsPerPage) {
46
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const searchResult = new SearchResult();
49
+ searchResult.currentPage = currentPage !== null && currentPage !== void 0 ? currentPage : searchResult.currentPage;
50
+ searchResult.maximumNumberOfResultsPerPage = maximumNumberOfResultsPerPage !== null && maximumNumberOfResultsPerPage !== void 0 ? maximumNumberOfResultsPerPage : searchResult.maximumNumberOfResultsPerPage;
51
+ searchResult.numberOfReturnedResults = (_d = (_c = (_b = (_a = response === null || response === void 0 ? void 0 : response.body) === null || _a === void 0 ? void 0 : _a.hits) === null || _b === void 0 ? void 0 : _b.hits) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : searchResult.numberOfReturnedResults;
52
+ searchResult.total = (_h = (_g = (_f = (_e = response === null || response === void 0 ? void 0 : response.body) === null || _e === void 0 ? void 0 : _e.hits) === null || _f === void 0 ? void 0 : _f.total) === null || _g === void 0 ? void 0 : _g.value) !== null && _h !== void 0 ? _h : searchResult.total;
53
+ searchResult.results = (_l = (_k = (_j = response === null || response === void 0 ? void 0 : response.body) === null || _j === void 0 ? void 0 : _j.hits) === null || _k === void 0 ? void 0 : _k.hits) !== null && _l !== void 0 ? _l : 0;
54
+ if ((_m = response === null || response === void 0 ? void 0 : response.body) === null || _m === void 0 ? void 0 : _m.aggregations) {
55
+ const keys = Object.keys((_o = response === null || response === void 0 ? void 0 : response.body) === null || _o === void 0 ? void 0 : _o.aggregations);
56
+ keys.forEach(key => {
57
+ var _a, _b;
58
+ const aggregation = new SearchResultAggregation();
59
+ aggregation.name = key;
60
+ aggregation.results = [];
61
+ for (const bucket of (_b = (_a = response === null || response === void 0 ? void 0 : response.body) === null || _a === void 0 ? void 0 : _a.aggregations[key]) === null || _b === void 0 ? void 0 : _b.buckets) {
62
+ aggregation.results.push({
63
+ value: bucket.key,
64
+ docCount: bucket.doc_count,
65
+ });
66
+ }
67
+ searchResult.aggregations.push(aggregation);
68
+ });
69
+ }
70
+ return searchResult;
71
+ });
72
+ }
73
+ search(indexName, resultClassObject, query) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ try {
76
+ const client = this.getClient();
77
+ yield this.logHandler.debug("OpenSearch CLIENT - Searching for query.", { query }, OpenSearchModuleKeyname);
78
+ const startIndex = (query.page ? query.page - 1 : 0) * query.maximumNumberOfResultsPerPage;
79
+ const params = {
80
+ index: indexName,
81
+ body: {
82
+ from: startIndex,
83
+ size: query.maximumNumberOfResultsPerPage,
84
+ sort: query.sort,
85
+ _source: {
86
+ excludes: query.excludeFieldsFromResponse,
87
+ },
88
+ query: {
89
+ bool: {
90
+ must: [],
91
+ },
92
+ },
93
+ },
94
+ };
95
+ if (query.query && query.query !== "") {
96
+ if (query.searchType === "query_string") {
97
+ params.body.query.bool.must.push({
98
+ query_string: {
99
+ query: query.query,
100
+ fields: query.fields,
101
+ },
102
+ });
103
+ }
104
+ if (query.searchType === "multi_match") {
105
+ params.body.query.bool.must.push({
106
+ multi_match: {
107
+ query: query.query,
108
+ fields: query.fields,
109
+ type: "cross_fields",
110
+ operator: query.searchOperator,
111
+ },
112
+ });
113
+ }
114
+ }
115
+ if (query.conditions && query.conditions.length > 0) {
116
+ for (const condition of query.conditions) {
117
+ params.body.query.bool.must.push({
118
+ term: condition,
119
+ });
120
+ }
121
+ }
122
+ if (query.aggregation) {
123
+ params.body.aggs = {
124
+ [query.aggregation.name]: {
125
+ terms: {
126
+ field: query.aggregation.term,
127
+ size: query.aggregation.size,
128
+ order: {
129
+ [query.aggregation.sortOn]: query.aggregation.sortOrder,
130
+ },
131
+ },
132
+ },
133
+ };
134
+ }
135
+ if (query.range) {
136
+ params.body.query.bool.must.push({
137
+ range: query.range,
138
+ });
139
+ }
140
+ yield this.logHandler.debug("ELASTIC SEARCH CLIENT - Querying OpenSearch with params.", { params }, OpenSearchModuleKeyname);
141
+ const response = yield client.search(params);
142
+ yield this.logHandler.debug("ELASTIC SEARCH CLIENT - Received response", { response, indexName, resultClassObject, OpenSearchQuery: query }, OpenSearchModuleKeyname);
143
+ return yield this.parseResponse(response, resultClassObject, query.page, query.maximumNumberOfResultsPerPage);
144
+ }
145
+ catch (e) {
146
+ yield this.logHandler.error("ELASTIC SEARCH CLIENT", { error: e, indexName, resultClassObject, OpenSearchQuery: query }, OpenSearchModuleKeyname);
147
+ throw e;
148
+ }
149
+ });
150
+ }
151
+ createIndex(name) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ const response = yield this.getClient().indices.create({
154
+ index: name,
155
+ });
156
+ this.logHandler.debug("Index creation response", { name, response }, OpenSearchModuleKeyname);
157
+ });
158
+ }
159
+ deleteIndex(name) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ const response = yield this.getClient().indices.delete({
162
+ index: name,
163
+ });
164
+ this.logHandler.debug("Index deletion response", { name, response }, OpenSearchModuleKeyname);
165
+ });
166
+ }
167
+ createDocument(indexName, id, document) {
168
+ return __awaiter(this, void 0, void 0, function* () {
169
+ const response = this.getClient().create({
170
+ index: indexName,
171
+ id,
172
+ body: document,
173
+ });
174
+ this.logHandler.debug("Create document response", { indexName, id, document, response }, OpenSearchModuleKeyname);
175
+ });
176
+ }
177
+ indexDocument(indexName, id, document) {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ const response = yield this.getClient().index({
180
+ index: indexName,
181
+ id,
182
+ body: document,
183
+ });
184
+ this.logHandler.debug("Index document response", { indexName, id, document, response }, OpenSearchModuleKeyname);
185
+ });
186
+ }
187
+ updateDocument(indexName, id, document) {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ const response = yield this.getClient().update({
190
+ index: indexName,
191
+ id,
192
+ body: document,
193
+ });
194
+ this.logHandler.debug("Update document response", { indexName, id, document, response }, OpenSearchModuleKeyname);
195
+ });
196
+ }
197
+ deleteDocument(indexName, id) {
198
+ return __awaiter(this, void 0, void 0, function* () {
199
+ const response = yield this.getClient().delete({
200
+ index: indexName,
201
+ id,
202
+ });
203
+ this.logHandler.debug("Delete document response", { indexName, id, response }, OpenSearchModuleKeyname);
204
+ });
205
+ }
206
+ };
207
+ OpenSearchClient = __decorate([
208
+ injectable(),
209
+ __param(0, inject(`%${OpenSearchModuleKeyname}.domain-url%`)),
210
+ __param(1, inject(`%${AwsModuleKeyname}.region`)),
211
+ __param(2, inject("LogHandlerInterface")),
212
+ __metadata("design:paramtypes", [String, String, Object])
213
+ ], OpenSearchClient);
214
+ export { OpenSearchClient };
215
+ //# sourceMappingURL=open-search.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-search.client.js","sourceRoot":"","sources":["../../../../src/clients/open-search.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { CoreModule } from "@pristine-ts/core";
2
+ import { HttpModule } from "@pristine-ts/http";
3
+ import { ElasticSearchModuleKeyname } from "./elastic-search.module.keyname";
4
+ // Mappers
5
+ export * from "./elastic-search.module.keyname";
6
+ export const ElasticSearchModule = {
7
+ keyname: ElasticSearchModuleKeyname,
8
+ importModules: [
9
+ CoreModule,
10
+ HttpModule,
11
+ ]
12
+ };
13
+ //# sourceMappingURL=elastic-search.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elastic-search.module.js","sourceRoot":"","sources":["../../../src/elastic-search.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,0BAA0B,EAAC,MAAM,iCAAiC,CAAC;AAE3E,UAAU;AAEV,cAAc,iCAAiC,CAAC;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAoB;IAChD,OAAO,EAAE,0BAA0B;IACnC,aAAa,EAAE;QACX,UAAU;QACV,UAAU;KACb;CACJ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const ElasticSearchModuleKeyname = "pristine.elasticsearch";
2
+ //# sourceMappingURL=elastic-search.module.keyname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elastic-search.module.keyname.js","sourceRoot":"","sources":["../../../src/elastic-search.module.keyname.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAW,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export class Aggregation {
2
+ constructor() {
3
+ this.name = "";
4
+ this.term = "";
5
+ this.size = 10;
6
+ this.sortOn = "_term";
7
+ this.sortOrder = "asc";
8
+ }
9
+ }
10
+ //# sourceMappingURL=aggregation.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aggregation.model.js","sourceRoot":"","sources":["../../../../src/models/aggregation.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAAxB;QACI,SAAI,GAAW,EAAE,CAAC;QAClB,SAAI,GAAW,EAAE,CAAC;QAClB,SAAI,GAAW,EAAE,CAAC;QAClB,WAAM,GAAuB,OAAO,CAAC;QACrC,cAAS,GAAmB,KAAK,CAAC;IACtC,CAAC;CAAA"}
@@ -0,0 +1,7 @@
1
+ export * from "./aggregation.model";
2
+ export * from "./query.model";
3
+ export * from "./range.model";
4
+ export * from "./search-result.model";
5
+ export * from "./search-result-aggregation.model";
6
+ export * from "./sort-query.model";
7
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../../src/models/models.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,19 @@
1
+ export class Query {
2
+ constructor() {
3
+ /**
4
+ * "sort": [
5
+ * {
6
+ * "priority": {
7
+ * "order": "asc"
8
+ * }
9
+ * }
10
+ * ]
11
+ */
12
+ this.sort = [];
13
+ this.excludeFieldsFromResponse = [];
14
+ this.fields = [];
15
+ this.conditions = [];
16
+ this.maximumNumberOfResultsPerPage = 50;
17
+ }
18
+ }
19
+ //# sourceMappingURL=query.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.model.js","sourceRoot":"","sources":["../../../../src/models/query.model.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,KAAK;IAAlB;QACI;;;;;;;;WAQG;QACH,SAAI,GAAiC,EAAE,CAAC;QACxC,8BAAyB,GAAa,EAAE,CAAC;QACzC,WAAM,GAAa,EAAE,CAAC;QACtB,eAAU,GAAiD,EAAE,CAAC;QAE9D,kCAA6B,GAAW,EAAE,CAAC;IAgB/C,CAAC;CAAA"}
@@ -0,0 +1,3 @@
1
+ export class Range {
2
+ }
3
+ //# sourceMappingURL=range.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range.model.js","sourceRoot":"","sources":["../../../../src/models/range.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;CAGjB"}
@@ -0,0 +1,8 @@
1
+ import { Aggregation } from "./aggregation.model";
2
+ export class SearchResultAggregation extends Aggregation {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.results = [];
6
+ }
7
+ }
8
+ //# sourceMappingURL=search-result-aggregation.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-result-aggregation.model.js","sourceRoot":"","sources":["../../../../src/models/search-result-aggregation.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IAAxD;;QACI,YAAO,GAAU,EAAE,CAAC;IACxB,CAAC;CAAA"}
@@ -0,0 +1,11 @@
1
+ export class SearchResult {
2
+ constructor() {
3
+ this.total = 0;
4
+ this.numberOfReturnedResults = 0;
5
+ this.results = [];
6
+ this.maximumNumberOfResultsPerPage = 50;
7
+ this.currentPage = 1;
8
+ this.aggregations = [];
9
+ }
10
+ }
11
+ //# sourceMappingURL=search-result.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-result.model.js","sourceRoot":"","sources":["../../../../src/models/search-result.model.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,YAAY;IAAzB;QACI,UAAK,GAAW,CAAC,CAAC;QAClB,4BAAuB,GAAW,CAAC,CAAC;QACpC,YAAO,GAAQ,EAAE,CAAC;QAClB,kCAA6B,GAAW,EAAE,CAAC;QAC3C,gBAAW,GAAW,CAAC,CAAC;QACxB,iBAAY,GAA8B,EAAE,CAAA;IAChD,CAAC;CAAA"}
@@ -0,0 +1,3 @@
1
+ export class SortQuery {
2
+ }
3
+ //# sourceMappingURL=sort-query.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort-query.model.js","sourceRoot":"","sources":["../../../../src/models/sort-query.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;CAErB"}
@@ -0,0 +1,25 @@
1
+ import { CoreModule } from "@pristine-ts/core";
2
+ import { OpenSearchModuleKeyname } from "./open-search.module.keyname";
3
+ import { AwsModule } from "@pristine-ts/aws";
4
+ import { EnvironmentVariableResolver } from "@pristine-ts/configuration";
5
+ export * from "./clients/clients";
6
+ export * from "./models/models";
7
+ export * from "./parsers/parsers";
8
+ export * from "./open-search.module.keyname";
9
+ export const OpenSearchModule = {
10
+ keyname: OpenSearchModuleKeyname,
11
+ configurationDefinitions: [
12
+ {
13
+ parameterName: OpenSearchModuleKeyname + ".domain-url",
14
+ isRequired: true,
15
+ defaultResolvers: [
16
+ new EnvironmentVariableResolver("PRISTINE_OPENSEARCH_DOMAIN_URL"),
17
+ ]
18
+ },
19
+ ],
20
+ importModules: [
21
+ AwsModule,
22
+ CoreModule,
23
+ ],
24
+ };
25
+ //# sourceMappingURL=open-search.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-search.module.js","sourceRoot":"","sources":["../../../src/open-search.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC;AAEvE,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,cAAc,8BAA8B,CAAC;AAE7C,MAAM,CAAC,MAAM,gBAAgB,GAAoB;IAC7C,OAAO,EAAE,uBAAuB;IAChC,wBAAwB,EAAE;QACtB;YACI,aAAa,EAAE,uBAAuB,GAAG,aAAa;YACtD,UAAU,EAAE,IAAI;YAChB,gBAAgB,EAAE;gBACd,IAAI,2BAA2B,CAAC,gCAAgC,CAAC;aACpE;SACJ;KACJ;IACD,aAAa,EAAE;QACX,SAAS;QACT,UAAU;KACb;CACJ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const OpenSearchModuleKeyname = "pristine.opensearch";
2
+ //# sourceMappingURL=open-search.module.keyname.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-search.module.keyname.js","sourceRoot":"","sources":["../../../src/open-search.module.keyname.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,uBAAuB,GAAW,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './request-query.parser';
2
+ //# sourceMappingURL=parsers.js.map