@restorecommerce/chassis-srv 1.7.10 → 1.8.1

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
@@ -3,6 +3,40 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.8.1](https://github.com/restorecommerce/chassis-srv/compare/@restorecommerce/chassis-srv@1.8.0...@restorecommerce/chassis-srv@1.8.1) (2026-02-09)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **resource-base-interface:** make equal operator optional again ([4388e6d](https://github.com/restorecommerce/chassis-srv/commit/4388e6d610566f7023be91afb46f05ae96fada23))
12
+
13
+
14
+
15
+
16
+
17
+ # [1.8.0](https://github.com/restorecommerce/chassis-srv/compare/@restorecommerce/chassis-srv@1.7.10...@restorecommerce/chassis-srv@1.8.0) (2026-02-06)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **chassis:** node._key conflicts with graph edge key ([e42c31b](https://github.com/restorecommerce/chassis-srv/commit/e42c31b95d9b661a906971f42123a01883de1a13))
23
+ * **resource-base-interface:** roleback to redis 4.7! ([f92809f](https://github.com/restorecommerce/chassis-srv/commit/f92809f459320797404815a95ce4c0e844ba9d35))
24
+
25
+
26
+ ### Features
27
+
28
+ * **facade:** performance upgrade via latent id buffering ([579d4b9](https://github.com/restorecommerce/chassis-srv/commit/579d4b947585848c48414989ca91446315d607b3))
29
+
30
+
31
+ ### Reverts
32
+
33
+ * Revert "chore(release): publish" ([d508e8a](https://github.com/restorecommerce/chassis-srv/commit/d508e8af9803a4a182d244f48172c5881b11ebd5))
34
+ * Revert "chore(release): publish" ([8db759f](https://github.com/restorecommerce/chassis-srv/commit/8db759fd05eef801dd6ae60727ef1b763f5baafb))
35
+
36
+
37
+
38
+
39
+
6
40
  ## [1.7.10](https://github.com/restorecommerce/chassis-srv/compare/@restorecommerce/chassis-srv@1.7.9...@restorecommerce/chassis-srv@1.7.10) (2025-11-11)
7
41
 
8
42
  **Note:** Version bump only for package @restorecommerce/chassis-srv
@@ -1,11 +1,7 @@
1
1
  import { Database } from 'arangojs';
2
2
  import { DatabaseProvider } from '../../index.js';
3
- import { ViewAnalyzerOptions, ViewMap } from './interface.js';
3
+ import { ArangoDocument, CustomQuery, ViewAnalyzerOptions, ViewMap } from './interface.js';
4
4
  import { type Logger } from '@restorecommerce/logger';
5
- export interface CustomQuery {
6
- code: string;
7
- type: 'filter' | 'query';
8
- }
9
5
  /**
10
6
  * ArangoDB database provider.
11
7
  */
@@ -41,11 +37,11 @@ export declare class Arango implements DatabaseProvider {
41
37
  *
42
38
  * @param {String} collectionName Collection name
43
39
  * @param {any} collection Collection Object
44
- * @param {any} documents list of documents
40
+ * @param {ArangoDocument | ArangoDocument[]} documents list of documents
45
41
  * @param {string[]} idsArray list of document ids
46
- * @returns {Promise<any>} A list of documents including the document handlers
42
+ * @returns {Promise<ArangoDocument[]>} A list of documents including the document handlers
47
43
  */
48
- getDocumentHandlers(collectionName: string, collection: any, documents: any, idsArray?: string[]): Promise<any>;
44
+ getDocumentHandlers(collectionName: string, collection: any, documents: ArangoDocument | ArangoDocument[], idsArray?: string[]): Promise<ArangoDocument[]>;
49
45
  /**
50
46
  * Find documents by filter and updates them with document.
51
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/provider/arango/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAO,MAAM,UAAU,CAAC;AAMzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC1B;AACD;;GAEG;AACH,qBAAa,MAAO,YAAW,gBAAgB;aAQ3B,EAAE,EAAE,QAAQ;aACZ,MAAM,CAAC,EAAE,MAAM;IARjC,SAAgB,aAAa,2BAAkC;IAC/D,SAAgB,yBAAyB,uBAA8B;IACvE;;;OAGG;gBAEe,EAAE,EAAE,QAAQ,EACZ,MAAM,CAAC,EAAE,MAAM;IAGjC;;;;;;;OAOG;IACG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAiJ7E;;;;;;OAMG;IACG,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA8B5E;;;;;;;;OAQG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAC/E,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAoBpC;;;;;OAKG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAoDxE;;;;;;OAMG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAsClE;;;;;;OAMG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA0CjE;;;;;OAKG;IACG,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAmC9D;;;;;;OAMG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAahD;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBhD;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmB1D;;;;;OAKG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAoClE;;;;;OAKG;IAEH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI;IAOjF;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQzC,iBAAiB,IAAI,KAAK,CAAC,GAAG,CAAC;IAIzB,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAiEpG"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/database/provider/arango/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAO,MAAM,UAAU,CAAC;AAOzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGtD;;GAEG;AACH,qBAAa,MAAO,YAAW,gBAAgB;aAQ3B,EAAE,EAAE,QAAQ;aACZ,MAAM,CAAC,EAAE,MAAM;IARjC,SAAgB,aAAa,2BAAkC;IAC/D,SAAgB,yBAAyB,uBAA8B;IACvE;;;OAGG;gBAEe,EAAE,EAAE,QAAQ,EACZ,MAAM,CAAC,EAAE,MAAM;IAGjC;;;;;;;OAOG;IACG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkG7E;;;;;;OAMG;IACG,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IA4B5E;;;;;;;;OAQG;IACG,mBAAmB,CACvB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,GAAG,EACf,SAAS,EAAE,cAAc,GAAG,cAAc,EAAE,EAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC;IAQ5B;;;;;OAKG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAmDxE;;;;;;OAMG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAqClE;;;;;;OAMG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmCjE;;;;;OAKG;IACG,KAAK,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkC9D;;;;;;OAMG;IACG,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAahD;;;OAGG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmBhD;;;OAGG;IACG,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAmB1D;;;;;OAKG;IACG,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAkClE;;;;;OAKG;IAEH,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI;IAOjF;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOzC,iBAAiB,IAAI,KAAK,CAAC,GAAG,CAAC;IAIzB,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA+DpG"}
@@ -1,6 +1,7 @@
1
1
  import { aql } from 'arangojs';
2
- import { isNullish, isEmptyish, isString, isArray, merge, clone, forEach } from 'remeda';
3
- import { buildFilter, buildSorter, buildLimiter, buildReturn, sanitizeInputFields, query, sanitizeOutputFields } from './common.js';
2
+ import { isNullish, isEmptyish, isString, clone, forEach } from 'remeda';
3
+ import { buildFilter, buildSorter, buildLimiter, buildReturn, sanitizeInputFields, query, sanitizeOutputFields, idToKey } from './common.js';
4
+ import { LoggedError, toArray } from './utils.js';
4
5
  /**
5
6
  * ArangoDB database provider.
6
7
  */
@@ -26,143 +27,91 @@ export class Arango {
26
27
  * @return {Promise<any>} Promise for list of found documents.
27
28
  */
28
29
  async find(collectionName, filter, options) {
29
- if (isNullish(collectionName) || !isString(collectionName) ||
30
- isEmptyish(collectionName)) {
31
- this.logger?.error('invalid or missing collection argument for find operation');
32
- throw new Error('invalid or missing collection argument for find operation');
30
+ if (isNullish(collectionName)
31
+ || !isString(collectionName)
32
+ || isEmptyish(collectionName)) {
33
+ throw new LoggedError(this.logger, 'invalid or missing collection argument for find operation');
33
34
  }
34
35
  let filterQuery = filter ?? {};
35
36
  const opts = options ?? {};
36
37
  let filterResult;
37
- let bindVars;
38
- let customFilter = '';
38
+ const customFilters = new Array();
39
39
  // checking if a custom query should be used
40
40
  if (!isEmptyish(opts.customQueries)) {
41
41
  for (const queryName of opts.customQueries) {
42
42
  if (!this.customQueries.has(queryName)) {
43
- this.logger?.error(`custom query ${query} not found`);
44
- throw new Error(`custom query ${query} not found`);
43
+ throw new LoggedError(this.logger, `custom query ${query} not found`);
45
44
  }
46
45
  const customQuery = this.customQueries.get(queryName);
47
- if (customQuery.type == 'query') {
46
+ if (customQuery.type === 'query') {
48
47
  // standalone query
49
48
  const result = await query(this.db, collectionName, customQuery.code, opts.customArguments || {}); // Cursor object
50
49
  return result.all(); // TODO: paginate
51
50
  }
52
51
  else {
53
52
  // filter
54
- customFilter += ` ${customQuery.code} `;
53
+ customFilters.push(customQuery.code);
55
54
  }
56
55
  }
57
56
  }
58
- if (!isArray(filterQuery)) {
59
- filterQuery = [filterQuery];
60
- }
61
- if (isEmptyish(filterQuery[0])) {
62
- filterQuery = true;
57
+ if (isNullish(filterQuery) || isEmptyish(filterQuery)) {
58
+ filterQuery = '';
63
59
  }
64
60
  else {
61
+ filterQuery = toArray(filterQuery);
65
62
  filterResult = buildFilter(filterQuery);
66
- filterQuery = filterResult.q;
67
- }
68
- let sortQuery = buildSorter(opts);
69
- const limitQuery = buildLimiter(opts);
70
- const returnResult = buildReturn(opts);
71
- let returnQuery = returnResult.q;
72
- // return complete node in case no specific fields are specified
73
- if (isEmptyish(returnQuery)) {
74
- returnQuery = 'RETURN node';
63
+ filterQuery = `FILTER ${filterResult.q}`;
75
64
  }
76
65
  // if search options are set build search query
77
- let searchQuery;
78
- if (opts?.search?.search) {
66
+ const searchQueries = new Array();
67
+ if (opts?.search?.search && this.collectionNameAnalyzerMap && this.collectionNameAnalyzerMap.get(collectionName)) {
79
68
  const searchString = JSON.stringify(options.search.search);
80
- if (this.collectionNameAnalyzerMap && this.collectionNameAnalyzerMap.get(collectionName)) {
81
- const searchFields = (options?.search?.fields?.length > 0) ? options.search.fields : this.collectionNameAnalyzerMap.get(collectionName).fields;
82
- const similarityThreshold = this.collectionNameAnalyzerMap.get(collectionName).similarityThreshold;
83
- const viewName = this.collectionNameAnalyzerMap.get(collectionName).viewName;
84
- const caseSensitive = options?.search?.case_sensitive;
85
- const analyzerOptions = this.collectionNameAnalyzerMap.get(collectionName).analyzerOptions;
86
- let analyzerName;
87
- if (caseSensitive) {
88
- // for casesensitive search use "ngram" analayzer type
89
- analyzerOptions.forEach((optionObj) => {
90
- const keyName = Object.keys(optionObj)[0];
91
- if (optionObj[keyName].type === 'ngram') {
92
- analyzerName = JSON.stringify(keyName);
93
- }
94
- });
95
- }
96
- else {
97
- // for case-insensitive search use "pipleline" type (ngram + norm)
98
- analyzerOptions.forEach((optionObj) => {
99
- const keyName = Object.keys(optionObj)[0];
100
- if (optionObj[keyName].type === 'pipeline') {
101
- analyzerName = JSON.stringify(keyName);
102
- }
103
- });
104
- }
105
- for (const field of searchFields) {
106
- if (!searchQuery) {
107
- searchQuery = `NGRAM_MATCH(node.${field}, ${searchString}, ${similarityThreshold}, ${analyzerName}) `;
108
- }
109
- else {
110
- searchQuery = searchQuery + `OR NGRAM_MATCH(node.${field}, ${searchString}, ${similarityThreshold}, ${analyzerName}) `;
111
- }
112
- }
113
- // override collection name with view name
114
- collectionName = viewName;
115
- // override sortQuery (to rank based on score for frequency search match - term frequency–inverse document frequency algorithm TF-IDF)
116
- sortQuery = `SORT TFIDF(node) DESC`;
117
- }
118
- else {
119
- this.logger?.info(`View and analyzer configuration data not set for ${collectionName} and hence ignoring search string`);
69
+ const searchFields = (options?.search?.fields?.length > 0) ? options.search.fields : this.collectionNameAnalyzerMap.get(collectionName).fields;
70
+ const similarityThreshold = this.collectionNameAnalyzerMap.get(collectionName).similarityThreshold;
71
+ const viewName = this.collectionNameAnalyzerMap.get(collectionName).viewName;
72
+ const caseSensitive = options?.search?.case_sensitive;
73
+ const analyzerOptions = this.collectionNameAnalyzerMap.get(collectionName).analyzerOptions;
74
+ const analyzerName = JSON.stringify(analyzerOptions.flatMap((opt) => Object.entries(opt)).find(([k, v]) => caseSensitive ? v?.type === 'ngram' : v?.type === 'pipeline')[0]);
75
+ for (const field of searchFields) {
76
+ searchQueries.push(`NGRAM_MATCH(node.${field}, ${searchString}, ${similarityThreshold}, ${analyzerName})`);
120
77
  }
121
- }
122
- let queryString = `FOR node in @@collection FILTER ${filterQuery}`;
123
- if (searchQuery) {
124
- queryString = `FOR node in @@collection SEARCH ${searchQuery} FILTER ${filterQuery}`;
125
- }
126
- if (!isEmptyish(customFilter)) {
127
- queryString += customFilter;
128
- }
129
- queryString += ` ${sortQuery}
130
- ${limitQuery} ${returnQuery}`;
131
- let varArgs = {};
132
- if (filterResult && filterResult.bindVarsMap) {
133
- varArgs = filterResult.bindVarsMap;
134
- }
135
- let returnArgs = {};
136
- if (returnResult && returnResult.bindVarsMap) {
137
- returnArgs = returnResult.bindVarsMap;
138
- }
139
- let limitArgs;
140
- if (isEmptyish(limitQuery)) {
141
- limitArgs = {};
142
- }
143
- else {
144
- if (!isNullish(opts.limit)) {
145
- limitArgs = { limit: opts.limit };
146
- if (!isNullish(opts.offset)) {
147
- limitArgs = { offset: opts.offset, limit: opts.limit };
148
- }
149
- }
150
- }
151
- varArgs = merge(varArgs, limitArgs);
152
- varArgs = merge(varArgs, returnArgs);
153
- bindVars = merge({
154
- '@collection': collectionName
155
- }, varArgs);
156
- if (!isEmptyish(customFilter) && opts.customArguments) {
157
- bindVars = merge(bindVars, { customArguments: opts.customArguments });
158
- }
159
- let res;
160
- if (!searchQuery) {
161
- res = await query(this.db, collectionName, queryString, bindVars);
78
+ // override collection name with view name
79
+ collectionName = viewName;
162
80
  }
163
81
  else {
164
- res = await this.db.query(queryString, bindVars);
82
+ this.logger?.info(`View and analyzer configuration data not set for ${collectionName} and hence ignoring search string`);
165
83
  }
84
+ // override sortQuery (to rank based on score for frequency search match - term frequency–inverse document frequency algorithm TF-IDF)
85
+ const sortQuery = isEmptyish(searchQueries) ? buildSorter(opts) : `SORT TFIDF(node) DESC`;
86
+ const limitQuery = buildLimiter(opts);
87
+ const returnResult = buildReturn(opts);
88
+ const returnQuery = isEmptyish(returnResult?.q) ? 'RETURN node' : returnResult.q;
89
+ const queryStrings = ['FOR node IN @@collection'];
90
+ if (!isEmptyish(searchQueries)) {
91
+ queryStrings.push(`SEARCH ${searchQueries.join(' OR ')}`);
92
+ }
93
+ queryStrings.push(filterQuery);
94
+ queryStrings.push(...customFilters);
95
+ queryStrings.push(sortQuery, limitQuery, returnQuery);
96
+ const bindVars = {
97
+ '@collection': collectionName,
98
+ ...filterResult?.bindVarsMap,
99
+ ...returnResult?.bindVarsMap,
100
+ };
101
+ if (!isNullish(opts.limit)) {
102
+ bindVars.limit = opts.limit;
103
+ }
104
+ if (!isNullish(opts.offset)) {
105
+ bindVars.offset = opts.offset;
106
+ }
107
+ if (!isEmptyish(customFilters) && opts.customArguments) {
108
+ bindVars.customArguments = opts.customArguments;
109
+ }
110
+ const queryString = queryStrings.filter(s => !isNullish(s) && !isEmptyish(s)).join(' ');
111
+ this.logger.info(queryString);
112
+ const res = searchQueries
113
+ ? await this.db.query(queryString, bindVars)
114
+ : await query(this.db, collectionName, queryString, bindVars);
166
115
  const docs = await res.all(); // TODO: paginate
167
116
  return docs.map(sanitizeOutputFields);
168
117
  }
@@ -176,12 +125,10 @@ export class Arango {
176
125
  async findByID(collectionName, ids) {
177
126
  if (isNullish(collectionName) || !isString(collectionName) ||
178
127
  isEmptyish(collectionName)) {
179
- this.logger?.error('invalid or missing collection argument for findByID operation');
180
- throw new Error('invalid or missing collection argument for findByID operation');
128
+ throw new LoggedError(this.logger, 'invalid or missing collection argument for findByID operation');
181
129
  }
182
130
  if (isNullish(ids)) {
183
- this.logger?.error('invalid or missing ids argument for findByID operation');
184
- throw new Error('invalid or missing ids argument for findByID operation');
131
+ throw new LoggedError(this.logger, 'invalid or missing ids argument for findByID operation');
185
132
  }
186
133
  if (!Array.isArray(ids)) {
187
134
  ids = [ids];
@@ -192,7 +139,7 @@ export class Arango {
192
139
  const filterResult = buildFilter(filter);
193
140
  const filterQuery = filterResult.q;
194
141
  const varArgs = filterResult.bindVarsMap ?? {};
195
- const queryString = `FOR node in @@collection FILTER ${filterQuery} RETURN node`;
142
+ const queryString = `FOR node IN @@collection FILTER ${filterQuery} RETURN node`;
196
143
  const bindVars = Object.assign({
197
144
  '@collection': collectionName
198
145
  }, varArgs);
@@ -205,25 +152,13 @@ export class Arango {
205
152
  *
206
153
  * @param {String} collectionName Collection name
207
154
  * @param {any} collection Collection Object
208
- * @param {any} documents list of documents
155
+ * @param {ArangoDocument | ArangoDocument[]} documents list of documents
209
156
  * @param {string[]} idsArray list of document ids
210
- * @returns {Promise<any>} A list of documents including the document handlers
157
+ * @returns {Promise<ArangoDocument[]>} A list of documents including the document handlers
211
158
  */
212
159
  async getDocumentHandlers(collectionName, collection, documents, idsArray) {
213
- let ids = [];
214
- if (documents && !isArray(documents)) {
215
- documents = [documents];
216
- }
217
- if (documents && documents.length > 0) {
218
- for (const doc of documents) {
219
- ids.push(doc.id);
220
- }
221
- }
222
- if (!isEmptyish(idsArray) && isArray(idsArray)) {
223
- ids = idsArray;
224
- }
225
- const queryString = aql `FOR node in ${collection}
226
- FILTER node.id IN ${ids} return node`;
160
+ const ids = idsArray ?? toArray(documents)?.map(doc => doc.id);
161
+ const queryString = aql `FOR node IN ${collection} FILTER node.id IN ${ids} LIMIT ${ids.length} RETURN node`;
227
162
  const res = await query(this.db, collectionName, queryString);
228
163
  const docsWithSelector = await res.all();
229
164
  return docsWithSelector;
@@ -237,24 +172,21 @@ export class Arango {
237
172
  async update(collectionName, updateDocuments) {
238
173
  const documents = clone(updateDocuments);
239
174
  const updateDocsResponse = [];
240
- if (isNullish(collectionName) ||
241
- !isString(collectionName) || isEmptyish(collectionName)) {
242
- this.logger?.error('invalid or missing collection argument for update operation');
243
- throw new Error('invalid or missing collection argument for update operation');
175
+ if (isNullish(collectionName)
176
+ || !isString(collectionName)
177
+ || isEmptyish(collectionName)) {
178
+ throw new LoggedError(this.logger, 'invalid or missing collection argument for update operation');
244
179
  }
245
180
  if (isNullish(documents)) {
246
- this.logger?.error('invalid or missing document argument for update operation');
247
- throw new Error('invalid or missing document argument for update operation');
181
+ throw new LoggedError(this.logger, 'invalid or missing document argument for update operation');
248
182
  }
249
183
  const collection = this.db.collection(collectionName);
250
184
  const collectionExists = await collection.exists();
251
185
  if (!collectionExists) {
252
- this.logger?.error(`Collection ${collectionName} does not exist for update operation`);
253
- throw new Error(`Collection ${collectionName} does not exist for update operation`);
186
+ throw new LoggedError(this.logger, `Collection ${collectionName} does not exist for update operation`);
254
187
  }
255
- if (!isArray(documents)) {
256
- this.logger?.error(`Documents should be list for update operation`);
257
- throw new Error(`Documents should be list for update operation`);
188
+ if (!Array.isArray(documents)) {
189
+ throw new LoggedError(this.logger, `Documents should be list for update operation`);
258
190
  }
259
191
  const docsWithHandlers = await this.getDocumentHandlers(collectionName, collection, documents);
260
192
  // update _key for the input documents
@@ -270,7 +202,7 @@ export class Arango {
270
202
  if (!foundInDB) {
271
203
  // if document is not found in DB use the id itself as _key
272
204
  // this key will return an array in response since it does not exist
273
- document._key = document.id;
205
+ document._key = idToKey(document.id);
274
206
  }
275
207
  }
276
208
  const updatedDocs = await collection.updateAll(documents, { returnNew: true });
@@ -292,17 +224,16 @@ export class Arango {
292
224
  * @param {Object|Array.Object} documents
293
225
  */
294
226
  async upsert(collectionName, documents) {
295
- if (isNullish(collectionName) ||
296
- !isString(collectionName) || isEmptyish(collectionName)) {
297
- this.logger?.error('invalid or missing collection argument for upsert operation');
298
- throw new Error('invalid or missing collection argument for upsert operation');
227
+ if (isNullish(collectionName)
228
+ || !isString(collectionName)
229
+ || isEmptyish(collectionName)) {
230
+ throw new LoggedError(this.logger, 'invalid or missing collection argument for upsert operation');
299
231
  }
300
232
  if (isNullish(documents)) {
301
- this.logger?.error('invalid or missing documents argument for upsert operation');
302
- throw new Error('invalid or missing documents argument for upsert operation');
233
+ throw new LoggedError(this.logger, 'invalid or missing documents argument for upsert operation');
303
234
  }
304
235
  let docs = clone(documents);
305
- if (!isArray(documents)) {
236
+ if (!Array.isArray(documents)) {
306
237
  docs = [documents];
307
238
  }
308
239
  forEach(docs, (document, i) => {
@@ -312,11 +243,10 @@ export class Arango {
312
243
  const collection = this.db.collection(collectionName);
313
244
  const collectionExists = await collection.exists();
314
245
  if (!collectionExists) {
315
- this.logger?.error(`Collection ${collectionName} does not exist for upsert operation`);
316
- throw new Error(`Collection ${collectionName} does not exist for upsert operation`);
246
+ throw new LoggedError(this.logger, `Collection ${collectionName} does not exist for upsert operation`);
317
247
  }
318
248
  let upsertedDocs = await collection.saveAll(docs, { returnNew: true, overwriteMode: 'update' });
319
- if (!isArray(upsertedDocs)) {
249
+ if (!Array.isArray(upsertedDocs)) {
320
250
  upsertedDocs = [upsertedDocs];
321
251
  }
322
252
  for (const doc of upsertedDocs) {
@@ -339,21 +269,18 @@ export class Arango {
339
269
  async delete(collectionName, ids) {
340
270
  if (isNullish(collectionName) ||
341
271
  !isString(collectionName) || isEmptyish(collectionName)) {
342
- this.logger?.error('invalid or missing collection argument');
343
- throw new Error('invalid or missing collection argument');
272
+ throw new LoggedError(this.logger, 'invalid or missing collection argument');
344
273
  }
345
274
  if (isNullish(ids) || isEmptyish(ids)) {
346
- this.logger?.error('invalid or missing document IDs argument for delete operation');
347
- throw new Error('invalid or missing document IDs argument for delete operation');
275
+ throw new LoggedError(this.logger, 'invalid or missing document IDs argument for delete operation');
348
276
  }
349
277
  const collection = this.db.collection(collectionName);
350
278
  const collectionExists = await collection.exists();
351
279
  if (!collectionExists) {
352
- this.logger?.error(`Collection ${collectionName} does not exist for delete operation`);
353
- throw new Error(`Collection ${collectionName} does not exist for delete operation`);
280
+ throw new LoggedError(this.logger, `Collection ${collectionName} does not exist for delete operation`);
354
281
  }
355
282
  // retreive _key for the give ids
356
- const docsWithHandlers = await this.getDocumentHandlers(collectionName, collection, null, ids);
283
+ const docsWithHandlers = await this.getDocumentHandlers(collectionName, collection, undefined, ids);
357
284
  for (const id of ids) {
358
285
  // check if given id is present in docsWithHandlers
359
286
  let foundDocInDB = false;
@@ -369,10 +296,7 @@ export class Arango {
369
296
  docsWithHandlers.push({ _key: id });
370
297
  }
371
298
  }
372
- const deleteHandlerIds = [];
373
- for (const doc of docsWithHandlers) {
374
- deleteHandlerIds.push(doc._key);
375
- }
299
+ const deleteHandlerIds = docsWithHandlers.map((doc) => doc._key);
376
300
  return collection.removeAll(deleteHandlerIds);
377
301
  }
378
302
  /**
@@ -384,12 +308,11 @@ export class Arango {
384
308
  async count(collectionName, filter) {
385
309
  if (isNullish(collectionName) ||
386
310
  !isString(collectionName) || isEmptyish(collectionName)) {
387
- this.logger?.error('invalid or missing collection argument for count operation');
388
- throw new Error('invalid or missing collection argument for count operation');
311
+ throw new LoggedError(this.logger, 'invalid or missing collection argument for count operation');
389
312
  }
390
313
  let filterQuery = filter || {};
391
314
  let filterResult;
392
- if (!isArray(filterQuery)) {
315
+ if (!Array.isArray(filterQuery)) {
393
316
  filterQuery = [filterQuery];
394
317
  }
395
318
  if (isEmptyish(filterQuery[0])) {
@@ -403,7 +326,7 @@ export class Arango {
403
326
  if (filterResult && filterResult.bindVarsMap) {
404
327
  varArgs = filterResult.bindVarsMap;
405
328
  }
406
- const queryString = `FOR node in @@collection FILTER ${filterQuery} COLLECT WITH COUNT
329
+ const queryString = `FOR node IN @@collection FILTER ${filterQuery} COLLECT WITH COUNT
407
330
  INTO length RETURN length`;
408
331
  const bindVars = Object.assign({
409
332
  '@collection': collectionName
@@ -486,15 +409,13 @@ export class Arango {
486
409
  */
487
410
  async insert(collectionName, documents) {
488
411
  if (isNullish(collectionName) || !isString(collectionName) || isEmptyish(collectionName)) {
489
- this.logger?.error('invalid or missing collection argument for insert operation');
490
- throw new Error('invalid or missing collection argument for insert operation');
412
+ throw new LoggedError(this.logger, 'invalid or missing collection argument for insert operation');
491
413
  }
492
414
  if (isNullish(documents)) {
493
- this.logger?.error('invalid or missing documents argument for insert operation');
494
- throw new Error('invalid or missing documents argument for insert operation');
415
+ throw new LoggedError(this.logger, 'invalid or missing documents argument for insert operation');
495
416
  }
496
417
  let docs = clone(documents);
497
- if (!isArray(documents)) {
418
+ if (!Array.isArray(documents)) {
498
419
  docs = [documents];
499
420
  }
500
421
  forEach(docs, (document, i) => {
@@ -507,7 +428,7 @@ export class Arango {
507
428
  }
508
429
  const insertResponse = [];
509
430
  let createdDocs = await collection.saveAll(docs, { returnNew: true });
510
- if (!isArray(createdDocs)) {
431
+ if (!Array.isArray(createdDocs)) {
511
432
  createdDocs = [createdDocs];
512
433
  }
513
434
  for (const doc of createdDocs) {
@@ -539,8 +460,7 @@ export class Arango {
539
460
  */
540
461
  unregisterCustomQuery(name) {
541
462
  if (!this.customQueries.has(name)) {
542
- this.logger?.error('custom function not found');
543
- throw new Error('custom function not found');
463
+ throw new LoggedError(this.logger, 'custom function not found');
544
464
  }
545
465
  this.customQueries.delete(name);
546
466
  }
@@ -549,12 +469,10 @@ export class Arango {
549
469
  }
550
470
  async createAnalyzerAndView(viewConfig, collectionName) {
551
471
  if (!viewConfig.view.viewName || !viewConfig?.view?.options) {
552
- this.logger?.error(`View name or view configuration missing for ${collectionName}`);
553
- throw new Error(`View name or view configuration missing for ${collectionName}`);
472
+ throw new LoggedError(this.logger, `View name or view configuration missing for ${collectionName}`);
554
473
  }
555
474
  if ((!viewConfig?.analyzers) || (viewConfig.analyzers.length === 0) || !(viewConfig.analyzerOptions)) {
556
- this.logger?.error(`Analyzer options or configuration missing for ${collectionName}`);
557
- throw new Error(`Analyzer options or configuration missing for ${collectionName}`);
475
+ throw new LoggedError(this.logger, `Analyzer options or configuration missing for ${collectionName}`);
558
476
  }
559
477
  // create analyzer if it does not exist
560
478
  for (const analyzerName of viewConfig.analyzers) {
@@ -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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"}
@@ -34,7 +34,7 @@ export declare const autoCastKey: (key: any, value?: any) => any;
34
34
  * @param {object} value - raw value
35
35
  * @returns {any} interpreted value
36
36
  */
37
- export declare const autoCastValue: (value: any) => any;
37
+ export declare const autoCastValue: (key: string, value: any) => any;
38
38
  /**
39
39
  * Links children of filter together via a comparision operator.
40
40
  * @param {any} filter