@common-stack/server-core 0.2.1 → 0.2.14

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.
@@ -205,10 +205,11 @@ declare class Feature<T = ConfigurationScope> {
205
205
  findIndex(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => unknown, thisArg?: any): number;
206
206
  fill(value: IPreferences<S>, start?: number, end?: number): IPreferences<S>[];
207
207
  copyWithin(target: number, start: number, end?: number): IPreferences<S>[];
208
- [Symbol.iterator](): IterableIterator<IPreferences<S>>;
209
208
  entries(): IterableIterator<[number, IPreferences<S>]>;
210
209
  keys(): IterableIterator<number>;
211
210
  values(): IterableIterator<IPreferences<S>>;
211
+ includes(searchElement: IPreferences<S>, fromIndex?: number): boolean;
212
+ [Symbol.iterator](): IterableIterator<IPreferences<S>>;
212
213
  [Symbol.unscopables](): {
213
214
  copyWithin: boolean;
214
215
  entries: boolean;
@@ -218,7 +219,6 @@ declare class Feature<T = ConfigurationScope> {
218
219
  keys: boolean;
219
220
  values: boolean;
220
221
  };
221
- includes(searchElement: IPreferences<S>, fromIndex?: number): boolean;
222
222
  };
223
223
  getPermissionPreferences<T = ConfigurationScope>(): IPreferences<T>[];
224
224
  getPermissionPreferencesObj<T>(): {
@@ -258,10 +258,11 @@ declare class Feature<T = ConfigurationScope> {
258
258
  findIndex(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): number;
259
259
  fill(value: IPreferences<T>, start?: number, end?: number): IPreferences<T>[];
260
260
  copyWithin(target: number, start: number, end?: number): IPreferences<T>[];
261
- [Symbol.iterator](): IterableIterator<IPreferences<T>>;
262
261
  entries(): IterableIterator<[number, IPreferences<T>]>;
263
262
  keys(): IterableIterator<number>;
264
263
  values(): IterableIterator<IPreferences<T>>;
264
+ includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
265
+ [Symbol.iterator](): IterableIterator<IPreferences<T>>;
265
266
  [Symbol.unscopables](): {
266
267
  copyWithin: boolean;
267
268
  entries: boolean;
@@ -271,7 +272,6 @@ declare class Feature<T = ConfigurationScope> {
271
272
  keys: boolean;
272
273
  values: boolean;
273
274
  };
274
- includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
275
275
  };
276
276
  getPolicyPreferences<T = ConfigurationScope>(): IPreferences<T>[];
277
277
  getPolicyPreferencesObj<T>(): {
@@ -311,10 +311,11 @@ declare class Feature<T = ConfigurationScope> {
311
311
  findIndex(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): number;
312
312
  fill(value: IPreferences<T>, start?: number, end?: number): IPreferences<T>[];
313
313
  copyWithin(target: number, start: number, end?: number): IPreferences<T>[];
314
- [Symbol.iterator](): IterableIterator<IPreferences<T>>;
315
314
  entries(): IterableIterator<[number, IPreferences<T>]>;
316
315
  keys(): IterableIterator<number>;
317
316
  values(): IterableIterator<IPreferences<T>>;
317
+ includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
318
+ [Symbol.iterator](): IterableIterator<IPreferences<T>>;
318
319
  [Symbol.unscopables](): {
319
320
  copyWithin: boolean;
320
321
  entries: boolean;
@@ -324,7 +325,6 @@ declare class Feature<T = ConfigurationScope> {
324
325
  keys: boolean;
325
326
  values: boolean;
326
327
  };
327
- includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
328
328
  };
329
329
  getRoles(): {};
330
330
  getRolesObj<S>(): {
@@ -364,10 +364,11 @@ declare class Feature<T = ConfigurationScope> {
364
364
  findIndex(predicate: (value: IPreferences<S>, index: number, obj: IPreferences<S>[]) => unknown, thisArg?: any): number;
365
365
  fill(value: IPreferences<S>, start?: number, end?: number): IPreferences<S>[];
366
366
  copyWithin(target: number, start: number, end?: number): IPreferences<S>[];
367
- [Symbol.iterator](): IterableIterator<IPreferences<S>>;
368
367
  entries(): IterableIterator<[number, IPreferences<S>]>;
369
368
  keys(): IterableIterator<number>;
370
369
  values(): IterableIterator<IPreferences<S>>;
370
+ includes(searchElement: IPreferences<S>, fromIndex?: number): boolean;
371
+ [Symbol.iterator](): IterableIterator<IPreferences<S>>;
371
372
  [Symbol.unscopables](): {
372
373
  copyWithin: boolean;
373
374
  entries: boolean;
@@ -377,7 +378,6 @@ declare class Feature<T = ConfigurationScope> {
377
378
  keys: boolean;
378
379
  values: boolean;
379
380
  };
380
- includes(searchElement: IPreferences<S>, fromIndex?: number): boolean;
381
381
  };
382
382
  getWebsocketConfig(): IWebsocketConfig;
383
383
  private convertArrayToObject;
package/lib/index.js CHANGED
@@ -1,108 +1,21 @@
1
- module.exports =
2
- /******/ (function(modules) { // webpackBootstrap
3
- /******/ // The module cache
4
- /******/ var installedModules = {};
5
- /******/
6
- /******/ // The require function
7
- /******/ function __webpack_require__(moduleId) {
8
- /******/
9
- /******/ // Check if module is in cache
10
- /******/ if(installedModules[moduleId]) {
11
- /******/ return installedModules[moduleId].exports;
12
- /******/ }
13
- /******/ // Create a new module (and put it into the cache)
14
- /******/ var module = installedModules[moduleId] = {
15
- /******/ i: moduleId,
16
- /******/ l: false,
17
- /******/ exports: {}
18
- /******/ };
19
- /******/
20
- /******/ // Execute the module function
21
- /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
22
- /******/
23
- /******/ // Flag the module as loaded
24
- /******/ module.l = true;
25
- /******/
26
- /******/ // Return the exports of the module
27
- /******/ return module.exports;
28
- /******/ }
29
- /******/
30
- /******/
31
- /******/ // expose the modules object (__webpack_modules__)
32
- /******/ __webpack_require__.m = modules;
33
- /******/
34
- /******/ // expose the module cache
35
- /******/ __webpack_require__.c = installedModules;
36
- /******/
37
- /******/ // define getter function for harmony exports
38
- /******/ __webpack_require__.d = function(exports, name, getter) {
39
- /******/ if(!__webpack_require__.o(exports, name)) {
40
- /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
41
- /******/ }
42
- /******/ };
43
- /******/
44
- /******/ // define __esModule on exports
45
- /******/ __webpack_require__.r = function(exports) {
46
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
47
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
48
- /******/ }
49
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
50
- /******/ };
51
- /******/
52
- /******/ // create a fake namespace object
53
- /******/ // mode & 1: value is a module id, require it
54
- /******/ // mode & 2: merge all properties of value into the ns
55
- /******/ // mode & 4: return value when already ns object
56
- /******/ // mode & 8|1: behave like require
57
- /******/ __webpack_require__.t = function(value, mode) {
58
- /******/ if(mode & 1) value = __webpack_require__(value);
59
- /******/ if(mode & 8) return value;
60
- /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
61
- /******/ var ns = Object.create(null);
62
- /******/ __webpack_require__.r(ns);
63
- /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
64
- /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
65
- /******/ return ns;
66
- /******/ };
67
- /******/
68
- /******/ // getDefaultExport function for compatibility with non-harmony modules
69
- /******/ __webpack_require__.n = function(module) {
70
- /******/ var getter = module && module.__esModule ?
71
- /******/ function getDefault() { return module['default']; } :
72
- /******/ function getModuleExports() { return module; };
73
- /******/ __webpack_require__.d(getter, 'a', getter);
74
- /******/ return getter;
75
- /******/ };
76
- /******/
77
- /******/ // Object.prototype.hasOwnProperty.call
78
- /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
79
- /******/
80
- /******/ // __webpack_public_path__
81
- /******/ __webpack_require__.p = "";
82
- /******/
83
- /******/
84
- /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = "./src/index.ts");
86
- /******/ })
87
- /************************************************************************/
88
- /******/ ({
1
+ /******/ (() => { // webpackBootstrap
2
+ /******/ "use strict";
3
+ /******/ var __webpack_modules__ = ({
89
4
 
90
5
  /***/ "./src/connector/connector.ts":
91
6
  /*!************************************!*\
92
7
  !*** ./src/connector/connector.ts ***!
93
8
  \************************************/
94
- /*! no static exports found */
95
- /***/ (function(module, exports, __webpack_require__) {
9
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
96
10
 
97
- "use strict";
98
11
 
99
- Object.defineProperty(exports, "__esModule", { value: true });
12
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
100
13
  exports.Feature = exports.featureCatalog = void 0;
101
14
  const lodash_1 = __webpack_require__(/*! lodash */ "lodash");
102
15
  const inversify_1 = __webpack_require__(/*! inversify */ "inversify");
103
16
  const utils_1 = __webpack_require__(/*! ../utils */ "./src/utils/index.ts");
104
17
  exports.featureCatalog = {};
105
- const combine = (features, extractor) => lodash_1.without(lodash_1.union(...lodash_1.map(features, (res) => lodash_1.castArray(extractor(res)))), undefined);
18
+ const combine = (features, extractor) => (0, lodash_1.without)((0, lodash_1.union)(...(0, lodash_1.map)(features, (res) => (0, lodash_1.castArray)(extractor(res)))), undefined);
106
19
  class Feature {
107
20
  constructor(feature, ...features) {
108
21
  const args = [feature, ...features];
@@ -156,7 +69,7 @@ class Feature {
156
69
  }
157
70
  get rules() {
158
71
  return this._rules.reduce((acc, curr) => {
159
- return lodash_1.merge(acc, curr);
72
+ return (0, lodash_1.merge)(acc, curr);
160
73
  }, {});
161
74
  }
162
75
  get schemas() {
@@ -171,7 +84,7 @@ class Feature {
171
84
  */
172
85
  async createContext(req, connectionParams, webSocket) {
173
86
  const results = await Promise.all(this.createContextFunc.map(createContext => createContext(req, connectionParams, webSocket)));
174
- return lodash_1.merge({}, ...results);
87
+ return (0, lodash_1.merge)({}, ...results);
175
88
  }
176
89
  /**
177
90
  * If you need to attach service to Graphql Context, you can use this function.
@@ -181,7 +94,7 @@ class Feature {
181
94
  return async (req, connectionParams, webSocket) => {
182
95
  await this.createService(options, updateOptions);
183
96
  const results = await Promise.all(this.createContextFunc.map(createContext => createContext(req, connectionParams, webSocket)));
184
- return lodash_1.merge({}, ...results, Object.assign({}, this.services));
97
+ return (0, lodash_1.merge)({}, ...results, Object.assign({}, this.services));
185
98
  };
186
99
  }
187
100
  /**
@@ -197,7 +110,7 @@ class Feature {
197
110
  await this.createContainers(options);
198
111
  await Promise.all(this.preCreateServiceFunc.map(async (createService) => await createService(this.container)));
199
112
  }
200
- this.services = lodash_1.merge({}, ...this.createServiceFunc.map(createService => createService(this.container)));
113
+ this.services = (0, lodash_1.merge)({}, ...this.createServiceFunc.map(createService => createService(this.container)));
201
114
  await Promise.all(this.postCreateServiceFunc.map(async (createService) => await createService(this.container)));
202
115
  return this.services;
203
116
  }
@@ -232,13 +145,13 @@ class Feature {
232
145
  return await Promise.all(this.microservicePostStartFunc.map(async (postStart) => await postStart(this.container, options)));
233
146
  }
234
147
  createDataSource(options) {
235
- return this.dataSources = lodash_1.merge({}, ...this.createDataSourceFunc.map(createDataSource => createDataSource(this.container)));
148
+ return this.dataSources = (0, lodash_1.merge)({}, ...this.createDataSourceFunc.map(createDataSource => createDataSource(this.container)));
236
149
  }
237
150
  createResolvers(options) {
238
- return lodash_1.merge({}, ...this.createResolversFunc.map(createResolvers => createResolvers(options)));
151
+ return (0, lodash_1.merge)({}, ...this.createResolversFunc.map(createResolvers => createResolvers(options)));
239
152
  }
240
153
  createDirectives(options) {
241
- return lodash_1.merge({}, ...this.createDirectivesFunc.map(createDirectives => createDirectives(options)));
154
+ return (0, lodash_1.merge)({}, ...this.createDirectivesFunc.map(createDirectives => createDirectives(options)));
242
155
  }
243
156
  async createContainers(options, containerOptions = { skipBaseClassChecks: true }) {
244
157
  this.container = new inversify_1.Container(containerOptions);
@@ -283,7 +196,7 @@ class Feature {
283
196
  return this.hemeraContainer;
284
197
  }
285
198
  updateContainers(options, updateOptions) {
286
- let mergedModules = lodash_1.merge({}, ...this.updateContainerFunc);
199
+ let mergedModules = (0, lodash_1.merge)({}, ...this.updateContainerFunc);
287
200
  const matchingModules = [];
288
201
  if (updateOptions) {
289
202
  updateOptions.forEach(option => {
@@ -306,7 +219,7 @@ class Feature {
306
219
  this.addBrokerClientServiceClass.map(serviceClass => broker.createService(serviceClass, { container, settings }));
307
220
  }
308
221
  createDefaultPreferences() {
309
- return utils_1.transformPrefsToArray(lodash_1.merge([], ...this.createPreference));
222
+ return (0, utils_1.transformPrefsToArray)((0, lodash_1.merge)([], ...this.createPreference));
310
223
  }
311
224
  get beforewares() {
312
225
  return this.beforeware;
@@ -315,57 +228,57 @@ class Feature {
315
228
  return this.middleware;
316
229
  }
317
230
  getPreferences() {
318
- return utils_1.transformPrefsToArray(this.getPreferencesObj());
231
+ return (0, utils_1.transformPrefsToArray)(this.getPreferencesObj());
319
232
  }
320
233
  getPreferencesObj() {
321
- const defaultPrefs = lodash_1.merge([], ...this.createPreference);
322
- const overwritePrefs = lodash_1.merge([], ...this.overwritePreference);
323
- return utils_1.getCurrentPreferences(defaultPrefs, overwritePrefs);
234
+ const defaultPrefs = (0, lodash_1.merge)([], ...this.createPreference);
235
+ const overwritePrefs = (0, lodash_1.merge)([], ...this.overwritePreference);
236
+ return (0, utils_1.getCurrentPreferences)(defaultPrefs, overwritePrefs);
324
237
  }
325
238
  getPermissionPreferences() {
326
- return utils_1.transformPrefsToArray(this.getPermissionPreferencesObj());
239
+ return (0, utils_1.transformPrefsToArray)(this.getPermissionPreferencesObj());
327
240
  }
328
241
  getPermissionPreferencesObj() {
329
242
  const { createPermissions = [], overwritePermissions = [] } = this.addPermissions;
330
- const defaultPrefs = lodash_1.merge([], ...lodash_1.castArray(createPermissions));
331
- const overwritePrefs = lodash_1.merge([], ...lodash_1.castArray(overwritePermissions));
332
- return utils_1.getCurrentPreferences(defaultPrefs, overwritePrefs);
243
+ const defaultPrefs = (0, lodash_1.merge)([], ...(0, lodash_1.castArray)(createPermissions));
244
+ const overwritePrefs = (0, lodash_1.merge)([], ...(0, lodash_1.castArray)(overwritePermissions));
245
+ return (0, utils_1.getCurrentPreferences)(defaultPrefs, overwritePrefs);
333
246
  }
334
247
  getPolicyPreferences() {
335
- return utils_1.transformPrefsToArray(this.getPolicyPreferencesObj());
248
+ return (0, utils_1.transformPrefsToArray)(this.getPolicyPreferencesObj());
336
249
  }
337
250
  getPolicyPreferencesObj() {
338
251
  const { createPolicies = [], overwritePolicies = [] } = this.addPolicies;
339
- const defaultPrefs = lodash_1.merge([], ...lodash_1.castArray(createPolicies));
340
- const overwritePrefs = lodash_1.merge([], ...lodash_1.castArray(overwritePolicies));
341
- return utils_1.getCurrentPreferences(defaultPrefs, overwritePrefs);
252
+ const defaultPrefs = (0, lodash_1.merge)([], ...(0, lodash_1.castArray)(createPolicies));
253
+ const overwritePrefs = (0, lodash_1.merge)([], ...(0, lodash_1.castArray)(overwritePolicies));
254
+ return (0, utils_1.getCurrentPreferences)(defaultPrefs, overwritePrefs);
342
255
  }
343
256
  getRoles() {
344
257
  const { createRoles, overwriteRolesPermissions } = this.rolesUpdate;
345
- const mergedRoles = lodash_1.merge({}, ...lodash_1.castArray(createRoles));
346
- const mergedOverwriteRolesPermissions = lodash_1.merge({}, ...lodash_1.castArray(overwriteRolesPermissions));
258
+ const mergedRoles = (0, lodash_1.merge)({}, ...(0, lodash_1.castArray)(createRoles));
259
+ const mergedOverwriteRolesPermissions = (0, lodash_1.merge)({}, ...(0, lodash_1.castArray)(overwriteRolesPermissions));
347
260
  let result = {};
348
261
  for (const role in mergedRoles) {
349
- const rolePermission = mergedOverwriteRolesPermissions[role] ? lodash_1.merge({}, mergedRoles[role].permissions, mergedOverwriteRolesPermissions[role]) : mergedRoles[role].permissions;
262
+ const rolePermission = mergedOverwriteRolesPermissions[role] ? (0, lodash_1.merge)({}, mergedRoles[role].permissions, mergedOverwriteRolesPermissions[role]) : mergedRoles[role].permissions;
350
263
  const mmm = Object.assign(Object.assign({}, mergedRoles[role]), { permissions: Object.assign({}, rolePermission) });
351
- result = lodash_1.merge({}, result, { [role]: mmm });
264
+ result = (0, lodash_1.merge)({}, result, { [role]: mmm });
352
265
  }
353
266
  return result;
354
267
  }
355
268
  getRolesObj() {
356
269
  const { createRoles } = this.rolesUpdate;
357
- const defaultPrefs = lodash_1.merge([], ...lodash_1.castArray(createRoles));
358
- const overwritePrefs = lodash_1.merge([], ...lodash_1.castArray(createRoles));
359
- return utils_1.getCurrentPreferences(defaultPrefs, overwritePrefs);
270
+ const defaultPrefs = (0, lodash_1.merge)([], ...(0, lodash_1.castArray)(createRoles));
271
+ const overwritePrefs = (0, lodash_1.merge)([], ...(0, lodash_1.castArray)(createRoles));
272
+ return (0, utils_1.getCurrentPreferences)(defaultPrefs, overwritePrefs);
360
273
  }
361
274
  getWebsocketConfig() {
362
275
  return this.createWebsocketConfig.reduce((pre, curr) => {
363
- return lodash_1.merge(pre, curr);
276
+ return (0, lodash_1.merge)(pre, curr);
364
277
  }, {});
365
278
  }
366
279
  convertArrayToObject(arrayObject) {
367
280
  return arrayObject.reduce((pre, curr) => {
368
- return lodash_1.merge(pre, curr);
281
+ return (0, lodash_1.merge)(pre, curr);
369
282
  }, {});
370
283
  }
371
284
  }
@@ -378,14 +291,16 @@ exports.Feature = Feature;
378
291
  /*!********************************!*\
379
292
  !*** ./src/connector/index.ts ***!
380
293
  \********************************/
381
- /*! no static exports found */
382
- /***/ (function(module, exports, __webpack_require__) {
294
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
383
295
 
384
- "use strict";
385
296
 
386
297
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
387
298
  if (k2 === undefined) k2 = k;
388
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
299
+ var desc = Object.getOwnPropertyDescriptor(m, k);
300
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
301
+ desc = { enumerable: true, get: function() { return m[k]; } };
302
+ }
303
+ Object.defineProperty(o, k2, desc);
389
304
  }) : (function(o, m, k, k2) {
390
305
  if (k2 === undefined) k2 = k;
391
306
  o[k2] = m[k];
@@ -393,7 +308,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
393
308
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
394
309
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
395
310
  };
396
- Object.defineProperty(exports, "__esModule", { value: true });
311
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
397
312
  __exportStar(__webpack_require__(/*! ./connector */ "./src/connector/connector.ts"), exports);
398
313
 
399
314
 
@@ -403,14 +318,16 @@ __exportStar(__webpack_require__(/*! ./connector */ "./src/connector/connector.t
403
318
  /*!********************************!*\
404
319
  !*** ./src/constants/index.ts ***!
405
320
  \********************************/
406
- /*! no static exports found */
407
- /***/ (function(module, exports, __webpack_require__) {
321
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
408
322
 
409
- "use strict";
410
323
 
411
324
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
412
325
  if (k2 === undefined) k2 = k;
413
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
326
+ var desc = Object.getOwnPropertyDescriptor(m, k);
327
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
328
+ desc = { enumerable: true, get: function() { return m[k]; } };
329
+ }
330
+ Object.defineProperty(o, k2, desc);
414
331
  }) : (function(o, m, k, k2) {
415
332
  if (k2 === undefined) k2 = k;
416
333
  o[k2] = m[k];
@@ -418,7 +335,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
418
335
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
419
336
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
420
337
  };
421
- Object.defineProperty(exports, "__esModule", { value: true });
338
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
422
339
  __exportStar(__webpack_require__(/*! ./types */ "./src/constants/types.ts"), exports);
423
340
 
424
341
 
@@ -428,12 +345,10 @@ __exportStar(__webpack_require__(/*! ./types */ "./src/constants/types.ts"), exp
428
345
  /*!********************************!*\
429
346
  !*** ./src/constants/types.ts ***!
430
347
  \********************************/
431
- /*! no static exports found */
432
- /***/ (function(module, exports, __webpack_require__) {
348
+ /***/ ((__unused_webpack_module, exports) => {
433
349
 
434
- "use strict";
435
350
 
436
- Object.defineProperty(exports, "__esModule", { value: true });
351
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
437
352
  exports.TYPES = void 0;
438
353
  exports.TYPES = {
439
354
  IHemeraSettings: Symbol.for('IHemeraSettings'),
@@ -451,14 +366,16 @@ exports.TYPES = {
451
366
  /*!**********************!*\
452
367
  !*** ./src/index.ts ***!
453
368
  \**********************/
454
- /*! no static exports found */
455
- /***/ (function(module, exports, __webpack_require__) {
369
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
456
370
 
457
- "use strict";
458
371
 
459
372
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
460
373
  if (k2 === undefined) k2 = k;
461
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
374
+ var desc = Object.getOwnPropertyDescriptor(m, k);
375
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
376
+ desc = { enumerable: true, get: function() { return m[k]; } };
377
+ }
378
+ Object.defineProperty(o, k2, desc);
462
379
  }) : (function(o, m, k, k2) {
463
380
  if (k2 === undefined) k2 = k;
464
381
  o[k2] = m[k];
@@ -466,7 +383,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
466
383
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
467
384
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
468
385
  };
469
- Object.defineProperty(exports, "__esModule", { value: true });
386
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
470
387
  __exportStar(__webpack_require__(/*! ./connector */ "./src/connector/index.ts"), exports);
471
388
  __exportStar(__webpack_require__(/*! ./interfaces */ "./src/interfaces/index.ts"), exports);
472
389
  __exportStar(__webpack_require__(/*! ./constants */ "./src/constants/index.ts"), exports);
@@ -479,12 +396,10 @@ __exportStar(__webpack_require__(/*! ./logger */ "./src/logger/index.ts"), expor
479
396
  /*!*************************************!*\
480
397
  !*** ./src/interfaces/connector.ts ***!
481
398
  \*************************************/
482
- /*! no static exports found */
483
- /***/ (function(module, exports, __webpack_require__) {
399
+ /***/ ((__unused_webpack_module, exports) => {
484
400
 
485
- "use strict";
486
401
 
487
- Object.defineProperty(exports, "__esModule", { value: true });
402
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
488
403
  exports.ConfigurationScope = void 0;
489
404
  var ConfigurationScope;
490
405
  (function (ConfigurationScope) {
@@ -499,14 +414,16 @@ var ConfigurationScope;
499
414
  /*!*********************************!*\
500
415
  !*** ./src/interfaces/index.ts ***!
501
416
  \*********************************/
502
- /*! no static exports found */
503
- /***/ (function(module, exports, __webpack_require__) {
417
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
504
418
 
505
- "use strict";
506
419
 
507
420
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
508
421
  if (k2 === undefined) k2 = k;
509
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
422
+ var desc = Object.getOwnPropertyDescriptor(m, k);
423
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
424
+ desc = { enumerable: true, get: function() { return m[k]; } };
425
+ }
426
+ Object.defineProperty(o, k2, desc);
510
427
  }) : (function(o, m, k, k2) {
511
428
  if (k2 === undefined) k2 = k;
512
429
  o[k2] = m[k];
@@ -514,7 +431,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
514
431
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
515
432
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
516
433
  };
517
- Object.defineProperty(exports, "__esModule", { value: true });
434
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
518
435
  __exportStar(__webpack_require__(/*! ./connector */ "./src/interfaces/connector.ts"), exports);
519
436
  __exportStar(__webpack_require__(/*! ./mongo-migration */ "./src/interfaces/mongo-migration.ts"), exports);
520
437
  __exportStar(__webpack_require__(/*! ./rules */ "./src/interfaces/rules.ts"), exports);
@@ -529,12 +446,10 @@ __exportStar(__webpack_require__(/*! ./policies */ "./src/interfaces/policies.ts
529
446
  /*!*******************************************!*\
530
447
  !*** ./src/interfaces/mongo-migration.ts ***!
531
448
  \*******************************************/
532
- /*! no static exports found */
533
- /***/ (function(module, exports, __webpack_require__) {
449
+ /***/ ((__unused_webpack_module, exports) => {
534
450
 
535
- "use strict";
536
451
 
537
- Object.defineProperty(exports, "__esModule", { value: true });
452
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
538
453
 
539
454
 
540
455
  /***/ }),
@@ -543,12 +458,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
543
458
  /*!***************************************!*\
544
459
  !*** ./src/interfaces/permissions.ts ***!
545
460
  \***************************************/
546
- /*! no static exports found */
547
- /***/ (function(module, exports, __webpack_require__) {
461
+ /***/ ((__unused_webpack_module, exports) => {
548
462
 
549
- "use strict";
550
463
 
551
- Object.defineProperty(exports, "__esModule", { value: true });
464
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
552
465
 
553
466
 
554
467
  /***/ }),
@@ -557,12 +470,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
557
470
  /*!************************************!*\
558
471
  !*** ./src/interfaces/policies.ts ***!
559
472
  \************************************/
560
- /*! no static exports found */
561
- /***/ (function(module, exports, __webpack_require__) {
473
+ /***/ ((__unused_webpack_module, exports) => {
562
474
 
563
- "use strict";
564
475
 
565
- Object.defineProperty(exports, "__esModule", { value: true });
476
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
566
477
 
567
478
 
568
479
  /***/ }),
@@ -571,12 +482,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
571
482
  /*!*********************************!*\
572
483
  !*** ./src/interfaces/roles.ts ***!
573
484
  \*********************************/
574
- /*! no static exports found */
575
- /***/ (function(module, exports, __webpack_require__) {
485
+ /***/ ((__unused_webpack_module, exports) => {
576
486
 
577
- "use strict";
578
487
 
579
- Object.defineProperty(exports, "__esModule", { value: true });
488
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
580
489
 
581
490
 
582
491
  /***/ }),
@@ -585,12 +494,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
585
494
  /*!*********************************!*\
586
495
  !*** ./src/interfaces/rules.ts ***!
587
496
  \*********************************/
588
- /*! no static exports found */
589
- /***/ (function(module, exports, __webpack_require__) {
497
+ /***/ ((__unused_webpack_module, exports) => {
590
498
 
591
- "use strict";
592
499
 
593
- Object.defineProperty(exports, "__esModule", { value: true });
500
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
594
501
  exports.GraphqlRootType = void 0;
595
502
  var GraphqlRootType;
596
503
  (function (GraphqlRootType) {
@@ -606,14 +513,16 @@ var GraphqlRootType;
606
513
  /*!*****************************!*\
607
514
  !*** ./src/logger/index.ts ***!
608
515
  \*****************************/
609
- /*! no static exports found */
610
- /***/ (function(module, exports, __webpack_require__) {
516
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
611
517
 
612
- "use strict";
613
518
 
614
519
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
615
520
  if (k2 === undefined) k2 = k;
616
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
521
+ var desc = Object.getOwnPropertyDescriptor(m, k);
522
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
523
+ desc = { enumerable: true, get: function() { return m[k]; } };
524
+ }
525
+ Object.defineProperty(o, k2, desc);
617
526
  }) : (function(o, m, k, k2) {
618
527
  if (k2 === undefined) k2 = k;
619
528
  o[k2] = m[k];
@@ -621,7 +530,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
621
530
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
622
531
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
623
532
  };
624
- Object.defineProperty(exports, "__esModule", { value: true });
533
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
625
534
  __exportStar(__webpack_require__(/*! ./logger */ "./src/logger/logger.ts"), exports);
626
535
 
627
536
 
@@ -631,12 +540,10 @@ __exportStar(__webpack_require__(/*! ./logger */ "./src/logger/logger.ts"), expo
631
540
  /*!******************************!*\
632
541
  !*** ./src/logger/logger.ts ***!
633
542
  \******************************/
634
- /*! no static exports found */
635
- /***/ (function(module, exports, __webpack_require__) {
543
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
636
544
 
637
- "use strict";
638
545
 
639
- Object.defineProperty(exports, "__esModule", { value: true });
546
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
640
547
  exports.logger = void 0;
641
548
  const server_1 = __webpack_require__(/*! @cdm-logger/server */ "@cdm-logger/server");
642
549
  const settings = {
@@ -652,14 +559,16 @@ exports.logger = server_1.ConsoleLogger.create(appName, settings);
652
559
  /*!****************************!*\
653
560
  !*** ./src/utils/index.ts ***!
654
561
  \****************************/
655
- /*! no static exports found */
656
- /***/ (function(module, exports, __webpack_require__) {
562
+ /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
657
563
 
658
- "use strict";
659
564
 
660
565
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
661
566
  if (k2 === undefined) k2 = k;
662
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
567
+ var desc = Object.getOwnPropertyDescriptor(m, k);
568
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
569
+ desc = { enumerable: true, get: function() { return m[k]; } };
570
+ }
571
+ Object.defineProperty(o, k2, desc);
663
572
  }) : (function(o, m, k, k2) {
664
573
  if (k2 === undefined) k2 = k;
665
574
  o[k2] = m[k];
@@ -667,7 +576,7 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
667
576
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
668
577
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
669
578
  };
670
- Object.defineProperty(exports, "__esModule", { value: true });
579
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
671
580
  __exportStar(__webpack_require__(/*! ./preferences */ "./src/utils/preferences.ts"), exports);
672
581
 
673
582
 
@@ -677,12 +586,10 @@ __exportStar(__webpack_require__(/*! ./preferences */ "./src/utils/preferences.t
677
586
  /*!**********************************!*\
678
587
  !*** ./src/utils/preferences.ts ***!
679
588
  \**********************************/
680
- /*! no static exports found */
681
- /***/ (function(module, exports, __webpack_require__) {
589
+ /***/ ((__unused_webpack_module, exports) => {
682
590
 
683
- "use strict";
684
591
 
685
- Object.defineProperty(exports, "__esModule", { value: true });
592
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
686
593
  exports.transformPrefsToArray = exports.getCurrentPreferences = void 0;
687
594
  function getCurrentPreferences(preferencesDefaultArr, overwritePreferences) {
688
595
  const preferencesArr = Object.assign({}, preferencesDefaultArr);
@@ -726,8 +633,7 @@ exports.transformPrefsToArray = transformPrefsToArray;
726
633
  /*!*************************************!*\
727
634
  !*** external "@cdm-logger/server" ***!
728
635
  \*************************************/
729
- /*! no static exports found */
730
- /***/ (function(module, exports) {
636
+ /***/ ((module) => {
731
637
 
732
638
  module.exports = require("@cdm-logger/server");
733
639
 
@@ -737,8 +643,7 @@ module.exports = require("@cdm-logger/server");
737
643
  /*!****************************!*\
738
644
  !*** external "inversify" ***!
739
645
  \****************************/
740
- /*! no static exports found */
741
- /***/ (function(module, exports) {
646
+ /***/ ((module) => {
742
647
 
743
648
  module.exports = require("inversify");
744
649
 
@@ -748,12 +653,46 @@ module.exports = require("inversify");
748
653
  /*!*************************!*\
749
654
  !*** external "lodash" ***!
750
655
  \*************************/
751
- /*! no static exports found */
752
- /***/ (function(module, exports) {
656
+ /***/ ((module) => {
753
657
 
754
658
  module.exports = require("lodash");
755
659
 
756
660
  /***/ })
757
661
 
758
- /******/ });
662
+ /******/ });
663
+ /************************************************************************/
664
+ /******/ // The module cache
665
+ /******/ var __webpack_module_cache__ = {};
666
+ /******/
667
+ /******/ // The require function
668
+ /******/ function __webpack_require__(moduleId) {
669
+ /******/ // Check if module is in cache
670
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
671
+ /******/ if (cachedModule !== undefined) {
672
+ /******/ return cachedModule.exports;
673
+ /******/ }
674
+ /******/ // Create a new module (and put it into the cache)
675
+ /******/ var module = __webpack_module_cache__[moduleId] = {
676
+ /******/ // no module.id needed
677
+ /******/ // no module.loaded needed
678
+ /******/ exports: {}
679
+ /******/ };
680
+ /******/
681
+ /******/ // Execute the module function
682
+ /******/ __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
683
+ /******/
684
+ /******/ // Return the exports of the module
685
+ /******/ return module.exports;
686
+ /******/ }
687
+ /******/
688
+ /************************************************************************/
689
+ /******/
690
+ /******/ // startup
691
+ /******/ // Load entry module and return exports
692
+ /******/ // This entry module is referenced by other modules so it can't be inlined
693
+ /******/ var __webpack_exports__ = __webpack_require__("./src/index.ts");
694
+ /******/ module.exports = __webpack_exports__;
695
+ /******/
696
+ /******/ })()
697
+ ;
759
698
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/connector/connector.ts","webpack:///./src/connector/index.ts","webpack:///./src/constants/index.ts","webpack:///./src/constants/types.ts","webpack:///./src/index.ts","webpack:///./src/interfaces/connector.ts","webpack:///./src/interfaces/index.ts","webpack:///./src/interfaces/rules.ts","webpack:///./src/logger/index.ts","webpack:///./src/logger/logger.ts","webpack:///./src/utils/index.ts","webpack:///./src/utils/preferences.ts","webpack:///external \"@cdm-logger/server\"","webpack:///external \"inversify\"","webpack:///external \"lodash\""],"names":[],"mappings":"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","file":"index.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n","import {\n ConfigurationScope,\n IDirectiveOptions,\n IMongoMigration,\n IOverwritePreference,\n IPreferences,\n IResolverOptions,\n IRoles,\n IWebsocketConfig,\n IGraphqlShieldRules,\n IAddPermissions,\n IAddPolicies,\n} from '../interfaces';\nimport { logger } from '@cdm-logger/server';\nimport { castArray, groupBy, map, merge, union, without, keyBy } from 'lodash';\nimport { Container, interfaces } from 'inversify';\nimport { getCurrentPreferences, transformPrefsToArray } from '../utils';\nimport { IRoleUpdate } from '../interfaces/roles';\nexport const featureCatalog: any = {};\n\nexport interface IFederationServiceOptions {\n port: number;\n config?: any; // for apollo-server\n}\nexport type FederationServiceDeclaration = (options: IFederationServiceOptions) => Promise<void>;\n\n/**\n * Feature Params that can be passed to Feature Module.\n */\nexport type FeatureParams<T = ConfigurationScope> = {\n schema?: string | string[],\n createRemoteSchemas?: Function | Function[],\n createDirectivesFunc?: Function | Function[],\n createResolversFunc?: Function | Function[],\n createContextFunc?: Function | Function[],\n createServiceFunc?: Function | Function[],\n createDataSourceFunc?: Function | Function[],\n createContainerFunc?: Function | Function[],\n createHemeraContainerFunc?: Function | Function[],\n createAsyncContainerFunc?: Function | Function[],\n createAsyncHemeraContainerFunc?: Function | Function[],\n preCreateServiceFunc?: Function | Function[],\n postCreateServiceFunc?: Function | Function[],\n preStartFunc?: Function | Function[],\n postStartFunc?: Function | Function[],\n microservicePreStartFunc?: Function | Function[],\n microservicePostStartFunc?: Function | Function[],\n addBrokerMainServiceClass?: Function | Function[],\n addBrokerClientServiceClass?: Function | Function[],\n createWebsocketConfig?: IWebsocketConfig | IWebsocketConfig[],\n updateContainerFunc?: any | any[],\n createPreference?: IPreferences<T> | IPreferences<T>[],\n overwritePreference?: IOverwritePreference | IOverwritePreference[],\n /**\n * Permissions Preferences\n */\n addPermissions?: IAddPermissions<T>,\n /**\n * Policies Preferences\n */\n addPolicies?: IAddPolicies<T>,\n /**\n * Roles to provide permissions to access resources.\n */\n rolesUpdate?: IRoleUpdate<T>,\n federation?: FederationServiceDeclaration | FederationServiceDeclaration[];\n dataIdFromObject?: Function | Function[],\n disposeFunc?: any | any[],\n beforeware?: any | any[],\n middleware?: any | any[],\n catalogInfo?: any | any[],\n /**\n * Graphql shields rules, a graphql middleware for authorization\n * based on defined permissions\n */\n rules?: IGraphqlShieldRules;\n};\n\n\n\nconst combine = <T>(features: FeatureParams<T>[], extractor): any =>\n without(union(...map(features, (res: FeatureParams<T>) => castArray(extractor(res)))), undefined);\n\nclass Feature<T = ConfigurationScope> {\n public schema: string[];\n public createRemoteSchemas?: Function | Function[];\n public createDirectivesFunc: Function[];\n public createResolversFunc: Function[];\n public createContextFunc: Function[];\n public createServiceFunc: Function[];\n public createContainerFunc: Function[];\n public federation: FederationServiceDeclaration[];\n public createHemeraContainerFunc: Function[];\n public createAsyncContainerFunc: Function[];\n public createAsyncHemeraContainerFunc: Function[];\n public createDataSourceFunc: Function[];\n public preCreateServiceFunc: Function[];\n public postCreateServiceFunc: Function[];\n public preStartFunc: Function[];\n public postStartFunc: Function[];\n public microservicePreStartFunc: Function[];\n public microservicePostStartFunc: Function[];\n public addBrokerMainServiceClass: Function[];\n public addBrokerClientServiceClass: Function[];\n public disposeFunc: any[];\n public updateContainerFunc: any[];\n public beforeware: Function[];\n public middleware: Function[];\n public createWebsocketConfig: IWebsocketConfig[];\n public createPreference: IPreferences<T>[];\n public addPermissions?: IAddPermissions<T>;\n public addPolicies: IAddPolicies<T>;\n public rolesUpdate: IRoleUpdate<T>;\n public overwritePreference: IOverwritePreference[];\n public overwriteRole: IOverwritePreference[];\n public migrations?: Array<{ [id: string]: IMongoMigration }>;\n private _rules: IGraphqlShieldRules[];\n\n private services;\n private container;\n private hemeraContainer;\n private dataSources;\n\n constructor(feature?: FeatureParams<T>, ...features: Feature<T>[]) {\n const args: FeatureParams<T>[] = [feature, ...features as unknown as FeatureParams<T>[]];\n combine<T>(args, arg => arg.catalogInfo).forEach(info =>\n Object.keys(info).forEach(key => (featureCatalog[key] = info[key])),\n );\n this.schema = combine<T>(args, (arg: FeatureParams<T>) => arg.schema);\n this.createDirectivesFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createDirectivesFunc);\n this.createResolversFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createResolversFunc);\n this.createContextFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createContextFunc);\n this.createServiceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createServiceFunc);\n this.preCreateServiceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.preCreateServiceFunc);\n this.postCreateServiceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.postCreateServiceFunc);\n this.preStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.preStartFunc);\n this.postStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.postStartFunc);\n this.microservicePreStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.microservicePreStartFunc);\n this.microservicePostStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.microservicePostStartFunc);\n this.addBrokerMainServiceClass = combine<T>(args, (arg: FeatureParams<T>) => arg.addBrokerMainServiceClass);\n this.addBrokerClientServiceClass = combine<T>(args, (arg: FeatureParams<T>) => arg.addBrokerClientServiceClass);\n this.disposeFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.disposeFunc);\n\n this.federation = combine<T>(args, (arg: FeatureParams<T>) => arg.federation);\n this.migrations = combine<T>(args, (arg: FeatureParams<T>) => arg);\n this.createContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createContainerFunc);\n this.createHemeraContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createHemeraContainerFunc);\n this.createAsyncContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createAsyncContainerFunc);\n this.createAsyncHemeraContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createAsyncHemeraContainerFunc);\n this.updateContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.updateContainerFunc);\n this.createDataSourceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createDataSourceFunc);\n this.beforeware = combine<T>(args, (arg: FeatureParams<T>) => arg.beforeware);\n this.middleware = combine<T>(args, (arg: FeatureParams<T>) => arg.middleware);\n this.createWebsocketConfig = combine<T>(args, (arg: FeatureParams<T>) => arg.createWebsocketConfig);\n this.createPreference = combine<T>(args, (arg: FeatureParams<T>) => arg.createPreference);\n this.addPermissions = {\n createPermissions: combine<T>(args, (arg: FeatureParams<T>) => arg.addPermissions &&\n arg.addPermissions.createPermissions),\n overwritePermissions: combine<T>(args, (arg: FeatureParams<T>) => arg.addPermissions &&\n arg.addPermissions.overwritePermissions),\n };\n this.addPolicies = {\n createPolicies: combine<T>(args, (arg: FeatureParams<T>) => arg.addPolicies &&\n arg.addPolicies.createPolicies),\n overwritePolicies: combine<T>(args, (arg: FeatureParams<T>) => arg.addPolicies &&\n arg.addPolicies.overwritePolicies),\n };\n this.rolesUpdate = {\n createRoles: combine<T>(args, (arg: FeatureParams<T>) => arg.rolesUpdate &&\n arg.rolesUpdate.createRoles),\n overwriteRolesPermissions: combine<T>(args, (arg: FeatureParams<T>) => arg.rolesUpdate &&\n arg.rolesUpdate.overwriteRolesPermissions),\n };\n this.overwritePreference = combine<T>(args, (arg: FeatureParams<T>) => arg.overwritePreference);\n this._rules = combine<T>(args, (arg: FeatureParams<T>) => arg.rules);\n }\n\n get rules(): IGraphqlShieldRules {\n return this._rules.reduce((acc: IGraphqlShieldRules, curr) => {\n return merge(acc, curr) as IGraphqlShieldRules;\n }, {}) as IGraphqlShieldRules;\n }\n get schemas(): string[] {\n return this.schema;\n }\n\n /**\n * Creates context\n * @param req\n * @param connectionParams\n * @param webSocket\n * @deprecated\n */\n public async createContext(req: any, connectionParams: any, webSocket?: any) {\n const results = await Promise.all(\n this.createContextFunc.map(createContext => createContext(req, connectionParams, webSocket)),\n );\n return merge({}, ...results);\n }\n\n /**\n * If you need to attach service to Graphql Context, you can use this function.\n * It should be called twice to get the context.\n */\n public createServiceContext(options, updateOptions?: any) {\n return async (req: any, connectionParams: any, webSocket?: any) => {\n await this.createService(options, updateOptions);\n\n const results = await Promise.all(\n this.createContextFunc.map(createContext => createContext(req, connectionParams, webSocket)),\n );\n return merge({}, ...results, { ...this.services });\n };\n\n }\n\n /**\n * Its wrapper to container to get services\n * @param container\n */\n public async createService(options, updateOptions?: any) {\n try {\n if (this.container) {\n this.updateContainers(options, updateOptions);\n } else {\n await this.createContainers(options);\n await Promise.all(this.preCreateServiceFunc.map(async (createService) => await createService(this.container)));\n }\n this.services = merge({}, ...this.createServiceFunc.map(createService => createService(this.container)));\n\n await Promise.all(this.postCreateServiceFunc.map(async (createService) => await createService(this.container)));\n return this.services;\n } catch (err) {\n throw err;\n }\n\n }\n\n /**\n * Pre start action will be executed there.\n *\n */\n public async preStart<S = unknown>(options: S) {\n return await Promise.all(this.preStartFunc.map(async (preStart) => await preStart(this.container, options)));\n }\n\n /**\n * Post start actions will be executed here.\n */\n public async postStart<S = unknown>(options: S) {\n return await Promise.all(this.postStartFunc.map(async (postStart) => await postStart(this.container, options)));\n }\n\n /**\n * Pre start action will be executed there.\n *\n */\n public async microservicePreStart<S = unknown>(options: S) {\n return await Promise.all(this.microservicePreStartFunc.map(async (preStart) => await preStart(this.container, options)));\n }\n\n /**\n * Post start actions will be executed here.\n */\n public async microservicePostStart<S = unknown>(options: S) {\n return await Promise.all(this.microservicePostStartFunc.map(async (postStart) => await postStart(this.container, options)));\n }\n\n public createDataSource(options?: any) {\n return this.dataSources = merge({}, ...this.createDataSourceFunc.map(createDataSource => createDataSource(this.container)));\n }\n\n public createResolvers(options?: IResolverOptions) {\n return merge({}, ...this.createResolversFunc.map(createResolvers => createResolvers(options)));\n }\n\n public createDirectives(options?: IDirectiveOptions) {\n return merge({}, ...this.createDirectivesFunc.map(createDirectives => createDirectives(options)));\n }\n\n public async createContainers(options, containerOptions: interfaces.ContainerOptions = { skipBaseClassChecks: true }) {\n this.container = new Container(containerOptions);\n this.createContainerFunc.map(createModule => {\n this.container.load(createModule(options));\n });\n await Promise.all(this.createAsyncContainerFunc\n .map(async asyncCreateModule => {\n await this.container.loadAsync(asyncCreateModule(options));\n }));\n this.container.bind('IDefaultSettings').toConstantValue(this.getPreferences());\n this.container.bind('IDefaultSettingsObj').toConstantValue(this.getPreferencesObj());\n // permissions\n this.container.bind('IDefaultPermissions').toConstantValue(this.getPermissionPreferences());\n this.container.bind('IDefaultPermissionsObj').toConstantValue(this.getPermissionPreferencesObj());\n this.container.bind('IDefaultRoles').toConstantValue(this.getRoles());\n this.container.bind('IDefaultPoliciesObj').toConstantValue(this.getPolicyPreferencesObj());\n return this.container;\n }\n\n /**\n * Use createMicroserviceContainer\n * @param options\n * @deprecated\n */\n public async createHemeraContainers(options) {\n return this.createMicroserviceContainers(options);\n }\n\n /**\n * Creates container for the microservice\n *\n * @param options\n */\n public async createMicroserviceContainers(options) {\n this.hemeraContainer = new Container();\n this.createHemeraContainerFunc.map(createModule => {\n this.hemeraContainer.load(createModule(options));\n });\n await Promise.all(this.createAsyncHemeraContainerFunc\n .map(async asyncCreateModule => {\n await this.hemeraContainer.loadAsync(asyncCreateModule(options));\n }));\n return this.hemeraContainer;\n }\n\n\n public updateContainers(options, updateOptions?: any) {\n let mergedModules = merge({}, ...this.updateContainerFunc);\n const matchingModules = [];\n if (updateOptions) {\n updateOptions.forEach(option => {\n const dispose = this.disposeFunc.find(el => el.container === option);\n if (dispose) {\n this.services[dispose.ctx].dispose();\n }\n const searchModule = mergedModules[option];\n if (searchModule) {\n matchingModules.push(searchModule);\n }\n });\n }\n\n matchingModules.map(createModule => this.container.load(createModule(options)));\n }\n\n public loadMainMoleculerService({ container, broker, settings }: { container: Container, broker: any, settings: unknown }) {\n this.addBrokerMainServiceClass.map(serviceClass => broker.createService(serviceClass, { container, settings }));\n }\n\n public loadClientMoleculerService({ container, broker, settings }: { container: Container, broker: any, settings: unknown }) {\n this.addBrokerClientServiceClass.map(serviceClass => broker.createService(serviceClass, { container, settings }));\n }\n\n public createDefaultPreferences() {\n return transformPrefsToArray(merge([], ...this.createPreference));\n }\n\n get beforewares(): any[] {\n return this.beforeware;\n }\n\n get middlewares(): any[] {\n return this.middleware;\n }\n\n public getPreferences<S = ConfigurationScope>(): IPreferences<S>[] {\n return transformPrefsToArray<S>(this.getPreferencesObj());\n }\n\n public getPreferencesObj<S>() {\n const defaultPrefs: IPreferences<S>[] = merge([], ...this.createPreference);\n const overwritePrefs: IOverwritePreference[] = merge([], ...this.overwritePreference);\n return getCurrentPreferences<S>(defaultPrefs, overwritePrefs);\n }\n\n public getPermissionPreferences<T = ConfigurationScope>(): IPreferences<T>[] {\n return transformPrefsToArray<T>(this.getPermissionPreferencesObj());\n }\n\n public getPermissionPreferencesObj<T>() {\n const { createPermissions = [], overwritePermissions = [] } = this.addPermissions;\n const defaultPrefs: IPreferences<T>[] = merge([], ...castArray(createPermissions));\n const overwritePrefs: IOverwritePreference[] = merge([], ...castArray(overwritePermissions));\n return getCurrentPreferences<T>(defaultPrefs, overwritePrefs);\n }\n\n public getPolicyPreferences<T = ConfigurationScope>(): IPreferences<T>[] {\n return transformPrefsToArray<T>(this.getPolicyPreferencesObj());\n }\n\n public getPolicyPreferencesObj<T>() {\n const { createPolicies = [], overwritePolicies = [] } = this.addPolicies;\n const defaultPrefs: IPreferences<T>[] = merge([], ...castArray(createPolicies));\n const overwritePrefs: IOverwritePreference[] = merge([], ...castArray(overwritePolicies));\n return getCurrentPreferences<T>(defaultPrefs, overwritePrefs);\n }\n\n public getRoles() {\n const { createRoles, overwriteRolesPermissions } = this.rolesUpdate;\n const mergedRoles: IPreferences<T>[] = merge({}, ...castArray(createRoles));\n const mergedOverwriteRolesPermissions = merge({}, ...castArray(overwriteRolesPermissions));\n let result = {};\n for (const role in mergedRoles) {\n const rolePermission = mergedOverwriteRolesPermissions[role] ? merge({}, mergedRoles[role].permissions, mergedOverwriteRolesPermissions[role]) : mergedRoles[role].permissions;\n const mmm = {\n ...mergedRoles[role],\n permissions: { ...rolePermission },\n };\n result = merge({}, result, { [role]: mmm });\n }\n return result;\n }\n\n public getRolesObj<S>() {\n const { createRoles } = this.rolesUpdate;\n const defaultPrefs: IPreferences<S>[] = merge([], ...castArray(createRoles));\n const overwritePrefs: IOverwritePreference[] = merge([], ...castArray(createRoles));\n return getCurrentPreferences<S>(defaultPrefs, overwritePrefs);\n }\n\n public getWebsocketConfig() {\n return this.createWebsocketConfig.reduce((pre, curr) => {\n return merge(pre, curr);\n }, {});\n }\n\n private convertArrayToObject(arrayObject: any[]) {\n return arrayObject.reduce((pre, curr) => {\n return merge(pre, curr);\n }, {})\n }\n}\n\nexport { Feature };\n","export * from './connector';\n","export * from './types';\n","export const TYPES = {\n IHemeraSettings: Symbol.for('IHemeraSettings'),\n\n IDefaultSettings: Symbol.for('IDefaultSettings'),\n IDefaultSettingsObj: Symbol.for('IDefaultSettingsObj'),\n IDefaultPermissions: Symbol.for('IDefaultPermissions'),\n IDefaultPermissionsObj: Symbol.for('IDefaultPermissionsObj'),\n IDefaultRolesObj: Symbol.for('IDefaultRolesObj'),\n};\n","export * from './connector';\nexport * from './interfaces';\nexport * from './constants';\nexport * from './logger';\n","import { CdmLogger } from '@cdm-logger/core';\n\nexport interface IResolverOptions {\n pubsub: any;\n logger?: CdmLogger.ILogger;\n [key: string]: any;\n}\n\nexport interface IDirectiveOptions {\n [key: string]: any;\n logger?: CdmLogger.ILogger;\n}\n\nexport enum ConfigurationScope {\n WINDOW = 1,\n RESOURCE,\n}\n\nexport interface IWebsocketConfig {\n [key: string]: any;\n}\n\nexport interface IPreferences<T = ConfigurationScope> {\n [key: string]: IPreferencesData<T>;\n}\nexport interface IPreferencesData<T = ConfigurationScope> {\n type?: string | string[];\n default?: string | boolean | number | any;\n description?: string;\n overridable?: boolean;\n scope?: T;\n settings?: string;\n enum?: any;\n enumDescriptions?: string[];\n permissions?: {\n [key: string]: string | boolean | unknown,\n };\n [key: string]: any;\n}\n\n/**\n * Formatted preferences data\n */\nexport interface IPreferncesTransformed<T = ConfigurationScope> {\n type: string;\n data: IPreferencesData<T>;\n}\n\nexport interface IOverwritePreference {\n [key: string]: string | boolean | number | any;\n}\n","export * from './connector';\nexport * from './mongo-migration';\nexport * from './rules';\nexport * from './roles';\nexport * from './permissions';\nexport * from './policies';\n","\n\nexport type IResolverFunc<T> = (source: Record<string, any>, args: Record<string, any>, ctx: Record<string, any>) => Promise<T>;\n\nexport interface IRule {\n [key: string]: IResolverFunc<Record<string, any>>;\n}\n\nexport type IGraphqlShieldRules = Record<GraphqlRootType & { [key: string]: string }, IRule>;\n\nexport enum GraphqlRootType {\n Query= 'Query',\n Mutation = 'Mutation',\n Subscription = 'Subscription',\n}\n","export * from './logger';\n","import { ConsoleLogger, IConsoleLoggerSettings } from '@cdm-logger/server';\nimport { CdmLogger } from '@cdm-logger/core';\n\nconst settings: IConsoleLoggerSettings = {\n level: process.env.LOG_LEVEL as CdmLogger.LoggerLevel || 'trace',\n};\n\nconst appName = process.env.APP_NAME || 'CDMBASE_APP';\n\nexport const logger = ConsoleLogger.create(appName, settings);\n","export * from './preferences';\n\n","import {IPreferences, IOverwritePreference, IPreferencesData, IPreferncesTransformed} from '../interfaces';\n\nexport function getCurrentPreferences<T>(preferencesDefaultArr: IPreferences<T>[], overwritePreferences: IOverwritePreference[]) {\n const preferencesArr = { ...preferencesDefaultArr };\n\n Object.keys(preferencesDefaultArr).forEach(key => {\n if (preferencesDefaultArr[key].overridable) {\n const overwritesSettings = Object.keys(overwritePreferences).filter(el => el.indexOf(key) !== -1);\n let newValues = {};\n overwritesSettings.forEach(item => {\n const overwriteKey = item.split('.').pop();\n newValues[overwriteKey] = overwritePreferences[item];\n });\n preferencesArr[key] = { ...preferencesDefaultArr[key], ...newValues };\n }\n });\n return preferencesArr;\n}\n\nexport function transformPrefsToArray<T>(preferences: IPreferences<T>[]) {\n const resultArr: IPreferencesData<T>[] = [];\n Object.keys(preferences).forEach(key => {\n const type = key.split('.')[0];\n const findType = resultArr.find(el => el.type === type);\n if (!findType) {\n resultArr.push({\n type,\n data: [{\n name: key,\n ...preferences[key],\n }],\n });\n } else {\n findType['data'].push({\n name: key,\n ...preferences[key],\n });\n }\n });\n return resultArr;\n}\n","module.exports = require(\"@cdm-logger/server\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");"],"sourceRoot":""}
1
+ {"version":3,"file":"index.js","mappings":"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","sources":["webpack://@common-stack/server-core/./src/connector/connector.ts","webpack://@common-stack/server-core/./src/connector/index.ts","webpack://@common-stack/server-core/./src/constants/index.ts","webpack://@common-stack/server-core/./src/constants/types.ts","webpack://@common-stack/server-core/./src/index.ts","webpack://@common-stack/server-core/./src/interfaces/connector.ts","webpack://@common-stack/server-core/./src/interfaces/index.ts","webpack://@common-stack/server-core/./src/interfaces/mongo-migration.ts","webpack://@common-stack/server-core/./src/interfaces/permissions.ts","webpack://@common-stack/server-core/./src/interfaces/policies.ts","webpack://@common-stack/server-core/./src/interfaces/roles.ts","webpack://@common-stack/server-core/./src/interfaces/rules.ts","webpack://@common-stack/server-core/./src/logger/index.ts","webpack://@common-stack/server-core/./src/logger/logger.ts","webpack://@common-stack/server-core/./src/utils/index.ts","webpack://@common-stack/server-core/./src/utils/preferences.ts","webpack://@common-stack/server-core/external commonjs \"@cdm-logger/server\"","webpack://@common-stack/server-core/external commonjs \"inversify\"","webpack://@common-stack/server-core/external commonjs \"lodash\"","webpack://@common-stack/server-core/webpack/bootstrap","webpack://@common-stack/server-core/webpack/before-startup","webpack://@common-stack/server-core/webpack/startup","webpack://@common-stack/server-core/webpack/after-startup"],"sourcesContent":["import {\n ConfigurationScope,\n IDirectiveOptions,\n IMongoMigration,\n IOverwritePreference,\n IPreferences,\n IResolverOptions,\n IRoles,\n IWebsocketConfig,\n IGraphqlShieldRules,\n IAddPermissions,\n IAddPolicies,\n} from '../interfaces';\nimport { logger } from '@cdm-logger/server';\nimport { castArray, groupBy, map, merge, union, without, keyBy } from 'lodash';\nimport { Container, interfaces } from 'inversify';\nimport { getCurrentPreferences, transformPrefsToArray } from '../utils';\nimport { IRoleUpdate } from '../interfaces/roles';\nexport const featureCatalog: any = {};\n\nexport interface IFederationServiceOptions {\n port: number;\n config?: any; // for apollo-server\n}\nexport type FederationServiceDeclaration = (options: IFederationServiceOptions) => Promise<void>;\n\n/**\n * Feature Params that can be passed to Feature Module.\n */\nexport type FeatureParams<T = ConfigurationScope> = {\n schema?: string | string[],\n createRemoteSchemas?: Function | Function[],\n createDirectivesFunc?: Function | Function[],\n createResolversFunc?: Function | Function[],\n createContextFunc?: Function | Function[],\n createServiceFunc?: Function | Function[],\n createDataSourceFunc?: Function | Function[],\n createContainerFunc?: Function | Function[],\n createHemeraContainerFunc?: Function | Function[],\n createAsyncContainerFunc?: Function | Function[],\n createAsyncHemeraContainerFunc?: Function | Function[],\n preCreateServiceFunc?: Function | Function[],\n postCreateServiceFunc?: Function | Function[],\n preStartFunc?: Function | Function[],\n postStartFunc?: Function | Function[],\n microservicePreStartFunc?: Function | Function[],\n microservicePostStartFunc?: Function | Function[],\n addBrokerMainServiceClass?: Function | Function[],\n addBrokerClientServiceClass?: Function | Function[],\n createWebsocketConfig?: IWebsocketConfig | IWebsocketConfig[],\n updateContainerFunc?: any | any[],\n createPreference?: IPreferences<T> | IPreferences<T>[],\n overwritePreference?: IOverwritePreference | IOverwritePreference[],\n /**\n * Permissions Preferences\n */\n addPermissions?: IAddPermissions<T>,\n /**\n * Policies Preferences\n */\n addPolicies?: IAddPolicies<T>,\n /**\n * Roles to provide permissions to access resources.\n */\n rolesUpdate?: IRoleUpdate<T>,\n federation?: FederationServiceDeclaration | FederationServiceDeclaration[];\n dataIdFromObject?: Function | Function[],\n disposeFunc?: any | any[],\n beforeware?: any | any[],\n middleware?: any | any[],\n catalogInfo?: any | any[],\n /**\n * Graphql shields rules, a graphql middleware for authorization\n * based on defined permissions\n */\n rules?: IGraphqlShieldRules;\n};\n\n\n\nconst combine = <T>(features: FeatureParams<T>[], extractor): any =>\n without(union(...map(features, (res: FeatureParams<T>) => castArray(extractor(res)))), undefined);\n\nclass Feature<T = ConfigurationScope> {\n public schema: string[];\n public createRemoteSchemas?: Function | Function[];\n public createDirectivesFunc: Function[];\n public createResolversFunc: Function[];\n public createContextFunc: Function[];\n public createServiceFunc: Function[];\n public createContainerFunc: Function[];\n public federation: FederationServiceDeclaration[];\n public createHemeraContainerFunc: Function[];\n public createAsyncContainerFunc: Function[];\n public createAsyncHemeraContainerFunc: Function[];\n public createDataSourceFunc: Function[];\n public preCreateServiceFunc: Function[];\n public postCreateServiceFunc: Function[];\n public preStartFunc: Function[];\n public postStartFunc: Function[];\n public microservicePreStartFunc: Function[];\n public microservicePostStartFunc: Function[];\n public addBrokerMainServiceClass: Function[];\n public addBrokerClientServiceClass: Function[];\n public disposeFunc: any[];\n public updateContainerFunc: any[];\n public beforeware: Function[];\n public middleware: Function[];\n public createWebsocketConfig: IWebsocketConfig[];\n public createPreference: IPreferences<T>[];\n public addPermissions?: IAddPermissions<T>;\n public addPolicies: IAddPolicies<T>;\n public rolesUpdate: IRoleUpdate<T>;\n public overwritePreference: IOverwritePreference[];\n public overwriteRole: IOverwritePreference[];\n public migrations?: Array<{ [id: string]: IMongoMigration }>;\n private _rules: IGraphqlShieldRules[];\n\n private services;\n private container;\n private hemeraContainer;\n private dataSources;\n\n constructor(feature?: FeatureParams<T>, ...features: Feature<T>[]) {\n const args: FeatureParams<T>[] = [feature, ...features as unknown as FeatureParams<T>[]];\n combine<T>(args, arg => arg.catalogInfo).forEach(info =>\n Object.keys(info).forEach(key => (featureCatalog[key] = info[key])),\n );\n this.schema = combine<T>(args, (arg: FeatureParams<T>) => arg.schema);\n this.createDirectivesFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createDirectivesFunc);\n this.createResolversFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createResolversFunc);\n this.createContextFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createContextFunc);\n this.createServiceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createServiceFunc);\n this.preCreateServiceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.preCreateServiceFunc);\n this.postCreateServiceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.postCreateServiceFunc);\n this.preStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.preStartFunc);\n this.postStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.postStartFunc);\n this.microservicePreStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.microservicePreStartFunc);\n this.microservicePostStartFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.microservicePostStartFunc);\n this.addBrokerMainServiceClass = combine<T>(args, (arg: FeatureParams<T>) => arg.addBrokerMainServiceClass);\n this.addBrokerClientServiceClass = combine<T>(args, (arg: FeatureParams<T>) => arg.addBrokerClientServiceClass);\n this.disposeFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.disposeFunc);\n\n this.federation = combine<T>(args, (arg: FeatureParams<T>) => arg.federation);\n this.migrations = combine<T>(args, (arg: FeatureParams<T>) => arg);\n this.createContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createContainerFunc);\n this.createHemeraContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createHemeraContainerFunc);\n this.createAsyncContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createAsyncContainerFunc);\n this.createAsyncHemeraContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createAsyncHemeraContainerFunc);\n this.updateContainerFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.updateContainerFunc);\n this.createDataSourceFunc = combine<T>(args, (arg: FeatureParams<T>) => arg.createDataSourceFunc);\n this.beforeware = combine<T>(args, (arg: FeatureParams<T>) => arg.beforeware);\n this.middleware = combine<T>(args, (arg: FeatureParams<T>) => arg.middleware);\n this.createWebsocketConfig = combine<T>(args, (arg: FeatureParams<T>) => arg.createWebsocketConfig);\n this.createPreference = combine<T>(args, (arg: FeatureParams<T>) => arg.createPreference);\n this.addPermissions = {\n createPermissions: combine<T>(args, (arg: FeatureParams<T>) => arg.addPermissions &&\n arg.addPermissions.createPermissions),\n overwritePermissions: combine<T>(args, (arg: FeatureParams<T>) => arg.addPermissions &&\n arg.addPermissions.overwritePermissions),\n };\n this.addPolicies = {\n createPolicies: combine<T>(args, (arg: FeatureParams<T>) => arg.addPolicies &&\n arg.addPolicies.createPolicies),\n overwritePolicies: combine<T>(args, (arg: FeatureParams<T>) => arg.addPolicies &&\n arg.addPolicies.overwritePolicies),\n };\n this.rolesUpdate = {\n createRoles: combine<T>(args, (arg: FeatureParams<T>) => arg.rolesUpdate &&\n arg.rolesUpdate.createRoles),\n overwriteRolesPermissions: combine<T>(args, (arg: FeatureParams<T>) => arg.rolesUpdate &&\n arg.rolesUpdate.overwriteRolesPermissions),\n };\n this.overwritePreference = combine<T>(args, (arg: FeatureParams<T>) => arg.overwritePreference);\n this._rules = combine<T>(args, (arg: FeatureParams<T>) => arg.rules);\n }\n\n get rules(): IGraphqlShieldRules {\n return this._rules.reduce((acc: IGraphqlShieldRules, curr) => {\n return merge(acc, curr) as IGraphqlShieldRules;\n }, {}) as IGraphqlShieldRules;\n }\n get schemas(): string[] {\n return this.schema;\n }\n\n /**\n * Creates context\n * @param req\n * @param connectionParams\n * @param webSocket\n * @deprecated\n */\n public async createContext(req: any, connectionParams: any, webSocket?: any) {\n const results = await Promise.all(\n this.createContextFunc.map(createContext => createContext(req, connectionParams, webSocket)),\n );\n return merge({}, ...results);\n }\n\n /**\n * If you need to attach service to Graphql Context, you can use this function.\n * It should be called twice to get the context.\n */\n public createServiceContext(options, updateOptions?: any) {\n return async (req: any, connectionParams: any, webSocket?: any) => {\n await this.createService(options, updateOptions);\n\n const results = await Promise.all(\n this.createContextFunc.map(createContext => createContext(req, connectionParams, webSocket)),\n );\n return merge({}, ...results, { ...this.services });\n };\n\n }\n\n /**\n * Its wrapper to container to get services\n * @param container\n */\n public async createService(options, updateOptions?: any) {\n try {\n if (this.container) {\n this.updateContainers(options, updateOptions);\n } else {\n await this.createContainers(options);\n await Promise.all(this.preCreateServiceFunc.map(async (createService) => await createService(this.container)));\n }\n this.services = merge({}, ...this.createServiceFunc.map(createService => createService(this.container)));\n\n await Promise.all(this.postCreateServiceFunc.map(async (createService) => await createService(this.container)));\n return this.services;\n } catch (err) {\n throw err;\n }\n\n }\n\n /**\n * Pre start action will be executed there.\n *\n */\n public async preStart<S = unknown>(options: S) {\n return await Promise.all(this.preStartFunc.map(async (preStart) => await preStart(this.container, options)));\n }\n\n /**\n * Post start actions will be executed here.\n */\n public async postStart<S = unknown>(options: S) {\n return await Promise.all(this.postStartFunc.map(async (postStart) => await postStart(this.container, options)));\n }\n\n /**\n * Pre start action will be executed there.\n *\n */\n public async microservicePreStart<S = unknown>(options: S) {\n return await Promise.all(this.microservicePreStartFunc.map(async (preStart) => await preStart(this.container, options)));\n }\n\n /**\n * Post start actions will be executed here.\n */\n public async microservicePostStart<S = unknown>(options: S) {\n return await Promise.all(this.microservicePostStartFunc.map(async (postStart) => await postStart(this.container, options)));\n }\n\n public createDataSource(options?: any) {\n return this.dataSources = merge({}, ...this.createDataSourceFunc.map(createDataSource => createDataSource(this.container)));\n }\n\n public createResolvers(options?: IResolverOptions) {\n return merge({}, ...this.createResolversFunc.map(createResolvers => createResolvers(options)));\n }\n\n public createDirectives(options?: IDirectiveOptions) {\n return merge({}, ...this.createDirectivesFunc.map(createDirectives => createDirectives(options)));\n }\n\n public async createContainers(options, containerOptions: interfaces.ContainerOptions = { skipBaseClassChecks: true }) {\n this.container = new Container(containerOptions);\n this.createContainerFunc.map(createModule => {\n this.container.load(createModule(options));\n });\n await Promise.all(this.createAsyncContainerFunc\n .map(async asyncCreateModule => {\n await this.container.loadAsync(asyncCreateModule(options));\n }));\n this.container.bind('IDefaultSettings').toConstantValue(this.getPreferences());\n this.container.bind('IDefaultSettingsObj').toConstantValue(this.getPreferencesObj());\n // permissions\n this.container.bind('IDefaultPermissions').toConstantValue(this.getPermissionPreferences());\n this.container.bind('IDefaultPermissionsObj').toConstantValue(this.getPermissionPreferencesObj());\n this.container.bind('IDefaultRoles').toConstantValue(this.getRoles());\n this.container.bind('IDefaultPoliciesObj').toConstantValue(this.getPolicyPreferencesObj());\n return this.container;\n }\n\n /**\n * Use createMicroserviceContainer\n * @param options\n * @deprecated\n */\n public async createHemeraContainers(options) {\n return this.createMicroserviceContainers(options);\n }\n\n /**\n * Creates container for the microservice\n *\n * @param options\n */\n public async createMicroserviceContainers(options) {\n this.hemeraContainer = new Container();\n this.createHemeraContainerFunc.map(createModule => {\n this.hemeraContainer.load(createModule(options));\n });\n await Promise.all(this.createAsyncHemeraContainerFunc\n .map(async asyncCreateModule => {\n await this.hemeraContainer.loadAsync(asyncCreateModule(options));\n }));\n return this.hemeraContainer;\n }\n\n\n public updateContainers(options, updateOptions?: any) {\n let mergedModules = merge({}, ...this.updateContainerFunc);\n const matchingModules = [];\n if (updateOptions) {\n updateOptions.forEach(option => {\n const dispose = this.disposeFunc.find(el => el.container === option);\n if (dispose) {\n this.services[dispose.ctx].dispose();\n }\n const searchModule = mergedModules[option];\n if (searchModule) {\n matchingModules.push(searchModule);\n }\n });\n }\n\n matchingModules.map(createModule => this.container.load(createModule(options)));\n }\n\n public loadMainMoleculerService({ container, broker, settings }: { container: Container, broker: any, settings: unknown }) {\n this.addBrokerMainServiceClass.map(serviceClass => broker.createService(serviceClass, { container, settings }));\n }\n\n public loadClientMoleculerService({ container, broker, settings }: { container: Container, broker: any, settings: unknown }) {\n this.addBrokerClientServiceClass.map(serviceClass => broker.createService(serviceClass, { container, settings }));\n }\n\n public createDefaultPreferences() {\n return transformPrefsToArray(merge([], ...this.createPreference));\n }\n\n get beforewares(): any[] {\n return this.beforeware;\n }\n\n get middlewares(): any[] {\n return this.middleware;\n }\n\n public getPreferences<S = ConfigurationScope>(): IPreferences<S>[] {\n return transformPrefsToArray<S>(this.getPreferencesObj());\n }\n\n public getPreferencesObj<S>() {\n const defaultPrefs: IPreferences<S>[] = merge([], ...this.createPreference);\n const overwritePrefs: IOverwritePreference[] = merge([], ...this.overwritePreference);\n return getCurrentPreferences<S>(defaultPrefs, overwritePrefs);\n }\n\n public getPermissionPreferences<T = ConfigurationScope>(): IPreferences<T>[] {\n return transformPrefsToArray<T>(this.getPermissionPreferencesObj());\n }\n\n public getPermissionPreferencesObj<T>() {\n const { createPermissions = [], overwritePermissions = [] } = this.addPermissions;\n const defaultPrefs: IPreferences<T>[] = merge([], ...castArray(createPermissions));\n const overwritePrefs: IOverwritePreference[] = merge([], ...castArray(overwritePermissions));\n return getCurrentPreferences<T>(defaultPrefs, overwritePrefs);\n }\n\n public getPolicyPreferences<T = ConfigurationScope>(): IPreferences<T>[] {\n return transformPrefsToArray<T>(this.getPolicyPreferencesObj());\n }\n\n public getPolicyPreferencesObj<T>() {\n const { createPolicies = [], overwritePolicies = [] } = this.addPolicies;\n const defaultPrefs: IPreferences<T>[] = merge([], ...castArray(createPolicies));\n const overwritePrefs: IOverwritePreference[] = merge([], ...castArray(overwritePolicies));\n return getCurrentPreferences<T>(defaultPrefs, overwritePrefs);\n }\n\n public getRoles() {\n const { createRoles, overwriteRolesPermissions } = this.rolesUpdate;\n const mergedRoles: IPreferences<T>[] = merge({}, ...castArray(createRoles));\n const mergedOverwriteRolesPermissions = merge({}, ...castArray(overwriteRolesPermissions));\n let result = {};\n for (const role in mergedRoles) {\n const rolePermission = mergedOverwriteRolesPermissions[role] ? merge({}, mergedRoles[role].permissions, mergedOverwriteRolesPermissions[role]) : mergedRoles[role].permissions;\n const mmm = {\n ...mergedRoles[role],\n permissions: { ...rolePermission },\n };\n result = merge({}, result, { [role]: mmm });\n }\n return result;\n }\n\n public getRolesObj<S>() {\n const { createRoles } = this.rolesUpdate;\n const defaultPrefs: IPreferences<S>[] = merge([], ...castArray(createRoles));\n const overwritePrefs: IOverwritePreference[] = merge([], ...castArray(createRoles));\n return getCurrentPreferences<S>(defaultPrefs, overwritePrefs);\n }\n\n public getWebsocketConfig() {\n return this.createWebsocketConfig.reduce((pre, curr) => {\n return merge(pre, curr);\n }, {});\n }\n\n private convertArrayToObject(arrayObject: any[]) {\n return arrayObject.reduce((pre, curr) => {\n return merge(pre, curr);\n }, {})\n }\n}\n\nexport { Feature };\n","export * from './connector';\n","export * from './types';\n","export const TYPES = {\n IHemeraSettings: Symbol.for('IHemeraSettings'),\n\n IDefaultSettings: Symbol.for('IDefaultSettings'),\n IDefaultSettingsObj: Symbol.for('IDefaultSettingsObj'),\n IDefaultPermissions: Symbol.for('IDefaultPermissions'),\n IDefaultPermissionsObj: Symbol.for('IDefaultPermissionsObj'),\n IDefaultRolesObj: Symbol.for('IDefaultRolesObj'),\n};\n","export * from './connector';\nexport * from './interfaces';\nexport * from './constants';\nexport * from './logger';\n","import { CdmLogger } from '@cdm-logger/core';\n\nexport interface IResolverOptions {\n pubsub: any;\n logger?: CdmLogger.ILogger;\n [key: string]: any;\n}\n\nexport interface IDirectiveOptions {\n [key: string]: any;\n logger?: CdmLogger.ILogger;\n}\n\nexport enum ConfigurationScope {\n WINDOW = 1,\n RESOURCE,\n}\n\nexport interface IWebsocketConfig {\n [key: string]: any;\n}\n\nexport interface IPreferences<T = ConfigurationScope> {\n [key: string]: IPreferencesData<T>;\n}\nexport interface IPreferencesData<T = ConfigurationScope> {\n type?: string | string[];\n default?: string | boolean | number | any;\n description?: string;\n overridable?: boolean;\n scope?: T;\n settings?: string;\n enum?: any;\n enumDescriptions?: string[];\n permissions?: {\n [key: string]: string | boolean | unknown,\n };\n [key: string]: any;\n}\n\n/**\n * Formatted preferences data\n */\nexport interface IPreferncesTransformed<T = ConfigurationScope> {\n type: string;\n data: IPreferencesData<T>;\n}\n\nexport interface IOverwritePreference {\n [key: string]: string | boolean | number | any;\n}\n","export * from './connector';\nexport * from './mongo-migration';\nexport * from './rules';\nexport * from './roles';\nexport * from './permissions';\nexport * from './policies';\n","export interface IMongoMigration {\n up(): Promise<void>;\n down(): Promise<void>;\n}\n\nexport interface IDatabaseMigration {\n\n /**\n * ID of the migration, and it should be changed inorder to overwrite previous migration\n * In format <string>_<date yyyymmdd>\n */\n id: string;\n\n /**\n * Name of the template\n */\n name: string;\n\n up?(): Promise<void>;\n\n\n down?(): Promise<void>;\n}\n","import { IPreferences } from \"./connector\";\n\n\nexport interface IAddPermissions<T> {\n createPermissions?: IPreferences<T>[] | IPreferences<T>;\n overwritePermissions?: IPreferences<T>[] | IPreferences<T>;\n}\n\n","import { IPreferences } from \"./connector\";\n\n\nexport interface IAddPolicies<T> {\n createPolicies?: IPreferences<T>[] | IPreferences<T>;\n overwritePolicies?: IPreferences<T>[] | IPreferences<T>;\n}\n","import { ConfigurationScope, IPreferencesData } from \"./connector\";\n\n\nexport interface IRoles<T = ConfigurationScope> {\n [key: string]: IPreferencesData<T>;\n}\n\nexport interface IRoleUpdate<T> {\n createRoles?: IRoles<T>[] | IRoles<T>;\n overwriteRolesPermissions?: IRoles<T>[] | IRoles<T>;\n}\n","\n\nexport type IResolverFunc<T> = (source: Record<string, any>, args: Record<string, any>, ctx: Record<string, any>) => Promise<T>;\n\nexport interface IRule {\n [key: string]: IResolverFunc<Record<string, any>>;\n}\n\nexport type IGraphqlShieldRules = Record<GraphqlRootType & { [key: string]: string }, IRule>;\n\nexport enum GraphqlRootType {\n Query= 'Query',\n Mutation = 'Mutation',\n Subscription = 'Subscription',\n}\n","export * from './logger';\n","import { ConsoleLogger, IConsoleLoggerSettings } from '@cdm-logger/server';\nimport { CdmLogger } from '@cdm-logger/core';\n\nconst settings: IConsoleLoggerSettings = {\n level: process.env.LOG_LEVEL as CdmLogger.LoggerLevel || 'trace',\n};\n\nconst appName = process.env.APP_NAME || 'CDMBASE_APP';\n\nexport const logger = ConsoleLogger.create(appName, settings);\n","export * from './preferences';\n\n","import {IPreferences, IOverwritePreference, IPreferencesData, IPreferncesTransformed} from '../interfaces';\n\nexport function getCurrentPreferences<T>(preferencesDefaultArr: IPreferences<T>[], overwritePreferences: IOverwritePreference[]) {\n const preferencesArr = { ...preferencesDefaultArr };\n\n Object.keys(preferencesDefaultArr).forEach(key => {\n if (preferencesDefaultArr[key].overridable) {\n const overwritesSettings = Object.keys(overwritePreferences).filter(el => el.indexOf(key) !== -1);\n let newValues = {};\n overwritesSettings.forEach(item => {\n const overwriteKey = item.split('.').pop();\n newValues[overwriteKey] = overwritePreferences[item];\n });\n preferencesArr[key] = { ...preferencesDefaultArr[key], ...newValues };\n }\n });\n return preferencesArr;\n}\n\nexport function transformPrefsToArray<T>(preferences: IPreferences<T>[]) {\n const resultArr: IPreferencesData<T>[] = [];\n Object.keys(preferences).forEach(key => {\n const type = key.split('.')[0];\n const findType = resultArr.find(el => el.type === type);\n if (!findType) {\n resultArr.push({\n type,\n data: [{\n name: key,\n ...preferences[key],\n }],\n });\n } else {\n findType['data'].push({\n name: key,\n ...preferences[key],\n });\n }\n });\n return resultArr;\n}\n","module.exports = require(\"@cdm-logger/server\");","module.exports = require(\"inversify\");","module.exports = require(\"lodash\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/index.ts\");\n",""],"names":[],"sourceRoot":""}
@@ -2,3 +2,16 @@ export interface IMongoMigration {
2
2
  up(): Promise<void>;
3
3
  down(): Promise<void>;
4
4
  }
5
+ export interface IDatabaseMigration {
6
+ /**
7
+ * ID of the migration, and it should be changed inorder to overwrite previous migration
8
+ * In format <string>_<date yyyymmdd>
9
+ */
10
+ id: string;
11
+ /**
12
+ * Name of the template
13
+ */
14
+ name: string;
15
+ up?(): Promise<void>;
16
+ down?(): Promise<void>;
17
+ }
@@ -36,10 +36,11 @@ export declare function getCurrentPreferences<T>(preferencesDefaultArr: IPrefere
36
36
  findIndex(predicate: (value: IPreferences<T>, index: number, obj: IPreferences<T>[]) => unknown, thisArg?: any): number;
37
37
  fill(value: IPreferences<T>, start?: number, end?: number): IPreferences<T>[];
38
38
  copyWithin(target: number, start: number, end?: number): IPreferences<T>[];
39
- [Symbol.iterator](): IterableIterator<IPreferences<T>>;
40
39
  entries(): IterableIterator<[number, IPreferences<T>]>;
41
40
  keys(): IterableIterator<number>;
42
41
  values(): IterableIterator<IPreferences<T>>;
42
+ includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
43
+ [Symbol.iterator](): IterableIterator<IPreferences<T>>;
43
44
  [Symbol.unscopables](): {
44
45
  copyWithin: boolean;
45
46
  entries: boolean;
@@ -49,6 +50,5 @@ export declare function getCurrentPreferences<T>(preferencesDefaultArr: IPrefere
49
50
  keys: boolean;
50
51
  values: boolean;
51
52
  };
52
- includes(searchElement: IPreferences<T>, fromIndex?: number): boolean;
53
53
  };
54
54
  export declare function transformPrefsToArray<T>(preferences: IPreferences<T>[]): IPreferencesData<T>[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/server-core",
3
- "version": "0.2.1",
3
+ "version": "0.2.14",
4
4
  "description": "common core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -38,7 +38,7 @@
38
38
  }
39
39
  },
40
40
  "dependencies": {
41
- "@common-stack/core": "^0.2.1"
41
+ "@common-stack/core": "^0.2.14"
42
42
  },
43
43
  "peerDependencies": {
44
44
  "@cdm-logger/core": ">=7.0.12"
@@ -46,7 +46,7 @@
46
46
  "publishConfig": {
47
47
  "access": "public"
48
48
  },
49
- "gitHead": "8cc362c6c7307e7ea43a9563ccdcb938c93c6008",
49
+ "gitHead": "fb916a34d61476fd21e00134852597adea395d71",
50
50
  "typescript": {
51
51
  "definition": "lib/index.d.ts"
52
52
  }