@restorecommerce/resource-base-interface 1.6.5 → 1.7.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.
Files changed (64) hide show
  1. package/lib/core/GraphResourcesServiceBase.d.ts +9 -5
  2. package/lib/core/GraphResourcesServiceBase.d.ts.map +1 -0
  3. package/lib/core/GraphResourcesServiceBase.js +69 -100
  4. package/lib/core/GraphResourcesServiceBase.js.map +1 -1
  5. package/lib/core/ResourcesAPI.d.ts +26 -19
  6. package/lib/core/ResourcesAPI.d.ts.map +1 -0
  7. package/lib/core/ResourcesAPI.js +273 -388
  8. package/lib/core/ResourcesAPI.js.map +1 -1
  9. package/lib/core/ServiceBase.d.ts +29 -10
  10. package/lib/core/ServiceBase.d.ts.map +1 -0
  11. package/lib/core/ServiceBase.js +137 -242
  12. package/lib/core/ServiceBase.js.map +1 -1
  13. package/lib/core/index.d.ts +5 -0
  14. package/lib/core/index.d.ts.map +1 -0
  15. package/lib/core/index.js +21 -0
  16. package/lib/core/index.js.map +1 -0
  17. package/lib/core/interfaces.d.ts +6 -72
  18. package/lib/core/interfaces.d.ts.map +1 -0
  19. package/lib/core/interfaces.js +18 -31
  20. package/lib/core/interfaces.js.map +1 -1
  21. package/lib/core/utils.d.ts +3 -1
  22. package/lib/core/utils.d.ts.map +1 -0
  23. package/lib/core/utils.js +22 -16
  24. package/lib/core/utils.js.map +1 -1
  25. package/lib/experimental/AccessControlledServiceBase.d.ts +30 -0
  26. package/lib/experimental/AccessControlledServiceBase.d.ts.map +1 -0
  27. package/lib/experimental/AccessControlledServiceBase.js +232 -0
  28. package/lib/experimental/AccessControlledServiceBase.js.map +1 -0
  29. package/lib/experimental/ClientRegister.d.ts +22 -0
  30. package/lib/experimental/ClientRegister.d.ts.map +1 -0
  31. package/lib/experimental/ClientRegister.js +33 -0
  32. package/lib/experimental/ClientRegister.js.map +1 -0
  33. package/lib/experimental/Pipe.d.ts +6 -0
  34. package/lib/experimental/Pipe.d.ts.map +1 -0
  35. package/lib/experimental/Pipe.js +14 -0
  36. package/lib/experimental/Pipe.js.map +1 -0
  37. package/lib/experimental/ResourceAggregator.d.ts +35 -0
  38. package/lib/experimental/ResourceAggregator.d.ts.map +1 -0
  39. package/lib/experimental/ResourceAggregator.js +94 -0
  40. package/lib/experimental/ResourceAggregator.js.map +1 -0
  41. package/lib/experimental/ResourceAwaitQueue.d.ts +12 -0
  42. package/lib/experimental/ResourceAwaitQueue.d.ts.map +1 -0
  43. package/lib/experimental/ResourceAwaitQueue.js +34 -0
  44. package/lib/experimental/ResourceAwaitQueue.js.map +1 -0
  45. package/lib/experimental/ResourceMap.d.ts +16 -0
  46. package/lib/experimental/ResourceMap.d.ts.map +1 -0
  47. package/lib/experimental/ResourceMap.js +51 -0
  48. package/lib/experimental/ResourceMap.js.map +1 -0
  49. package/lib/{core → experimental}/WorkerBase.d.ts +10 -14
  50. package/lib/experimental/WorkerBase.d.ts.map +1 -0
  51. package/lib/{core → experimental}/WorkerBase.js +44 -30
  52. package/lib/experimental/WorkerBase.js.map +1 -0
  53. package/lib/experimental/index.d.ts +7 -0
  54. package/lib/experimental/index.d.ts.map +1 -0
  55. package/lib/experimental/index.js +23 -0
  56. package/lib/experimental/index.js.map +1 -0
  57. package/lib/index.d.ts +5 -7
  58. package/lib/index.d.ts.map +1 -0
  59. package/lib/index.js +81 -141
  60. package/lib/index.js.map +1 -1
  61. package/lib/tsconfig.tsbuildinfo +1 -0
  62. package/package.json +22 -20
  63. package/tsconfig.json +11 -25
  64. package/lib/core/WorkerBase.js.map +0 -1
@@ -1,21 +1,24 @@
1
+ import { type CallContext } from 'nice-grpc-common';
1
2
  import { GraphDatabaseProvider } from '@restorecommerce/chassis-srv';
2
3
  import { Logger } from '@restorecommerce/logger';
4
+ import { OperationStatus } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/status';
3
5
  import { DeepPartial, ServerStreamingMethodResult, GraphServiceImplementation, TraversalRequest, TraversalResponse } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/graph';
4
6
  /**
5
7
  * Graph Resource API base provides functions for graph Operations such as
6
8
  * creating or modifying Vertices/Edges, graph traversal etc.
7
9
  */
8
10
  export declare class GraphResourcesServiceBase implements GraphServiceImplementation {
9
- private db;
10
- private bufferFiledCfg?;
11
+ private readonly db;
12
+ private readonly bufferFiledCfg?;
13
+ private readonly logger?;
14
+ private readonly dateTimeFieldcfg?;
11
15
  bufferedCollections: any;
12
- dateTimeFieldcfg: any;
13
- logger: Logger;
14
16
  /**
15
17
  * @constructor
16
18
  * @param {object} db Chassis arangodb provider.
17
19
  */
18
20
  constructor(db: GraphDatabaseProvider, bufferFiledCfg?: any, logger?: Logger, dateTimeFieldcfg?: any);
21
+ protected catchOperationError(msg: string, err: any): OperationStatus;
19
22
  /**
20
23
  * collection traversal - Performs a traversal starting from the given
21
24
  * startVertex and following edges contained in this edge collection.
@@ -26,7 +29,7 @@ export declare class GraphResourcesServiceBase implements GraphServiceImplementa
26
29
  * opts contains the options such as opts.direction, opts.filter, opts.visitor,
27
30
  * opts.init, opts.expander, opts.sort
28
31
  */
29
- traversal(request: TraversalRequest, context: any): ServerStreamingMethodResult<DeepPartial<TraversalResponse>>;
32
+ traversal(request: TraversalRequest, context: CallContext): ServerStreamingMethodResult<DeepPartial<TraversalResponse>>;
30
33
  /**
31
34
  * marshall the data
32
35
  *
@@ -37,3 +40,4 @@ export declare class GraphResourcesServiceBase implements GraphServiceImplementa
37
40
  marshallData(document: any, bufferField: any): any;
38
41
  private updateJSON;
39
42
  }
43
+ //# sourceMappingURL=GraphResourcesServiceBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphResourcesServiceBase.d.ts","sourceRoot":"","sources":["../../src/core/GraphResourcesServiceBase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,qBAAqB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EACL,eAAe,EAChB,MAAM,kFAAkF,CAAC;AAC1F,OAAO,EACL,WAAW,EAAE,2BAA2B,EACxC,0BAA0B,EAC1B,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,iFAAiF,CAAC;AAGzF;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,0BAA0B;IAOxE,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IATpC,mBAAmB,EAAE,GAAG,CAAC;IACzB;;;OAGG;gBAEgB,EAAE,EAAE,qBAAqB,EACzB,cAAc,CAAC,EAAE,GAAG,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,GAAG;IAYzC,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,eAAe;IAQrE;;;;;;;;;MASE;IACK,SAAS,CACd,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,WAAW,GACnB,2BAA2B,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IA0H9D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,GAAG;IAWlD,OAAO,CAAC,UAAU,CAgChB;CACH"}
@@ -1,36 +1,17 @@
1
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.GraphResourcesServiceBase = void 0;
27
- const _ = __importStar(require("lodash"));
28
- const logger_1 = require("@restorecommerce/logger");
4
+ const interfaces_1 = require("./interfaces");
29
5
  /**
30
6
  * Graph Resource API base provides functions for graph Operations such as
31
7
  * creating or modifying Vertices/Edges, graph traversal etc.
32
8
  */
33
9
  class GraphResourcesServiceBase {
10
+ db;
11
+ bufferFiledCfg;
12
+ logger;
13
+ dateTimeFieldcfg;
14
+ bufferedCollections;
34
15
  /**
35
16
  * @constructor
36
17
  * @param {object} db Chassis arangodb provider.
@@ -38,42 +19,8 @@ class GraphResourcesServiceBase {
38
19
  constructor(db, bufferFiledCfg, logger, dateTimeFieldcfg) {
39
20
  this.db = db;
40
21
  this.bufferFiledCfg = bufferFiledCfg;
41
- this.updateJSON = (path, obj) => {
42
- const fields = path.split('.');
43
- let result = obj;
44
- let j = 0;
45
- for (let i = 0, n = fields.length; i < n && result !== undefined; i++) {
46
- const field = fields[i];
47
- if (i === n - 1) {
48
- // reset value finally after iterating to the position (only if value already exists)
49
- if (result[field]) {
50
- result[field] = new Date(result[field]).toISOString();
51
- }
52
- }
53
- else {
54
- if (_.isArray(result[field])) {
55
- // till i < n concat new fields
56
- let newField;
57
- for (let k = i + 1; k < n; k++) {
58
- if (newField) {
59
- newField = newField + '.' + fields[k];
60
- }
61
- else {
62
- newField = fields[k];
63
- }
64
- }
65
- for (; j < result[field].length; j++) {
66
- // recurisve call to update each element if its an array
67
- this.updateJSON(newField, result[field][j]);
68
- }
69
- }
70
- else {
71
- // update object till final path is reached
72
- result = result[field];
73
- }
74
- }
75
- }
76
- };
22
+ this.logger = logger;
23
+ this.dateTimeFieldcfg = dateTimeFieldcfg;
77
24
  if (bufferFiledCfg) {
78
25
  this.bufferedCollections = [];
79
26
  for (const key in bufferFiledCfg) {
@@ -81,22 +28,15 @@ class GraphResourcesServiceBase {
81
28
  this.bufferedCollections.push(key);
82
29
  }
83
30
  }
84
- if (logger) {
85
- this.logger = logger;
86
- }
87
- else {
88
- const defaultLoggerCfg = {
89
- console: {
90
- handleExceptions: false,
91
- level: 'debug',
92
- colorize: true,
93
- prettyPrint: true
94
- }
95
- };
96
- this.logger = (0, logger_1.createLogger)(defaultLoggerCfg);
97
- }
98
31
  this.dateTimeFieldcfg = dateTimeFieldcfg;
99
32
  }
33
+ catchOperationError(msg, err) {
34
+ this.logger?.error(msg, err);
35
+ return {
36
+ code: Number.isInteger(err.code) ? err.code : 500,
37
+ message: err.message ?? 'Unknown Error!',
38
+ };
39
+ }
100
40
  /**
101
41
  * collection traversal - Performs a traversal starting from the given
102
42
  * startVertex and following edges contained in this edge collection.
@@ -114,7 +54,7 @@ class GraphResourcesServiceBase {
114
54
  const options = request?.opts;
115
55
  if (!vertices && !collection) {
116
56
  const message = 'missing start vertex or collection_name for graph traversal';
117
- this.logger.error(message);
57
+ this.logger?.error(message);
118
58
  yield {
119
59
  operation_status: { code: 400, message }
120
60
  };
@@ -123,36 +63,30 @@ class GraphResourcesServiceBase {
123
63
  const filters = request?.filters;
124
64
  const path = request?.path ? request.path : false;
125
65
  let traversalCursor;
126
- let sort;
127
- if (collection && !_.isEmpty(collection.sorts)) {
128
- sort = {};
129
- _.forEach(collection.sorts, (s) => {
66
+ if (collection?.sorts?.length) {
67
+ collection.sorts = collection.sorts.reduce((a, s) => {
130
68
  switch (s.order) {
131
- case 'ASCENDING':
132
- case 1:
133
- sort[s.field] = 'ASC';
69
+ case interfaces_1.SortOrder.ASCENDING:
70
+ a[s.field] = 'ASC';
134
71
  break;
135
- case 2:
136
- case 'DESCENDING':
137
- sort[s.field] = 'DESC';
72
+ case interfaces_1.SortOrder.DESCENDING:
73
+ a[s.field] = 'DESC';
138
74
  break;
139
- case 'UNSORTED':
140
- case 0:
75
+ case interfaces_1.SortOrder.UNSORTED:
141
76
  default:
142
77
  break;
143
78
  }
144
- });
145
- collection.sorts = sort;
79
+ return a;
80
+ }, {});
146
81
  }
147
82
  try {
148
- this.logger.debug('Calling traversal', { vertices, collection });
83
+ this.logger?.debug('Calling traversal', { vertices, collection });
149
84
  traversalCursor = await this.db.traversal(vertices, collection, options, filters);
150
- this.logger.debug('Received traversal ArrayCursor from DB');
85
+ this.logger?.debug('Received traversal ArrayCursor from DB');
151
86
  }
152
87
  catch (err) {
153
- this.logger.error('Error executing DB Traversal', { code: err.code, message: err.message, stack: err.stack });
154
88
  yield {
155
- operation_status: { code: err.code ? err.code : 500, message: err.message }
89
+ operation_status: this.catchOperationError('Error executing DB Traversal', err)
156
90
  };
157
91
  return;
158
92
  }
@@ -192,7 +126,7 @@ class GraphResourcesServiceBase {
192
126
  if (cfgEntityNames === entityName) {
193
127
  const dateTimeFields = this.dateTimeFieldcfg[entityName];
194
128
  dateTimeFields.forEach(e => {
195
- if (e.indexOf('.')) {
129
+ if (e.includes('.')) {
196
130
  this.updateJSON(e, data.v);
197
131
  }
198
132
  else {
@@ -207,25 +141,24 @@ class GraphResourcesServiceBase {
207
141
  traversedPaths.push(data.p);
208
142
  }
209
143
  }
210
- if (!_.isEmpty(associationData)) {
144
+ if (associationData.length) {
211
145
  // associated entity data, encoding before pushing data
212
146
  yield ({ data: { value: Buffer.from(JSON.stringify(associationData)) } });
213
147
  }
214
148
  // paths
215
- if (!_.isEmpty(traversedPaths)) {
149
+ if (traversedPaths.length) {
216
150
  // traversed paths, encoding before pushing paths
217
151
  yield ({ paths: { value: Buffer.from(JSON.stringify(traversedPaths)) } });
218
152
  }
219
153
  }
220
154
  }
221
155
  yield ({ operation_status: { code: 200, message: 'success' } });
222
- this.logger.debug('Traversal request ended');
156
+ this.logger?.debug('Traversal request ended');
223
157
  return;
224
158
  }
225
159
  catch (err) {
226
- this.logger.error('Error caught executing traversal', { code: err.code, message: err.message, stack: err.stack });
227
160
  yield {
228
- operation_status: { code: err.code ? err.code : 500, message: err.message }
161
+ operation_status: this.catchOperationError('Error caught executing traversal', err)
229
162
  };
230
163
  return;
231
164
  }
@@ -247,6 +180,42 @@ class GraphResourcesServiceBase {
247
180
  }
248
181
  return document;
249
182
  }
183
+ updateJSON = (path, obj) => {
184
+ const fields = path.split('.');
185
+ let result = obj;
186
+ let j = 0;
187
+ for (let i = 0, n = fields.length; i < n && result !== undefined; i++) {
188
+ const field = fields[i];
189
+ if (i === n - 1) {
190
+ // reset value finally after iterating to the position (only if value already exists)
191
+ if (result[field]) {
192
+ result[field] = new Date(result[field]).toISOString();
193
+ }
194
+ }
195
+ else {
196
+ if (Array.isArray(result[field])) {
197
+ // till i < n concat new fields
198
+ let newField;
199
+ for (let k = i + 1; k < n; k++) {
200
+ if (newField) {
201
+ newField = newField + '.' + fields[k];
202
+ }
203
+ else {
204
+ newField = fields[k];
205
+ }
206
+ }
207
+ for (; j < result[field].length; j++) {
208
+ // recurisve call to update each element if its an array
209
+ this.updateJSON(newField, result[field][j]);
210
+ }
211
+ }
212
+ else {
213
+ // update object till final path is reached
214
+ result = result[field];
215
+ }
216
+ }
217
+ }
218
+ };
250
219
  }
251
220
  exports.GraphResourcesServiceBase = GraphResourcesServiceBase;
252
221
  //# sourceMappingURL=GraphResourcesServiceBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GraphResourcesServiceBase.js","sourceRoot":"","sources":["../../src/core/GraphResourcesServiceBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphResourcesServiceBase.js","sourceRoot":"","sources":["../../src/core/GraphResourcesServiceBase.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,25 @@
1
+ import { type RedisClientType } from 'redis';
1
2
  import { Logger } from '@restorecommerce/logger';
2
3
  import { Topic } from '@restorecommerce/kafka-client';
3
4
  import { BaseDocument } from './interfaces';
4
5
  import { DatabaseProvider } from '@restorecommerce/chassis-srv';
5
- import { DeepPartial } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/attribute';
6
- import { Search } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/resource_base';
6
+ import { Status, OperationStatus } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/status';
7
+ import { DeepPartial, Search } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/resource_base';
7
8
  import { Subject } from '@restorecommerce/rc-grpc-clients/dist/generated-server/io/restorecommerce/auth';
8
9
  /**
9
10
  * Resource API base provides functions for CRUD operations.
10
11
  */
11
12
  export declare class ResourcesAPIBase {
12
- readonly db: DatabaseProvider;
13
- readonly collectionName: string;
14
- readonly edgeCfg?: any;
15
- readonly graphName?: string;
16
- readonly logger?: Logger;
17
- readonly resourceName?: string;
18
- readonly bufferFields: string[];
19
- readonly requiredFields: any;
20
- readonly timeStampFields: string[];
13
+ protected readonly db: DatabaseProvider;
14
+ protected readonly collectionName: string;
15
+ protected readonly edgeCfg?: any;
16
+ protected readonly graphName?: string;
17
+ protected readonly logger?: Logger;
18
+ protected readonly resourceName?: string;
19
+ protected readonly bufferFields: string[];
20
+ protected readonly requiredFields: any;
21
+ protected readonly timeStampFields: string[];
22
+ protected readonly redisClient: RedisClientType;
21
23
  /**
22
24
  * @constructor
23
25
  * @param {object} db Chassis arangodb provider.
@@ -25,51 +27,56 @@ export declare class ResourcesAPIBase {
25
27
  * @param {any} fieldHandlerConf The collection's field generators configuration.
26
28
  */
27
29
  constructor(db: DatabaseProvider, collectionName: string, fieldHandlerConf?: any, edgeCfg?: any, graphName?: string, logger?: Logger, resourceName?: string);
30
+ protected catchOperationError(msg: string, err: any): OperationStatus;
31
+ protected catchStatusError(msg: string, err: any): Status;
32
+ protected setMeta<T extends BaseDocument>(o: T & any, subject: Subject, create?: boolean): T;
33
+ protected setDefaults<T extends BaseDocument>(o: T & any, collectionName: string, subject: Subject, create?: boolean): Promise<T>;
28
34
  /**
29
35
  * Finds documents based on provided filters and options
30
36
  * @param {object} filter key value filter using mongodb/nedb filter format.
31
37
  * @param {number} limit
32
38
  * @param {number} offset
33
39
  * @param {object} sort key value, key=field value: 1=ASCENDING, -1=DESCENDING, 0=UNSORTED
34
- * @param {object} field key value, key=field value: 0=exclude, 1=include
40
+ * @param {object} fields key value, key=field value: 0=exclude, 1=include
35
41
  * @returns {an Object that contains an items field}
36
42
  */
37
- read(filter: object, limit: number, offset: number, sort: any, field: any, customQueries: string[], customArgs: any, search: DeepPartial<Search>): Promise<BaseDocument[]>;
43
+ read(filter: object, limit: number, offset: number, sort: any, fields: any, customQueries: string[], customArgs: any, search: DeepPartial<Search>): Promise<BaseDocument[]>;
38
44
  /**
39
45
  * Inserts documents to the database.
40
46
  *
41
47
  * @param {array.object} documents
42
48
  */
43
- create(documents: BaseDocument[], subject: Subject): Promise<any>;
49
+ create(documents: BaseDocument[], subject: Subject, events?: Topic): Promise<any>;
44
50
  private isGraphDB;
45
51
  /**
46
52
  * Check if a resource's required fields are present.
47
53
  * @param requiredFields
48
54
  * @param documents
49
55
  */
50
- checkRequiredFields(requiredFields: string[], documents: any[], result: any[]): any;
56
+ checkRequiredFields(requiredFields: string[], documents: BaseDocument[], errors: BaseDocument[]): BaseDocument[];
51
57
  /**
52
58
  * Removes documents found by id.
53
59
  *
54
60
  * @param [array.string] ids List of document IDs.
55
61
  */
56
- delete(ids: string[]): Promise<any>;
62
+ delete(ids: string[], events?: Topic): Promise<any[]>;
57
63
  /**
58
64
  * Delete all documents in the collection.
59
65
  */
60
- deleteCollection(): Promise<Array<any>>;
66
+ deleteCollection(events?: Topic): Promise<void>;
61
67
  /**
62
68
  * Upserts documents.
63
69
  *
64
70
  * @param [array.object] documents
65
71
  */
66
- upsert(documents: BaseDocument[], events: Topic, resourceName: string, subject: Subject): Promise<BaseDocument[]>;
72
+ upsert<T extends BaseDocument>(documents: T[], subject: Subject, events?: Topic): Promise<T[]>;
67
73
  /**
68
74
  * Finds documents by id and updates them.
69
75
  *
70
76
  * @param [array.object] documents
71
77
  * A list of documents or partial documents. Each document must contain an id field.
72
78
  */
73
- update(documents: BaseDocument[], subject: Subject): Promise<BaseDocument[]>;
79
+ update<T extends BaseDocument>(documents: T[], subject: Subject, events?: Topic): Promise<T[]>;
74
80
  private encodeOrDecode;
75
81
  }
82
+ //# sourceMappingURL=ResourcesAPI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResourcesAPI.d.ts","sourceRoot":"","sources":["../../src/core/ResourcesAPI.ts"],"names":[],"mappings":"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"}