@restorecommerce/chassis-srv 1.0.1 → 1.1.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/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ### 1.1.0 (October 4th, 2022)
2
+
3
+ - support for full text search
4
+
5
+ ### 1.0.2 (August 25th, 2022)
6
+
7
+ - move dev deps to main deps as needed by other modules
8
+
1
9
  ### 1.0.1 (August 25th, 2022)
2
10
 
3
11
  - added google-protobuf as main dep as needed by reflection service
@@ -14,7 +14,8 @@ A base service part of the link:https://github.com/restorecommerce[Restorecommer
14
14
  * Retry and timeout logic
15
15
  * Even sourcing via Kafka messaging
16
16
  * Endpoint calls with custom middleware
17
- * Primitives for logging, database access, cache handling or exposing system commands.
17
+ * Primitives for logging, database access, cache handling or exposing system commands
18
+ * full text search for ArangoDB
18
19
 
19
20
  [#architecture]
20
21
  == Architecture
@@ -122,6 +123,40 @@ Database providers can be used as a database abstraction by any service that own
122
123
  Furthermore, services can later expose their database operations via gRPC.
123
124
  Exposure of these operations is easily achieved using the https://github.com/restorecommerce/resource-base-interface[resource-base-interface].
124
125
 
126
+ [#configuration_full_text_search]
127
+ ==== Full text search
128
+
129
+ Full text search is supported currently for ArangoDB in `chassis-srv`.
130
+ A view should be created for each entity with the list of fields to be indexed.
131
+ The View definition such as entity to which the view links to and the set of fields to be indexed with supported list of analyzers can be configured in view definition.
132
+ Currently `ngram` and `pipeline` type analyzers are supported, analyzer options can be changed via configuration file.
133
+
134
+ To enable the full text search for entity the collection name and view configuration file should be specified in https://github.com/restorecommerce/chassis-srv/blob/master/test/cfg/config.json#L22[configuration].
135
+ Enable search with `database.arango.arangoSearch` a list containing `collectionName` and `path` to View and Analyzer configuration file
136
+
137
+ Refer https://github.com/restorecommerce/chassis-srv/blob/master/test/views/users_view.json#[user view] configuration for test View and Analyzer configuration.
138
+
139
+ The following Analyzer specific configuration properties are available :
140
+
141
+ * `analyzers` [`string [ ]`]: supported analyzers list
142
+ * `analyzerOptions.type` [`string`]: type of analyzer currently `ngram` and `pipeline` are supported
143
+ * `analyzerOptions.properties.min` [`number`]: minimum n-gram size to match from search string
144
+ * `analyzerOptions.properties.max` [`number`]: maximum n-gram size to match from search string
145
+ * `analyzerOptions.properties.preserveOriginal` [`boolean`]: `true` to include the original value as well, `false` to produce the n-grams based on min and max only
146
+ * `analyzerOptions.properties.startMarker` [`string, optional`]: this value will be prepended to n-grams which include the beginning of the input. Can be used for matching prefixes. Choose a character or sequence as marker which does not occur in the input.
147
+ * `analyzerOptions.properties.endMarker` [`string, optional`]: this value will be appended to n-grams which include the end of the input. Can be used for matching suffixes. Choose a character or sequence as marker which does not occur in the input.
148
+ * `analyzerOptions.properties.streamType` [`string, optional`]: type of the input stream `binary` one byte is considered as one character (default) `utf8` one Unicode codepoint is treated as one character.
149
+
150
+ The following View specific configuration properties are available:
151
+
152
+ * `view.CollectionName` [`string`]: collection name to which view links to.
153
+ * `view.viewName` [`string`]: View name
154
+ * `view.similarityThreshold` [`number`]: to assess the similarity of longer strings that share subsequences value betwen `0.0` and `1.0`
155
+ * `view.options`: View Options containing list of `fields` to be indexed with applicable `analyzers` for each field.
156
+
157
+ Refer test for further
158
+ For more details refer https://github.com/restorecommerce/chassis-srv/blob/master/test/database.spec.ts#L525[full text search tests].
159
+
125
160
  [#configuration_command_interface]
126
161
  === Command Interface
127
162
 
@@ -27,6 +27,8 @@ export interface DatabaseProvider {
27
27
  registerCustomQuery?: (name: string, script: string, type?: string) => any;
28
28
  unregisterCustomQuery?: (name: string) => any;
29
29
  listCustomQueries?: () => Array<any>;
30
+ deleteAnalyzer(analyzerName: string[]): Promise<any>;
31
+ dropView(viewName: string[]): Promise<any>;
30
32
  }
31
33
  export interface GraphDatabaseProvider extends DatabaseProvider {
32
34
  createGraphDB(graphName: string): any;
@@ -1,5 +1,7 @@
1
1
  import { Database } from 'arangojs';
2
2
  import { DatabaseProvider } from '../..';
3
+ import { ViewAnalyzerOptions, ViewMap } from './interface';
4
+ import { Logger } from 'winston';
3
5
  export interface CustomQuery {
4
6
  code: string;
5
7
  type: 'filter' | 'query';
@@ -10,11 +12,13 @@ export interface CustomQuery {
10
12
  export declare class Arango implements DatabaseProvider {
11
13
  db: Database;
12
14
  customQueries: Map<string, CustomQuery>;
15
+ collectionNameAnalyzerMap: Map<string, ViewMap>;
16
+ logger: Logger;
13
17
  /**
14
18
  *
15
19
  * @param {Object} conn Arangojs database connection.
16
20
  */
17
- constructor(conn: any);
21
+ constructor(conn: any, logger?: Logger);
18
22
  /**
19
23
  * Find documents based on filter.
20
24
  *
@@ -80,6 +84,16 @@ export declare class Arango implements DatabaseProvider {
80
84
  * @param [string] collection Collection name.
81
85
  */
82
86
  truncate(collection: string): Promise<any>;
87
+ /**
88
+ * Drop view
89
+ * @param string[] list of view names.
90
+ */
91
+ dropView(viewName: string[]): Promise<any>;
92
+ /**
93
+ * Delete Analyzer
94
+ * @param string[] list of analyzer names.
95
+ */
96
+ deleteAnalyzer(analyzerName: string[]): Promise<any>;
83
97
  /**
84
98
  * Insert documents into database.
85
99
  *
@@ -100,4 +114,5 @@ export declare class Arango implements DatabaseProvider {
100
114
  */
101
115
  unregisterCustomQuery(name: string): void;
102
116
  listCustomQueries(): Array<any>;
117
+ createAnalyzerAndView(viewConfig: ViewAnalyzerOptions, collectionName: string): Promise<void>;
103
118
  }
@@ -35,9 +35,11 @@ class Arango {
35
35
  *
36
36
  * @param {Object} conn Arangojs database connection.
37
37
  */
38
- constructor(conn) {
38
+ constructor(conn, logger) {
39
39
  this.db = conn;
40
40
  this.customQueries = new Map();
41
+ this.logger = logger;
42
+ this.collectionNameAnalyzerMap = new Map();
41
43
  }
42
44
  /**
43
45
  * Find documents based on filter.
@@ -50,6 +52,7 @@ class Arango {
50
52
  async find(collectionName, filter, options) {
51
53
  if (_.isNil(collectionName) || !_.isString(collectionName) ||
52
54
  _.isEmpty(collectionName)) {
55
+ this.logger.error('invalid or missing collection argument for find operation');
53
56
  throw new Error('invalid or missing collection argument for find operation');
54
57
  }
55
58
  let filterQuery = filter || {};
@@ -61,6 +64,7 @@ class Arango {
61
64
  if (!_.isEmpty(opts.customQueries)) {
62
65
  for (let queryName of opts.customQueries) {
63
66
  if (!this.customQueries.has(queryName)) {
67
+ this.logger.error(`custom query ${common_1.query} not found`);
64
68
  throw new Error(`custom query ${common_1.query} not found`);
65
69
  }
66
70
  const customQuery = this.customQueries.get(queryName);
@@ -93,7 +97,56 @@ class Arango {
93
97
  if (_.isEmpty(returnQuery)) {
94
98
  returnQuery = 'RETURN node';
95
99
  }
100
+ // if search options are set build search query
101
+ let searchQuery;
102
+ if (opts?.search?.search) {
103
+ const searchString = JSON.stringify(options.search.search);
104
+ if (this.collectionNameAnalyzerMap && this.collectionNameAnalyzerMap.get(collectionName)) {
105
+ const searchFields = (options?.search?.fields?.length > 0) ? options.search.fields : this.collectionNameAnalyzerMap.get(collectionName).fields;
106
+ const similarityThreshold = this.collectionNameAnalyzerMap.get(collectionName).similarityThreshold;
107
+ const viewName = this.collectionNameAnalyzerMap.get(collectionName).viewName;
108
+ const caseSensitive = options?.search?.case_sensitive;
109
+ const analyzerOptions = this.collectionNameAnalyzerMap.get(collectionName).analyzerOptions;
110
+ let analyzerName;
111
+ if (caseSensitive) {
112
+ // for casesensitive search use "ngram" analayzer type
113
+ analyzerOptions.forEach((optionObj) => {
114
+ let keyName = Object.keys(optionObj)[0];
115
+ if (optionObj[keyName].type === 'ngram') {
116
+ analyzerName = JSON.stringify(keyName);
117
+ }
118
+ });
119
+ }
120
+ else {
121
+ // for case-insensitive search use "pipleline" type (ngram + norm)
122
+ analyzerOptions.forEach((optionObj) => {
123
+ let keyName = Object.keys(optionObj)[0];
124
+ if (optionObj[keyName].type === 'pipeline') {
125
+ analyzerName = JSON.stringify(keyName);
126
+ }
127
+ });
128
+ }
129
+ for (let field of searchFields) {
130
+ if (!searchQuery) {
131
+ searchQuery = `NGRAM_MATCH(node.${field}, ${searchString}, ${similarityThreshold}, ${analyzerName}) `;
132
+ }
133
+ else {
134
+ searchQuery = searchQuery + `OR NGRAM_MATCH(node.${field}, ${searchString}, ${similarityThreshold}, ${analyzerName}) `;
135
+ }
136
+ }
137
+ // override collection name with view name
138
+ collectionName = viewName;
139
+ // override sortQuery (to rank based on score for frequency search match - term frequency–inverse document frequency algorithm TF-IDF)
140
+ sortQuery = `SORT TFIDF(node) DESC`;
141
+ }
142
+ else {
143
+ this.logger.info(`View and analyzer configuration data not set for ${collectionName} and hence ignoring search string`);
144
+ }
145
+ }
96
146
  let queryString = `FOR node in @@collection FILTER ${filterQuery}`;
147
+ if (searchQuery) {
148
+ queryString = `FOR node in @@collection SEARCH ${searchQuery} FILTER ${filterQuery}`;
149
+ }
97
150
  if (!_.isEmpty(customFilter)) {
98
151
  queryString += customFilter;
99
152
  }
@@ -127,7 +180,13 @@ class Arango {
127
180
  if (!_.isEmpty(customFilter) && opts.customArguments) {
128
181
  bindVars = _.assign(bindVars, opts.customArguments);
129
182
  }
130
- const res = await (0, common_1.query)(this.db, collectionName, queryString, bindVars);
183
+ let res;
184
+ if (!searchQuery) {
185
+ res = await (0, common_1.query)(this.db, collectionName, queryString, bindVars);
186
+ }
187
+ else {
188
+ res = await this.db.query(queryString, bindVars);
189
+ }
131
190
  const docs = await res.all(); // TODO: paginate
132
191
  return _.map(docs, common_1.sanitizeOutputFields);
133
192
  }
@@ -141,9 +200,11 @@ class Arango {
141
200
  async findByID(collectionName, ids) {
142
201
  if (_.isNil(collectionName) || !_.isString(collectionName) ||
143
202
  _.isEmpty(collectionName)) {
203
+ this.logger.error('invalid or missing collection argument for findByID operation');
144
204
  throw new Error('invalid or missing collection argument for findByID operation');
145
205
  }
146
206
  if (_.isNil(ids)) {
207
+ this.logger.error('invalid or missing ids argument for findByID operation');
147
208
  throw new Error('invalid or missing ids argument for findByID operation');
148
209
  }
149
210
  if (!_.isArray(ids)) {
@@ -205,17 +266,21 @@ class Arango {
205
266
  let updateDocsResponse = [];
206
267
  if (_.isNil(collectionName) ||
207
268
  !_.isString(collectionName) || _.isEmpty(collectionName)) {
269
+ this.logger.error('invalid or missing collection argument for update operation');
208
270
  throw new Error('invalid or missing collection argument for update operation');
209
271
  }
210
272
  if (_.isNil(documents)) {
273
+ this.logger.error('invalid or missing document argument for update operation');
211
274
  throw new Error('invalid or missing document argument for update operation');
212
275
  }
213
276
  const collection = this.db.collection(collectionName);
214
277
  const collectionExists = await collection.exists();
215
278
  if (!collectionExists) {
279
+ this.logger.error(`Collection ${collectionName} does not exist for update operation`);
216
280
  throw new Error(`Collection ${collectionName} does not exist for update operation`);
217
281
  }
218
282
  if (!_.isArray(documents)) {
283
+ this.logger.error(`Documents should be list for update operation`);
219
284
  throw new Error(`Documents should be list for update operation`);
220
285
  }
221
286
  const docsWithHandlers = await this.getDocumentHandlers(collectionName, collection, documents);
@@ -256,9 +321,11 @@ class Arango {
256
321
  async upsert(collectionName, documents) {
257
322
  if (_.isNil(collectionName) ||
258
323
  !_.isString(collectionName) || _.isEmpty(collectionName)) {
324
+ this.logger.error('invalid or missing collection argument for upsert operation');
259
325
  throw new Error('invalid or missing collection argument for upsert operation');
260
326
  }
261
327
  if (_.isNil(documents)) {
328
+ this.logger.error('invalid or missing documents argument for upsert operation');
262
329
  throw new Error('invalid or missing documents argument for upsert operation');
263
330
  }
264
331
  let docs = _.cloneDeep(documents);
@@ -272,6 +339,7 @@ class Arango {
272
339
  const collection = this.db.collection(collectionName);
273
340
  const collectionExists = await collection.exists();
274
341
  if (!collectionExists) {
342
+ this.logger.error(`Collection ${collectionName} does not exist for upsert operation`);
275
343
  throw new Error(`Collection ${collectionName} does not exist for upsert operation`);
276
344
  }
277
345
  let upsertedDocs = await collection.saveAll(docs, { returnNew: true, overwrite: true });
@@ -298,14 +366,17 @@ class Arango {
298
366
  async delete(collectionName, ids) {
299
367
  if (_.isNil(collectionName) ||
300
368
  !_.isString(collectionName) || _.isEmpty(collectionName)) {
369
+ this.logger.error('invalid or missing collection argument');
301
370
  throw new Error('invalid or missing collection argument');
302
371
  }
303
372
  if (_.isNil(ids) || _.isEmpty(ids)) {
373
+ this.logger.error('invalid or missing document IDs argument for delete operation');
304
374
  throw new Error('invalid or missing document IDs argument for delete operation');
305
375
  }
306
376
  const collection = this.db.collection(collectionName);
307
377
  const collectionExists = await collection.exists();
308
378
  if (!collectionExists) {
379
+ this.logger.error(`Collection ${collectionName} does not exist for delete operation`);
309
380
  throw new Error(`Collection ${collectionName} does not exist for delete operation`);
310
381
  }
311
382
  // retreive _key for the give ids
@@ -340,6 +411,7 @@ class Arango {
340
411
  async count(collectionName, filter) {
341
412
  if (_.isNil(collectionName) ||
342
413
  !_.isString(collectionName) || _.isEmpty(collectionName)) {
414
+ this.logger.error('invalid or missing collection argument for count operation');
343
415
  throw new Error('invalid or missing collection argument for count operation');
344
416
  }
345
417
  let filterQuery = filter || {};
@@ -387,6 +459,52 @@ class Arango {
387
459
  await c.truncate();
388
460
  }
389
461
  }
462
+ /**
463
+ * Drop view
464
+ * @param string[] list of view names.
465
+ */
466
+ async dropView(viewName) {
467
+ let dropViewResponse = [];
468
+ if (viewName.length > 0) {
469
+ for (let view of viewName) {
470
+ try {
471
+ let response = await this.db.view(view).drop();
472
+ this.logger.info(`View ${view} dropped successfully`, response);
473
+ if (response === true) {
474
+ dropViewResponse.push({ id: view, code: 200, message: `View ${view} dropped successfully` });
475
+ }
476
+ }
477
+ catch (err) {
478
+ this.logger.error(`Error dropping View ${view}`, { code: err.code, message: err.message, stack: err.stack });
479
+ dropViewResponse.push({ id: view, code: err.code, message: err.message });
480
+ }
481
+ }
482
+ }
483
+ return dropViewResponse;
484
+ }
485
+ /**
486
+ * Delete Analyzer
487
+ * @param string[] list of analyzer names.
488
+ */
489
+ async deleteAnalyzer(analyzerName) {
490
+ let deleteResponse = [];
491
+ if (analyzerName.length > 0) {
492
+ for (let analyzer of analyzerName) {
493
+ try {
494
+ let response = await this.db.analyzer(analyzer).drop();
495
+ this.logger.info(`Analyzer ${analyzer} deleted successfully`, response);
496
+ if (response.code === 200 && response.error === false) {
497
+ deleteResponse.push({ id: analyzer, code: response.code, message: `Analyzer ${analyzer} deleted successfully` });
498
+ }
499
+ }
500
+ catch (err) {
501
+ this.logger.error(`Error deleting analyzer ${analyzer}`, { code: err.code, message: err.message, stack: err.stack });
502
+ deleteResponse.push({ id: analyzer, code: err.code, message: err.message });
503
+ }
504
+ }
505
+ }
506
+ return deleteResponse;
507
+ }
390
508
  /**
391
509
  * Insert documents into database.
392
510
  *
@@ -395,9 +513,11 @@ class Arango {
395
513
  */
396
514
  async insert(collectionName, documents) {
397
515
  if (_.isNil(collectionName) || !_.isString(collectionName) || _.isEmpty(collectionName)) {
516
+ this.logger.error('invalid or missing collection argument for insert operation');
398
517
  throw new Error('invalid or missing collection argument for insert operation');
399
518
  }
400
519
  if (_.isNil(documents)) {
520
+ this.logger.error('invalid or missing documents argument for insert operation');
401
521
  throw new Error('invalid or missing documents argument for insert operation');
402
522
  }
403
523
  let docs = _.cloneDeep(documents);
@@ -445,6 +565,7 @@ class Arango {
445
565
  */
446
566
  unregisterCustomQuery(name) {
447
567
  if (!this.customQueries.has(name)) {
568
+ this.logger.error('custom function not found');
448
569
  throw new Error('custom function not found');
449
570
  }
450
571
  this.customQueries.delete(name);
@@ -452,6 +573,75 @@ class Arango {
452
573
  listCustomQueries() {
453
574
  return [...this.customQueries];
454
575
  }
576
+ async createAnalyzerAndView(viewConfig, collectionName) {
577
+ if (!viewConfig.view.viewName || !viewConfig?.view?.options) {
578
+ this.logger.error(`View name or view configuration missing for ${collectionName}`);
579
+ throw new Error(`View name or view configuration missing for ${collectionName}`);
580
+ }
581
+ if ((!viewConfig?.analyzers) || (viewConfig.analyzers.length === 0) || !(viewConfig.analyzerOptions)) {
582
+ this.logger.error(`Analyzer options or configuration missing for ${collectionName}`);
583
+ throw new Error(`Analyzer options or configuration missing for ${collectionName}`);
584
+ }
585
+ // create analyzer if it does not exist
586
+ for (let analyzerName of viewConfig.analyzers) {
587
+ const analyzer = this.db.analyzer(analyzerName);
588
+ if (!(await analyzer.exists())) {
589
+ try {
590
+ let analyzerCfg = viewConfig.analyzerOptions.filter((optionsCfg) => Object.keys(optionsCfg)[0] === analyzerName);
591
+ if (analyzerCfg?.length === 1) {
592
+ await analyzer.create(analyzerCfg[0][analyzerName]);
593
+ this.logger.info(`Analyzer ${analyzerName} created successfully`);
594
+ }
595
+ }
596
+ catch (err) {
597
+ this.logger.error(`Error creating analyzer ${analyzerName}`, { code: err.code, message: err.message, stack: err.stack });
598
+ }
599
+ }
600
+ else {
601
+ this.logger.info(`Analyzer ${analyzerName} already exists`);
602
+ }
603
+ }
604
+ // check if collection exits (before creating view)
605
+ const collection = this.db.collection(collectionName);
606
+ const collectionExists = await collection.exists();
607
+ try {
608
+ if (!collectionExists) {
609
+ await collection.create();
610
+ await collection.load(false);
611
+ this.logger.info(`Collection ${collectionName} created successfully`);
612
+ }
613
+ }
614
+ catch (err) {
615
+ if (err.message && err.message.indexOf('duplicate name') == -1) {
616
+ this.logger.error(`Error creating collection ${collectionName}`, { code: err.code, message: err.message, stack: err.stack });
617
+ throw err;
618
+ }
619
+ }
620
+ // create view if it does not exist
621
+ const view = this.db.view(viewConfig.view.viewName);
622
+ let viewExists = await view.exists();
623
+ if (!viewExists) {
624
+ try {
625
+ await this.db.createView(viewConfig?.view?.viewName, viewConfig?.view?.options);
626
+ this.logger.info(`View ${viewConfig?.view?.viewName} created successfully`);
627
+ }
628
+ catch (err) {
629
+ this.logger.error(`Error creating View ${viewConfig?.view?.viewName}`, { code: err.code, message: err.message, stack: err.stack });
630
+ }
631
+ }
632
+ else {
633
+ this.logger.info(`View ${viewConfig?.view?.viewName} already exists`);
634
+ }
635
+ // map the collectionName with list of indexed fields, view name, analyzerslist, similarity threshold
636
+ // to be used in find()
637
+ const indexedFields = Object.keys(viewConfig.view.options.links[collectionName].fields);
638
+ this.collectionNameAnalyzerMap.set(collectionName, {
639
+ viewName: viewConfig.view.viewName,
640
+ fields: indexedFields,
641
+ analyzerOptions: viewConfig.analyzerOptions,
642
+ similarityThreshold: viewConfig.view.similarityThreshold
643
+ });
644
+ }
455
645
  }
456
646
  exports.Arango = Arango;
457
647
  //# sourceMappingURL=base.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/database/provider/arango/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/database/provider/arango/base.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@ import { Graph } from 'arangojs/graph';
5
5
  import { ArangoCollection } from 'arangojs/collection';
6
6
  import { Vertices, Collection, Options as TraversalOptions, Filters as GraphFilters, DeepPartial } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/graph';
7
7
  import { TraversalResponse } from './interface';
8
+ import { Logger } from 'winston';
8
9
  export declare class ArangoGraph extends Arango implements GraphDatabaseProvider {
9
10
  graph: Graph;
10
11
  edgeDefConfig: any;
11
- constructor(conn: Database, graph: Graph, edgeDefConfig: any);
12
+ logger: Logger;
13
+ constructor(conn: Database, graph: Graph, edgeDefConfig: any, logger: Logger);
12
14
  /**
13
15
  * create a Graph instance.
14
16
  *
@@ -30,10 +30,11 @@ const common_1 = require("./common");
30
30
  const utils_1 = require("./utils");
31
31
  const graph_1 = require("@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/graph");
32
32
  class ArangoGraph extends base_1.Arango {
33
- constructor(conn, graph, edgeDefConfig) {
33
+ constructor(conn, graph, edgeDefConfig, logger) {
34
34
  super(conn);
35
35
  this.graph = graph;
36
36
  this.edgeDefConfig = edgeDefConfig; // edge definition config
37
+ this.logger = logger;
37
38
  }
38
39
  /**
39
40
  * create a Graph instance.
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/database/provider/arango/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/database/provider/arango/graph.ts"],"names":[],"mappings":"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"}
@@ -106,16 +106,15 @@ const connect = async (conf, logger) => {
106
106
  * @return {Arango} ArangoDB provider
107
107
  */
108
108
  const create = async (conf, logger, graphName, edgeDefConfig) => {
109
- let log = logger;
110
109
  if (!logger) {
111
- log = {
110
+ logger = {
112
111
  verbose: () => { },
113
112
  info: () => { },
114
113
  error: () => { },
115
114
  };
116
115
  }
117
116
  let graph;
118
- const conn = await connect(conf, log);
117
+ const conn = await connect(conf, logger);
119
118
  let db;
120
119
  // conn is nothing but this.db
121
120
  if (graphName) {
@@ -128,10 +127,25 @@ const create = async (conf, logger, graphName, edgeDefConfig) => {
128
127
  throw err;
129
128
  }
130
129
  }
131
- db = new graph_1.ArangoGraph(conn, graph, edgeDefConfig);
130
+ db = new graph_1.ArangoGraph(conn, graph, edgeDefConfig, logger);
132
131
  }
133
132
  else {
134
- db = new base_1.Arango(conn);
133
+ db = new base_1.Arango(conn, logger);
134
+ }
135
+ // iterate db conf and create list of views / analayzers
136
+ if (conf?.arangoSearch?.length > 0) {
137
+ for (let obj of conf.arangoSearch) {
138
+ try {
139
+ const { collectionName, path } = obj;
140
+ const viewCfg = JSON.parse(fs.readFileSync(path, 'utf8'));
141
+ await db.createAnalyzerAndView(viewCfg, collectionName);
142
+ }
143
+ catch (error) {
144
+ logger.error('Error creating analyzer or view', {
145
+ code: error.code, message: error.message, stack: error.stack
146
+ });
147
+ }
148
+ }
135
149
  }
136
150
  if (conf.customQueries) {
137
151
  conf.customQueries.forEach((obj) => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/database/provider/arango/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/database/provider/arango/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,26 @@
1
1
  import { ArrayCursor } from 'arangojs/cursor';
2
+ import { ArangoSearchViewPropertiesOptions } from 'arangojs/view';
3
+ import { CreateAnalyzerOptions } from 'arangojs/analyzer';
2
4
  export interface TraversalResponse {
3
5
  rootCursor?: ArrayCursor;
4
6
  associationCursor?: ArrayCursor;
5
7
  }
8
+ export interface AnalyzerOptions {
9
+ [key: string]: CreateAnalyzerOptions;
10
+ }
11
+ export interface ViewAnalyzerOptions {
12
+ view: {
13
+ collectionName: string;
14
+ viewName: string;
15
+ similarityThreshold: number;
16
+ options: ArangoSearchViewPropertiesOptions;
17
+ };
18
+ analyzers: string[];
19
+ analyzerOptions: AnalyzerOptions[];
20
+ }
21
+ export interface ViewMap {
22
+ fields: string[];
23
+ viewName: string;
24
+ similarityThreshold: number;
25
+ analyzerOptions: AnalyzerOptions[];
26
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@restorecommerce/chassis-srv",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "Restore Commerce microservice chassis",
5
5
  "main": "./lib/index.js",
6
6
  "author": "n-fuse GmbH",
@@ -17,13 +17,13 @@
17
17
  ],
18
18
  "typings": "lib/index.d.ts",
19
19
  "dependencies": {
20
- "@grpc/grpc-js": "^1.6.7",
21
- "@restorecommerce/grpc-client": "^1.0.0",
22
- "@restorecommerce/kafka-client": "^1.0.1",
23
- "@restorecommerce/logger": "^1.0.0",
24
- "@restorecommerce/protos": "^1.0.0",
25
- "@restorecommerce/rc-grpc-clients": "^1.0.1",
26
- "@restorecommerce/service-config": "^1.0.0",
20
+ "@grpc/grpc-js": "^1.7.1",
21
+ "@restorecommerce/grpc-client": "^1.0.1",
22
+ "@restorecommerce/kafka-client": "^1.0.2",
23
+ "@restorecommerce/logger": "^1.1.0",
24
+ "@restorecommerce/protos": "^1.1.0",
25
+ "@restorecommerce/rc-grpc-clients": "^1.1.0",
26
+ "@restorecommerce/service-config": "^1.0.1",
27
27
  "arangojs": "^7.8.0",
28
28
  "async": "^3.2.4",
29
29
  "async-retry": "^1.3.3",
@@ -35,35 +35,35 @@
35
35
  "lodash": "^4.17.21",
36
36
  "long": "^5.2.0",
37
37
  "nedb": "^1.8.0",
38
- "protobufjs": "^7.0.0",
39
- "redis": "^4.3.0"
38
+ "nice-grpc": "^2.0.0",
39
+ "nice-grpc-server-reflection": "^2.0.0",
40
+ "protobufjs": "^7.1.2",
41
+ "redis": "^4.3.1"
40
42
  },
41
43
  "devDependencies": {
42
- "@types/cache-manager": "^4.0.1",
43
- "@types/lodash": "^4.14.184",
44
+ "@types/cache-manager": "^4.0.2",
45
+ "@types/lodash": "^4.14.186",
44
46
  "@types/long": "^5.0.0",
45
- "@types/mocha": "^9.1.1",
47
+ "@types/mocha": "^10.0.0",
46
48
  "@types/nedb": "^1.8.12",
47
- "@types/node": "^18.7.13",
48
- "@typescript-eslint/eslint-plugin": "^5.35.1",
49
- "@typescript-eslint/eslint-plugin-tslint": "^5.35.1",
50
- "@typescript-eslint/parser": "^5.35.1",
49
+ "@types/node": "^18.8.1",
50
+ "@typescript-eslint/eslint-plugin": "^5.39.0",
51
+ "@typescript-eslint/eslint-plugin-tslint": "^5.39.0",
52
+ "@typescript-eslint/parser": "^5.39.0",
51
53
  "cross-env": "^7.0.3",
52
- "eslint": "^8.22.0",
54
+ "eslint": "^8.24.0",
53
55
  "eslint-plugin-prefer-arrow-functions": "^3.1.4",
54
56
  "mocha": "^10.0.0",
55
57
  "mocha-typescript": "^1.1.17",
56
- "nice-grpc": "^2.0.0",
57
- "nice-grpc-server-reflection": "^2.0.0",
58
58
  "npm-run-all": "^4.1.5",
59
59
  "nyc": "^15.1.0",
60
60
  "rimraf": "^3.0.2",
61
- "rxjs": "^7.5.6",
61
+ "rxjs": "^7.5.7",
62
62
  "should": "^13.2.3",
63
63
  "sleep": "^6.3.0",
64
64
  "ts-node": "^10.9.1",
65
65
  "tslint": "^6.1.3",
66
- "typescript": "^4.7.4"
66
+ "typescript": "^4.8.4"
67
67
  },
68
68
  "scripts": {
69
69
  "lint": "eslint './src/**/*.ts' ",