@restorecommerce/chassis-srv 0.3.4 → 0.3.8

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 +21 -2
  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 +5 -14
  8. package/lib/config/index.js.map +1 -1
  9. package/lib/database/index.d.ts +2 -4
  10. package/lib/database/index.js +2 -11
  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 +31 -18
  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 +31 -21
  35. package/lib/microservice/endpoint.js.map +1 -1
  36. package/lib/microservice/server.js +107 -103
  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 +25 -25
  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,17 +1,27 @@
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,
@@ -24,17 +34,17 @@ const oneOfFieldsConfig = cfg.get('oneOfFields');
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;
@@ -214,7 +224,7 @@ const makeEndpoint = (middleware, service, transportName, methodName, logger, cf
214
224
  if (middlewareChain.length > 0) {
215
225
  logger.verbose(`[rid: ${rid}] received request to method ${ctx.method} over transport ${ctx.transport}`, Request);
216
226
  const chain = (0, exports.chainMiddleware)(middlewareChain);
217
- const result = yield chain(request, service[methodName].bind(service));
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
  /**
@@ -141,119 +151,113 @@ class Server extends events_1.EventEmitter {
141
151
  * @param {string} name Service name.
142
152
  * @param {object} service A business logic service.
143
153
  */
144
- bind(name, service) {
145
- return __awaiter(this, void 0, void 0, function* () {
146
- if (_.isNil(name)) {
147
- throw new Error('missing argument name');
148
- }
149
- if (!_.isString(name)) {
150
- 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;
151
178
  }
152
- if (_.isNil(service)) {
153
- 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);
154
192
  }
155
- const serviceCfg = this.config.services[name];
156
- if (!serviceCfg) {
157
- 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;
158
206
  }
159
- const transportNames = Object.keys(this.transport);
160
- // endpoints
161
- const logger = this.logger;
162
- const endpoints = {};
163
- Object.keys(serviceCfg).forEach((endpointName) => {
164
- const endpointCfg = serviceCfg[endpointName];
165
- if (_.isNil(endpointCfg)) {
166
- logger.error(`configuration for service
167
- ${name} endpoint ${endpointName} does not exist`);
168
- return;
169
- }
170
- for (let i = 0; i < endpointCfg.transport.length; i += 1) {
171
- const transportName = endpointCfg.transport[i];
172
- if (!endpoints[transportName]) {
173
- endpoints[transportName] = [];
174
- }
175
- if (!_.includes(transportNames, transportName)) {
176
- logger.warn(`transport ${transportName} does not exist`, {
177
- service: name,
178
- method: endpointName,
179
- });
180
- continue;
181
- }
182
- 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;
183
213
  }
184
- });
185
- logger.debug('endpoints', endpoints);
186
- logger.debug('binding endpoints to transports');
187
- const middleware = this.middleware;
188
- const transport = this.transport;
189
- const cfg = this.config;
190
- for (let i = 0; i < transportNames.length; i += 1) {
191
- const transportName = transportNames[i];
192
- const provider = transport[transportName];
193
- const methodNames = endpoints[transportName];
194
- if (!methodNames) {
195
- 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`);
196
217
  continue;
197
218
  }
198
- const binding = {};
199
- for (let j = 0; j < methodNames.length; j += 1) {
200
- const methodName = methodNames[j];
201
- if (!_.isFunction(service[methodName])) {
202
- logger.warn(`endpoint ${methodName} does not have matching service method`);
203
- continue;
204
- }
205
- const methodCfg = serviceCfg[methodName];
206
- if (_.isNil(methodCfg)) {
207
- logger.error(`endpoint ${name}.${methodName} does not have configuration`);
208
- continue;
209
- }
210
- if (!_.includes(methodCfg.transport, transportName)) {
211
- logger.error(`endpoint ${name}.${methodName}
219
+ if (!_.includes(methodCfg.transport, transportName)) {
220
+ logger.error(`endpoint ${name}.${methodName}
212
221
  is not configured for transport ${transportName}, skipping endpoint binding`);
213
- continue;
214
- }
215
- binding[methodName] = (0, endpoint_1.makeEndpoint)(middleware, service, transportName, methodName, logger, cfg);
216
- logger.debug(`endpoint ${methodName} bound to transport ${transportName}`);
217
- }
218
- if (_.size(_.functions(binding)) === 0) {
219
- logger.verbose(`service ${name} has no endpoints configured
220
- for transport ${transportName}, skipping service binding`);
221
222
  continue;
222
223
  }
223
- yield provider.bind(name, binding);
224
- 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}`);
225
226
  }
226
- });
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
+ }
227
235
  }
228
236
  /**
229
237
  * start launches the server by starting transports and listening to events.
230
238
  */
231
- start() {
232
- return __awaiter(this, void 0, void 0, function* () {
233
- const transportNames = Object.keys(this.transport);
234
- for (let i = 0; i < transportNames.length; i += 1) {
235
- const name = transportNames[i];
236
- const provider = this.transport[name];
237
- yield provider.start();
238
- this.logger.info(`transport ${name} started`);
239
- }
240
- this.emit('serving', this.transport);
241
- });
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);
242
248
  }
243
249
  /**
244
250
  * Shuts down all transport provider servers.
245
251
  */
246
- stop() {
247
- return __awaiter(this, void 0, void 0, function* () {
248
- const transportNames = _.keys(this.transport);
249
- for (let i = 0; i < transportNames.length; i += 1) {
250
- const name = transportNames[i];
251
- if (this.transport[name].end) {
252
- yield this.transport[name].end();
253
- }
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();
254
258
  }
255
- this.emit('stopped', this.transport);
256
- });
259
+ }
260
+ this.emit('stopped', this.transport);
257
261
  }
258
262
  }
259
263
  exports.Server = Server;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/microservice/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/microservice/server.ts"],"names":[],"mappings":"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"}