@restorecommerce/chassis-srv 0.3.3 → 0.3.7

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 (47) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/cache/index.js +22 -3
  3. package/lib/cache/index.js.map +1 -1
  4. package/lib/command-interface/index.d.ts +3 -3
  5. package/lib/command-interface/index.js +432 -498
  6. package/lib/command-interface/index.js.map +1 -1
  7. package/lib/config/index.js +6 -15
  8. package/lib/config/index.js.map +1 -1
  9. package/lib/database/index.d.ts +2 -4
  10. package/lib/database/index.js +4 -13
  11. package/lib/database/index.js.map +1 -1
  12. package/lib/database/provider/arango/base.js +314 -322
  13. package/lib/database/provider/arango/base.js.map +1 -1
  14. package/lib/database/provider/arango/common.js +70 -57
  15. package/lib/database/provider/arango/common.js.map +1 -1
  16. package/lib/database/provider/arango/graph.d.ts +4 -8
  17. package/lib/database/provider/arango/graph.js +335 -470
  18. package/lib/database/provider/arango/graph.js.map +1 -1
  19. package/lib/database/provider/arango/index.js +34 -21
  20. package/lib/database/provider/arango/index.js.map +1 -1
  21. package/lib/database/provider/arango/interface.d.ts +70 -0
  22. package/lib/database/provider/arango/interface.js +46 -0
  23. package/lib/database/provider/arango/interface.js.map +1 -0
  24. package/lib/database/provider/arango/utils.d.ts +77 -0
  25. package/lib/database/provider/arango/utils.js +587 -0
  26. package/lib/database/provider/arango/utils.js.map +1 -0
  27. package/lib/database/provider/nedb/index.js +203 -206
  28. package/lib/database/provider/nedb/index.js.map +1 -1
  29. package/lib/health/index.js +36 -42
  30. package/lib/health/index.js.map +1 -1
  31. package/lib/index.d.ts +4 -0
  32. package/lib/index.js +27 -6
  33. package/lib/index.js.map +1 -1
  34. package/lib/microservice/endpoint.js +33 -23
  35. package/lib/microservice/endpoint.js.map +1 -1
  36. package/lib/microservice/server.js +115 -106
  37. package/lib/microservice/server.js.map +1 -1
  38. package/lib/microservice/transport/provider/grpc/index.js +58 -52
  39. package/lib/microservice/transport/provider/grpc/index.js.map +1 -1
  40. package/lib/microservice/transport/provider/grpc/reflection.js +101 -93
  41. package/lib/microservice/transport/provider/grpc/reflection.js.map +1 -1
  42. package/lib/offsets/index.d.ts +2 -2
  43. package/lib/offsets/index.js +41 -42
  44. package/lib/offsets/index.js.map +1 -1
  45. package/package.json +29 -29
  46. package/tsconfig.json +13 -6
  47. package/setupTopics.js +0 -32
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.Health = void 0;
13
4
  const grpc_client_1 = require("@restorecommerce/grpc-client");
@@ -32,54 +23,57 @@ class Health {
32
23
  packageName: 'grpc.health.v1',
33
24
  serviceName: 'Health'
34
25
  };
35
- const serviceConfig = Object.assign(Object.assign({}, clientCfg[dependency]), { proto: Object.assign(Object.assign({}, clientCfg[dependency]['proto']), { protoPath: 'grpc/health/v1/health.proto', services: {
26
+ const serviceConfig = {
27
+ ...clientCfg[dependency],
28
+ proto: {
29
+ ...clientCfg[dependency]['proto'],
30
+ protoPath: 'grpc/health/v1/health.proto',
31
+ services: {
36
32
  ['dependency']: dependencyCfg
37
- } }) });
33
+ }
34
+ }
35
+ };
38
36
  const client = new grpc_client_1.GrpcClient(serviceConfig, this.opts.logger);
39
37
  this.endpoints[dependency] = client.dependency;
40
38
  }
41
39
  }
42
40
  }
43
41
  }
44
- watch(call, context) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- // TODO
47
- // IGNORED
48
- });
42
+ async watch(call, context) {
43
+ // TODO
44
+ // IGNORED
49
45
  }
50
- check(call, context) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const service = (call.request && call.request.service) || 'liveness';
53
- if (service === 'readiness') {
54
- if (this.ci.redisClient && !this.ci.redisClient.ping()) {
55
- return { status: ServingStatus.NOT_SERVING };
56
- }
57
- if (this.opts) {
58
- if (this.endpoints) {
59
- for (const service of Object.keys(this.endpoints)) {
60
- const response = yield this.endpoints[service].check({});
61
- if ('error' in response && response.error) {
62
- this.opts.logger.warn('Readiness error from ' + service + ':', response);
63
- return { status: ServingStatus.NOT_SERVING };
64
- }
65
- }
66
- }
67
- try {
68
- if (this.opts.readiness && !(yield this.opts.readiness())) {
46
+ async check(call, context) {
47
+ const service = (call.request && call.request.service) || 'liveness';
48
+ if (service === 'readiness') {
49
+ if (this.ci.redisClient && !this.ci.redisClient.ping()) {
50
+ return { status: ServingStatus.NOT_SERVING };
51
+ }
52
+ if (this.opts) {
53
+ if (this.endpoints) {
54
+ for (const service of Object.keys(this.endpoints)) {
55
+ const response = await this.endpoints[service].check({});
56
+ if ('error' in response && response.error) {
57
+ this.opts.logger.warn('Readiness error from ' + service + ':', response);
69
58
  return { status: ServingStatus.NOT_SERVING };
70
59
  }
71
60
  }
72
- catch (e) {
61
+ }
62
+ try {
63
+ if (this.opts.readiness && !await this.opts.readiness()) {
73
64
  return { status: ServingStatus.NOT_SERVING };
74
65
  }
75
66
  }
67
+ catch (e) {
68
+ return { status: ServingStatus.NOT_SERVING };
69
+ }
76
70
  }
77
- const response = yield this.ci.check({});
78
- if (!('status' in response)) {
79
- return { status: ServingStatus.UNKNOWN };
80
- }
81
- return response;
82
- });
71
+ }
72
+ const response = await this.ci.check({});
73
+ if (!('status' in response)) {
74
+ return { status: ServingStatus.UNKNOWN };
75
+ }
76
+ return response;
83
77
  }
84
78
  }
85
79
  exports.Health = Health;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -26,3 +26,7 @@ import { OffsetStore } from './offsets';
26
26
  export { OffsetStore };
27
27
  import { Health } from './health';
28
28
  export { Health };
29
+ import { toTraversalFilterObject } from './database/provider/arango/utils';
30
+ export { toTraversalFilterObject };
31
+ import { Vertices, Collection, GraphFilters, TraversalOptions, TraversalResponse } from './database/provider/arango/interface';
32
+ export { Vertices, Collection, GraphFilters, TraversalOptions, TraversalResponse };
package/lib/index.js CHANGED
@@ -1,11 +1,30 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
2
21
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Health = exports.OffsetStore = exports.CommandInterface = exports.ServerReflection = exports.grpcServer = exports.grpc = exports.errors = exports.chainMiddleware = exports.makeEndpoint = exports.Server = exports.nedb = exports.arango = exports.database = exports.config = exports.cache = void 0;
4
- const cache = require("./cache");
22
+ exports.toTraversalFilterObject = exports.Health = exports.OffsetStore = exports.CommandInterface = exports.ServerReflection = exports.grpcServer = exports.grpc = exports.errors = exports.chainMiddleware = exports.makeEndpoint = exports.Server = exports.nedb = exports.arango = exports.database = exports.config = exports.cache = void 0;
23
+ const cache = __importStar(require("./cache"));
5
24
  exports.cache = cache;
6
- const config = require("./config");
25
+ const config = __importStar(require("./config"));
7
26
  exports.config = config;
8
- const database = require("./database");
27
+ const database = __importStar(require("./database"));
9
28
  exports.database = database;
10
29
  const arango_1 = require("./database/provider/arango");
11
30
  Object.defineProperty(exports, "arango", { enumerable: true, get: function () { return arango_1.create; } });
@@ -16,9 +35,9 @@ Object.defineProperty(exports, "Server", { enumerable: true, get: function () {
16
35
  const endpoint_1 = require("./microservice/endpoint");
17
36
  Object.defineProperty(exports, "makeEndpoint", { enumerable: true, get: function () { return endpoint_1.makeEndpoint; } });
18
37
  Object.defineProperty(exports, "chainMiddleware", { enumerable: true, get: function () { return endpoint_1.chainMiddleware; } });
19
- const errors = require("./microservice/errors");
38
+ const errors = __importStar(require("./microservice/errors"));
20
39
  exports.errors = errors;
21
- const grpc = require("./microservice/transport/provider/grpc");
40
+ const grpc = __importStar(require("./microservice/transport/provider/grpc"));
22
41
  exports.grpc = grpc;
23
42
  var grpc_1 = require("./microservice/transport/provider/grpc");
24
43
  Object.defineProperty(exports, "grpcServer", { enumerable: true, get: function () { return grpc_1.Server; } });
@@ -30,4 +49,6 @@ const offsets_1 = require("./offsets");
30
49
  Object.defineProperty(exports, "OffsetStore", { enumerable: true, get: function () { return offsets_1.OffsetStore; } });
31
50
  const health_1 = require("./health");
32
51
  Object.defineProperty(exports, "Health", { enumerable: true, get: function () { return health_1.Health; } });
52
+ const utils_1 = require("./database/provider/arango/utils");
53
+ Object.defineProperty(exports, "toTraversalFilterObject", { enumerable: true, get: function () { return utils_1.toTraversalFilterObject; } });
33
54
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACxB,sBAAK;AACd,mCAAmC;AAC1B,wBAAM;AACf,uCAAuC;AAE9B,4BAAQ;AACjB,uDAA8D;AACrD,uFADU,eAAM,OACV;AACf,mDAA0D;AACjD,qFADU,aAAI,OACV;AAEb,kDAAyD;AAChD,uFADU,eAAM,OACV;AAEf,sDAAwE;AAC/D,6FADA,uBAAY,OACA;AAAE,gGADA,0BAAe,OACA;AAEtC,gDAAgD;AACvC,wBAAM;AACf,+DAA+D;AACtD,oBAAI;AAEb,+DAA8E;AAArE,kGAAA,MAAM,OAAc;AAC7B,iEAA0E;AACjE,iGADA,uBAAgB,OACA;AAEzB,2DAA8F;AAClE,iGADoB,oCAAgB,OACpB;AAE5C,uCAAwC;AAC/B,4FADA,qBAAW,OACA;AAEpB,qCAAkC;AACzB,uFADA,eAAM,OACA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACxB,sBAAK;AACd,iDAAmC;AAC1B,wBAAM;AACf,qDAAuC;AAE9B,4BAAQ;AACjB,uDAA8D;AACrD,uFADU,eAAM,OACV;AACf,mDAA0D;AACjD,qFADU,aAAI,OACV;AAEb,kDAAyD;AAChD,uFADU,eAAM,OACV;AAEf,sDAAwE;AAC/D,6FADA,uBAAY,OACA;AAAE,gGADA,0BAAe,OACA;AAEtC,8DAAgD;AACvC,wBAAM;AACf,6EAA+D;AACtD,oBAAI;AAEb,+DAA8E;AAArE,kGAAA,MAAM,OAAc;AAC7B,iEAA0E;AACjE,iGADA,uBAAgB,OACA;AAEzB,2DAA8F;AAClE,iGADoB,oCAAgB,OACpB;AAE5C,uCAAwC;AAC/B,4FADA,qBAAW,OACA;AAEpB,qCAAkC;AACzB,uFADA,eAAM,OACA;AAEf,4DAA2E;AAClE,wGADA,+BAAuB,OACA"}
@@ -1,40 +1,50 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
10
20
  };
11
21
  Object.defineProperty(exports, "__esModule", { value: true });
12
22
  exports.makeEndpoint = exports.chainMiddleware = void 0;
13
- const _ = require("lodash");
14
- const rTracer = require("cls-rtracer");
23
+ const _ = __importStar(require("lodash"));
24
+ const rTracer = __importStar(require("cls-rtracer"));
15
25
  const service_config_1 = require("@restorecommerce/service-config");
16
26
  const middlewareClsTracer = rTracer.koaMiddleware({
17
27
  useHeader: true,
18
28
  headerName: 'x-request-id'
19
29
  });
20
- const cfg = service_config_1.createServiceConfig(process.cwd());
30
+ const cfg = (0, service_config_1.createServiceConfig)(process.cwd());
21
31
  const oneOfFieldsConfig = cfg.get('oneOfFields');
22
32
  /**
23
33
  * calls each middleware
24
34
  * @param middleware
25
35
  */
26
36
  const chainMiddleware = (middleware) => {
27
- return (request, next) => __awaiter(void 0, void 0, void 0, function* () {
37
+ return async (request, next) => {
28
38
  let n = next;
29
39
  if (next) {
30
40
  for (let i = middleware.length - 1; i >= 0; i -= 1) {
31
41
  const reqClone = _.clone(request);
32
42
  Object.assign(request, { req: reqClone }, { res: reqClone });
33
- const result = yield middleware[i](request, () => __awaiter(void 0, void 0, void 0, function* () {
43
+ const result = await middleware[i](request, async () => {
34
44
  const grpcRequest = { request: request.request };
35
45
  delete grpcRequest.request.headers;
36
- return yield next(grpcRequest);
37
- }));
46
+ return await next(grpcRequest);
47
+ });
38
48
  if (i == 0) {
39
49
  return result;
40
50
  }
@@ -43,11 +53,11 @@ const chainMiddleware = (middleware) => {
43
53
  else {
44
54
  n = request;
45
55
  for (let i = middleware.length - 1; i >= 1; i -= 1) {
46
- n = yield middleware[i](n);
56
+ n = await middleware[i](n);
47
57
  }
48
58
  }
49
- return yield middleware[0](n);
50
- });
59
+ return await middleware[0](n);
60
+ };
51
61
  };
52
62
  exports.chainMiddleware = chainMiddleware;
53
63
  // iterate iterates an object recursively
@@ -120,7 +130,7 @@ const removeBufferFileds = (object, ctx) => {
120
130
  * @param cfg
121
131
  */
122
132
  const makeEndpoint = (middleware, service, transportName, methodName, logger, cfg) => {
123
- return (request, context) => __awaiter(void 0, void 0, void 0, function* () {
133
+ return async (request, context) => {
124
134
  const ctx = context || {};
125
135
  ctx.transport = transportName;
126
136
  ctx.method = methodName;
@@ -213,8 +223,8 @@ const makeEndpoint = (middleware, service, transportName, methodName, logger, cf
213
223
  }
214
224
  if (middlewareChain.length > 0) {
215
225
  logger.verbose(`[rid: ${rid}] received request to method ${ctx.method} over transport ${ctx.transport}`, Request);
216
- const chain = exports.chainMiddleware(middlewareChain);
217
- const result = yield chain(request, service[methodName].bind(service));
226
+ const chain = (0, exports.chainMiddleware)(middlewareChain);
227
+ const result = await chain(request, service[methodName].bind(service));
218
228
  let response = _.cloneDeep(result);
219
229
  response = removeBufferFileds(response, ctx);
220
230
  logger.verbose(`[rid: ${rid}] request to method ${ctx.method} over transport ${ctx.transport} response`, { Request, response });
@@ -224,7 +234,7 @@ const makeEndpoint = (middleware, service, transportName, methodName, logger, cf
224
234
  e = service[methodName].bind(service);
225
235
  }
226
236
  logger.verbose(`received request to method ${ctx.method} over transport ${ctx.transport}`, Request);
227
- const result = yield e(request, ctx);
237
+ const result = await e(request, ctx);
228
238
  let response = _.cloneDeep(result);
229
239
  response = removeBufferFileds(response, ctx);
230
240
  logger.verbose(`request to method ${ctx.method} over transport ${ctx.transport} response`, { Request, response });
@@ -246,7 +256,7 @@ const makeEndpoint = (middleware, service, transportName, methodName, logger, cf
246
256
  }
247
257
  throw err;
248
258
  }
249
- });
259
+ };
250
260
  };
251
261
  exports.makeEndpoint = makeEndpoint;
252
262
  //# sourceMappingURL=endpoint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/microservice/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/microservice/endpoint.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,28 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
10
20
  };
11
21
  Object.defineProperty(exports, "__esModule", { value: true });
12
22
  exports.Server = exports.registerTransport = void 0;
13
23
  const endpoint_1 = require("./endpoint");
14
24
  const logger_1 = require("@restorecommerce/logger");
15
- const _ = require("lodash");
25
+ const _ = __importStar(require("lodash"));
16
26
  const events_1 = require("events");
17
27
  const transports = {};
18
28
  /**
@@ -27,7 +37,7 @@ const registerTransport = (name, provider) => {
27
37
  exports.registerTransport = registerTransport;
28
38
  // register included providers
29
39
  const grpc = require('./transport/provider/grpc');
30
- exports.registerTransport('grpc', grpc.Server);
40
+ (0, exports.registerTransport)('grpc', grpc.Server);
31
41
  /**
32
42
  * Initializes all configured transports.
33
43
  * @param {object} config Configuration
@@ -79,10 +89,15 @@ class Server extends events_1.EventEmitter {
79
89
  // logger
80
90
  if (_.isNil(logger)) {
81
91
  if (_.isNil(this.config.logger)) {
82
- this.logger = logger_1.createLogger();
92
+ this.logger = (0, logger_1.createLogger)();
83
93
  }
84
94
  else {
85
- this.logger = logger_1.createLogger(this.config.logger);
95
+ const loggerCfg = this.config.logger;
96
+ loggerCfg.esTransformer = (msg) => {
97
+ msg.fields = JSON.stringify(msg.fields);
98
+ return msg;
99
+ };
100
+ this.logger = (0, logger_1.createLogger)(loggerCfg);
86
101
  }
87
102
  }
88
103
  else {
@@ -136,119 +151,113 @@ class Server extends events_1.EventEmitter {
136
151
  * @param {string} name Service name.
137
152
  * @param {object} service A business logic service.
138
153
  */
139
- bind(name, service) {
140
- return __awaiter(this, void 0, void 0, function* () {
141
- if (_.isNil(name)) {
142
- throw new Error('missing argument name');
143
- }
144
- if (!_.isString(name)) {
145
- throw new Error('argument name is not of type string');
154
+ async bind(name, service) {
155
+ if (_.isNil(name)) {
156
+ throw new Error('missing argument name');
157
+ }
158
+ if (!_.isString(name)) {
159
+ throw new Error('argument name is not of type string');
160
+ }
161
+ if (_.isNil(service)) {
162
+ throw new Error('missing argument service');
163
+ }
164
+ const serviceCfg = this.config.services[name];
165
+ if (!serviceCfg) {
166
+ throw new Error(`configuration for ${name} does not exist`);
167
+ }
168
+ const transportNames = Object.keys(this.transport);
169
+ // endpoints
170
+ const logger = this.logger;
171
+ const endpoints = {};
172
+ Object.keys(serviceCfg).forEach((endpointName) => {
173
+ const endpointCfg = serviceCfg[endpointName];
174
+ if (_.isNil(endpointCfg)) {
175
+ logger.error(`configuration for service
176
+ ${name} endpoint ${endpointName} does not exist`);
177
+ return;
146
178
  }
147
- if (_.isNil(service)) {
148
- throw new Error('missing argument service');
179
+ for (let i = 0; i < endpointCfg.transport.length; i += 1) {
180
+ const transportName = endpointCfg.transport[i];
181
+ if (!endpoints[transportName]) {
182
+ endpoints[transportName] = [];
183
+ }
184
+ if (!_.includes(transportNames, transportName)) {
185
+ logger.warn(`transport ${transportName} does not exist`, {
186
+ service: name,
187
+ method: endpointName,
188
+ });
189
+ continue;
190
+ }
191
+ endpoints[transportName].push(endpointName);
149
192
  }
150
- const serviceCfg = this.config.services[name];
151
- if (!serviceCfg) {
152
- throw new Error(`configuration for ${name} does not exist`);
193
+ });
194
+ logger.debug('endpoints', endpoints);
195
+ logger.debug('binding endpoints to transports');
196
+ const middleware = this.middleware;
197
+ const transport = this.transport;
198
+ const cfg = this.config;
199
+ for (let i = 0; i < transportNames.length; i += 1) {
200
+ const transportName = transportNames[i];
201
+ const provider = transport[transportName];
202
+ const methodNames = endpoints[transportName];
203
+ if (!methodNames) {
204
+ logger.verbose(`transport ${transportName} does not have any endpoints configured`);
205
+ continue;
153
206
  }
154
- const transportNames = Object.keys(this.transport);
155
- // endpoints
156
- const logger = this.logger;
157
- const endpoints = {};
158
- Object.keys(serviceCfg).forEach((endpointName) => {
159
- const endpointCfg = serviceCfg[endpointName];
160
- if (_.isNil(endpointCfg)) {
161
- logger.error(`configuration for service
162
- ${name} endpoint ${endpointName} does not exist`);
163
- return;
164
- }
165
- for (let i = 0; i < endpointCfg.transport.length; i += 1) {
166
- const transportName = endpointCfg.transport[i];
167
- if (!endpoints[transportName]) {
168
- endpoints[transportName] = [];
169
- }
170
- if (!_.includes(transportNames, transportName)) {
171
- logger.warn(`transport ${transportName} does not exist`, {
172
- service: name,
173
- method: endpointName,
174
- });
175
- continue;
176
- }
177
- endpoints[transportName].push(endpointName);
207
+ const binding = {};
208
+ for (let j = 0; j < methodNames.length; j += 1) {
209
+ const methodName = methodNames[j];
210
+ if (!_.isFunction(service[methodName])) {
211
+ logger.warn(`endpoint ${methodName} does not have matching service method`);
212
+ continue;
178
213
  }
179
- });
180
- logger.debug('endpoints', endpoints);
181
- logger.debug('binding endpoints to transports');
182
- const middleware = this.middleware;
183
- const transport = this.transport;
184
- const cfg = this.config;
185
- for (let i = 0; i < transportNames.length; i += 1) {
186
- const transportName = transportNames[i];
187
- const provider = transport[transportName];
188
- const methodNames = endpoints[transportName];
189
- if (!methodNames) {
190
- logger.verbose(`transport ${transportName} does not have any endpoints configured`);
214
+ const methodCfg = serviceCfg[methodName];
215
+ if (_.isNil(methodCfg)) {
216
+ logger.error(`endpoint ${name}.${methodName} does not have configuration`);
191
217
  continue;
192
218
  }
193
- const binding = {};
194
- for (let j = 0; j < methodNames.length; j += 1) {
195
- const methodName = methodNames[j];
196
- if (!_.isFunction(service[methodName])) {
197
- logger.warn(`endpoint ${methodName} does not have matching service method`);
198
- continue;
199
- }
200
- const methodCfg = serviceCfg[methodName];
201
- if (_.isNil(methodCfg)) {
202
- logger.error(`endpoint ${name}.${methodName} does not have configuration`);
203
- continue;
204
- }
205
- if (!_.includes(methodCfg.transport, transportName)) {
206
- logger.error(`endpoint ${name}.${methodName}
219
+ if (!_.includes(methodCfg.transport, transportName)) {
220
+ logger.error(`endpoint ${name}.${methodName}
207
221
  is not configured for transport ${transportName}, skipping endpoint binding`);
208
- continue;
209
- }
210
- binding[methodName] = endpoint_1.makeEndpoint(middleware, service, transportName, methodName, logger, cfg);
211
- logger.debug(`endpoint ${methodName} bound to transport ${transportName}`);
212
- }
213
- if (_.size(_.functions(binding)) === 0) {
214
- logger.verbose(`service ${name} has no endpoints configured
215
- for transport ${transportName}, skipping service binding`);
216
222
  continue;
217
223
  }
218
- yield provider.bind(name, binding);
219
- this.emit('bound', name, binding, provider);
224
+ binding[methodName] = (0, endpoint_1.makeEndpoint)(middleware, service, transportName, methodName, logger, cfg);
225
+ logger.debug(`endpoint ${methodName} bound to transport ${transportName}`);
220
226
  }
221
- });
227
+ if (_.size(_.functions(binding)) === 0) {
228
+ logger.verbose(`service ${name} has no endpoints configured
229
+ for transport ${transportName}, skipping service binding`);
230
+ continue;
231
+ }
232
+ await provider.bind(name, binding);
233
+ this.emit('bound', name, binding, provider);
234
+ }
222
235
  }
223
236
  /**
224
237
  * start launches the server by starting transports and listening to events.
225
238
  */
226
- start() {
227
- return __awaiter(this, void 0, void 0, function* () {
228
- const transportNames = Object.keys(this.transport);
229
- for (let i = 0; i < transportNames.length; i += 1) {
230
- const name = transportNames[i];
231
- const provider = this.transport[name];
232
- yield provider.start();
233
- this.logger.info(`transport ${name} started`);
234
- }
235
- this.emit('serving', this.transport);
236
- });
239
+ async start() {
240
+ const transportNames = Object.keys(this.transport);
241
+ for (let i = 0; i < transportNames.length; i += 1) {
242
+ const name = transportNames[i];
243
+ const provider = this.transport[name];
244
+ await provider.start();
245
+ this.logger.info(`transport ${name} started`);
246
+ }
247
+ this.emit('serving', this.transport);
237
248
  }
238
249
  /**
239
250
  * Shuts down all transport provider servers.
240
251
  */
241
- stop() {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- const transportNames = _.keys(this.transport);
244
- for (let i = 0; i < transportNames.length; i += 1) {
245
- const name = transportNames[i];
246
- if (this.transport[name].end) {
247
- yield this.transport[name].end();
248
- }
252
+ async stop() {
253
+ const transportNames = _.keys(this.transport);
254
+ for (let i = 0; i < transportNames.length; i += 1) {
255
+ const name = transportNames[i];
256
+ if (this.transport[name].end) {
257
+ await this.transport[name].end();
249
258
  }
250
- this.emit('stopped', this.transport);
251
- });
259
+ }
260
+ this.emit('stopped', this.transport);
252
261
  }
253
262
  }
254
263
  exports.Server = Server;