@sipgate/integration-bridge 0.26.6 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -35,6 +35,14 @@ const middlewares_1 = require("./middlewares");
35
35
  const models_1 = require("./models");
36
36
  const util_1 = require("./util");
37
37
  const get_contact_cache_1 = require("./util/get-contact-cache");
38
+ const tracing_initializer_1 = require("./tracing/tracing-initializer");
39
+ if (tracing_initializer_1.tracingEnabled) {
40
+ tracing_initializer_1.otelSDK.start();
41
+ console.log('tracing enabled');
42
+ }
43
+ else {
44
+ console.log('tracing not enabled');
45
+ }
38
46
  const PORT = Number(process.env.PORT) || 8080;
39
47
  const app = (0, express_1.default)();
40
48
  const corsMiddleware = (0, cors_1.default)({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ const cache_item_state_model_1 = require("./cache-item-state.model");
25
25
  const integration_error_model_1 = require("./integration-error.model");
26
26
  const pubsub_contacts_message_model_1 = require("./pubsub/pubsub-contacts-message.model");
27
27
  const contact_util_1 = require("../util/contact.util");
28
+ const tracer_1 = require("../tracing/tracer");
28
29
  const CONTACT_FETCH_TIMEOUT = 5000;
29
30
  class Controller {
30
31
  constructor(adapter, contactCache) {
@@ -158,97 +159,114 @@ class Controller {
158
159
  });
159
160
  }
160
161
  streamContacts(req, res, next) {
162
+ var _a;
161
163
  return __awaiter(this, void 0, void 0, function* () {
162
- const { providerConfig } = req;
163
- try {
164
- if (!providerConfig) {
165
- throw new _1.ServerError(400, 'Missing parameters');
166
- }
167
- const { userId } = providerConfig;
168
- if (!userId) {
169
- throw new _1.ServerError(400, 'Missing user ID');
170
- }
171
- const timestamp = Date.now();
172
- (0, logger_util_1.infoLogger)('streamContacts', `Starting contact streaming ${timestamp}`, providerConfig.apiKey);
173
- const streamContacts = () => __awaiter(this, void 0, void 0, function* () {
174
- var _a;
175
- if (!this.adapter.streamContacts) {
176
- throw new _1.ServerError(501, 'Streaming contacts is not implemented');
164
+ const tracer = new tracer_1.Tracer('streamContacts', req.headers.traceparent, ((_a = req.providerConfig) === null || _a === void 0 ? void 0 : _a.apiKey) || '');
165
+ return tracer.do(() => __awaiter(this, void 0, void 0, function* () {
166
+ const { providerConfig } = req;
167
+ try {
168
+ if (!providerConfig) {
169
+ tracer.setError('Missing parameters');
170
+ throw new _1.ServerError(400, 'Missing parameters');
177
171
  }
178
- const iterator = this.adapter.streamContacts(providerConfig);
179
- let result = yield iterator.next();
180
- while (!result.done) {
181
- const { value: contacts } = result;
182
- try {
183
- if (!(0, validate_1.validate)(this.ajv, schemas_1.contactsSchema, contacts)) {
184
- throw new Error('Invalid contacts received');
172
+ const { userId } = providerConfig;
173
+ if (!userId) {
174
+ tracer.setError('Missing user ID');
175
+ throw new _1.ServerError(400, 'Missing user ID');
176
+ }
177
+ const timestamp = Date.now();
178
+ tracer.logInfo(`Starting contact streaming`);
179
+ (0, logger_util_1.infoLogger)('streamContacts', `Starting contact streaming ${timestamp}`, providerConfig.apiKey);
180
+ const streamContacts = () => __awaiter(this, void 0, void 0, function* () {
181
+ var _b;
182
+ if (!this.adapter.streamContacts) {
183
+ tracer.setError('Streaming contacts is not implemented');
184
+ throw new _1.ServerError(501, 'Streaming contacts is not implemented');
185
+ }
186
+ const iterator = this.adapter.streamContacts(providerConfig);
187
+ let result = yield iterator.next();
188
+ while (!result.done) {
189
+ const { value: contacts } = result;
190
+ try {
191
+ if (!(0, validate_1.validate)(this.ajv, schemas_1.contactsSchema, contacts)) {
192
+ tracer.logWarning('Invalid contacts received');
193
+ throw new Error('Invalid contacts received');
194
+ }
195
+ const message = {
196
+ userId,
197
+ timestamp,
198
+ contacts: contacts.map((contact) => (0, contact_util_1.sanitizeContact)(contact, providerConfig.locale)),
199
+ state: pubsub_contacts_message_model_1.PubSubContactsState.IN_PROGRESS,
200
+ integrationName: this.integrationName,
201
+ traceparent: tracer.getTraceParent(),
202
+ };
203
+ yield ((_b = this.pubSubContactStreamingClient) === null || _b === void 0 ? void 0 : _b.publishMessage(message));
204
+ }
205
+ catch (error) {
206
+ tracer.logWarning('Could not publish contacts');
207
+ (0, logger_util_1.errorLogger)('streamContacts', `Could not publish contacts`, providerConfig.apiKey, error);
208
+ }
209
+ finally {
210
+ result = yield iterator.next();
185
211
  }
186
- const message = {
187
- userId,
188
- timestamp,
189
- contacts: contacts.map((contact) => (0, contact_util_1.sanitizeContact)(contact, providerConfig.locale)),
190
- state: pubsub_contacts_message_model_1.PubSubContactsState.IN_PROGRESS,
191
- integrationName: this.integrationName,
192
- };
193
- yield ((_a = this.pubSubContactStreamingClient) === null || _a === void 0 ? void 0 : _a.publishMessage(message));
194
212
  }
195
- catch (error) {
196
- (0, logger_util_1.errorLogger)('streamContacts', `Could not publish contacts`, providerConfig.apiKey, error);
213
+ });
214
+ const streamingPromise = streamContacts()
215
+ .then(() => {
216
+ var _a;
217
+ return (_a = this.pubSubContactStreamingClient) === null || _a === void 0 ? void 0 : _a.publishMessage({
218
+ userId: providerConfig.userId,
219
+ timestamp,
220
+ contacts: [],
221
+ state: pubsub_contacts_message_model_1.PubSubContactsState.COMPLETE,
222
+ integrationName: this.integrationName,
223
+ traceparent: tracer.getTraceParent(),
224
+ });
225
+ })
226
+ .catch((error) => __awaiter(this, void 0, void 0, function* () {
227
+ var _c;
228
+ tracer.setError('Could not stream contacts');
229
+ (0, logger_util_1.errorLogger)('streamContacts', 'Could not stream contacts', providerConfig.apiKey, error);
230
+ return (_c = this.pubSubContactStreamingClient) === null || _c === void 0 ? void 0 : _c.publishMessage({
231
+ userId: providerConfig.userId,
232
+ timestamp,
233
+ contacts: [],
234
+ state: pubsub_contacts_message_model_1.PubSubContactsState.FAILED,
235
+ integrationName: this.integrationName,
236
+ traceparent: tracer.getTraceParent(),
237
+ });
238
+ }))
239
+ .catch((error) => {
240
+ tracer.setError('Could not publish failed message');
241
+ (0, logger_util_1.errorLogger)('streamContacts', 'Could not publish failed message', providerConfig.apiKey, error);
242
+ })
243
+ .finally(() => this.streamingPromises.delete(`${userId}:${timestamp}`));
244
+ this.streamingPromises.set(`${userId}:${timestamp}`, streamingPromise);
245
+ if (this.adapter.getToken && req.providerConfig) {
246
+ try {
247
+ const { apiKey } = yield this.adapter.getToken(req.providerConfig);
248
+ res.header('X-Provider-Key', apiKey);
197
249
  }
198
- finally {
199
- result = yield iterator.next();
250
+ catch (error) {
251
+ tracer.setError('Could not get and refresh token');
252
+ (0, logger_util_1.errorLogger)('streamContacts', 'Could not get and refresh token', providerConfig.apiKey, error);
200
253
  }
201
254
  }
202
- });
203
- const streamingPromise = streamContacts()
204
- .then(() => {
205
- var _a;
206
- return (_a = this.pubSubContactStreamingClient) === null || _a === void 0 ? void 0 : _a.publishMessage({
207
- userId: providerConfig.userId,
208
- timestamp,
209
- contacts: [],
210
- state: pubsub_contacts_message_model_1.PubSubContactsState.COMPLETE,
211
- integrationName: this.integrationName,
212
- });
213
- })
214
- .catch((error) => __awaiter(this, void 0, void 0, function* () {
215
- var _b;
216
- (0, logger_util_1.errorLogger)('streamContacts', 'Could not stream contacts', providerConfig.apiKey, error);
217
- return (_b = this.pubSubContactStreamingClient) === null || _b === void 0 ? void 0 : _b.publishMessage({
218
- userId: providerConfig.userId,
219
- timestamp,
220
- contacts: [],
221
- state: pubsub_contacts_message_model_1.PubSubContactsState.FAILED,
222
- integrationName: this.integrationName,
223
- });
224
- }))
225
- .catch((error) => {
226
- (0, logger_util_1.errorLogger)('streamContacts', 'Could not publish failed message', providerConfig.apiKey, error);
227
- })
228
- .finally(() => this.streamingPromises.delete(`${userId}:${timestamp}`));
229
- this.streamingPromises.set(`${userId}:${timestamp}`, streamingPromise);
230
- if (this.adapter.getToken && req.providerConfig) {
231
- try {
232
- const { apiKey } = yield this.adapter.getToken(req.providerConfig);
233
- res.header('X-Provider-Key', apiKey);
234
- }
235
- catch (error) {
236
- (0, logger_util_1.errorLogger)('streamContacts', 'Could not get and refresh token', providerConfig.apiKey, error);
255
+ (0, logger_util_1.infoLogger)('streamContacts', 'END', providerConfig.apiKey);
256
+ res.status(200).send({ timestamp });
257
+ }
258
+ catch (error) {
259
+ // prevent logging of refresh errors
260
+ if (error instanceof _1.ServerError &&
261
+ error.message === integration_error_model_1.IntegrationErrorType.INTEGRATION_REFRESH_ERROR) {
262
+ next(error);
263
+ return;
237
264
  }
238
- }
239
- (0, logger_util_1.infoLogger)('streamContacts', 'END', providerConfig.apiKey);
240
- res.status(200).send({ timestamp });
241
- }
242
- catch (error) {
243
- // prevent logging of refresh errors
244
- if (error instanceof _1.ServerError &&
245
- error.message === integration_error_model_1.IntegrationErrorType.INTEGRATION_REFRESH_ERROR) {
265
+ tracer.setError('Could not stream contacts');
266
+ (0, logger_util_1.errorLogger)('streamContacts', 'Could not stream contacts', providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.apiKey, error);
246
267
  next(error);
247
- return;
248
268
  }
249
- (0, logger_util_1.errorLogger)('streamContacts', 'Could not stream contacts', providerConfig === null || providerConfig === void 0 ? void 0 : providerConfig.apiKey, error);
250
- next(error);
251
- }
269
+ }));
252
270
  });
253
271
  }
254
272
  getContactsDelta(req, res, next) {
@@ -1 +1 @@
1
- {"version":3,"file":"controller.model.js","sourceRoot":"","sources":["../../src/models/controller.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.model.js","sourceRoot":"","sources":["../../src/models/controller.model.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,5 @@ export type PubSubContactsMessage = {
10
10
  contacts: Contact[];
11
11
  state: PubSubContactsState;
12
12
  integrationName: string;
13
+ traceparent?: string;
13
14
  };
@@ -0,0 +1,12 @@
1
+ export declare class Tracer {
2
+ private readonly userIdentifier;
3
+ private span;
4
+ constructor(task: string, traceparent: string, userIdentifier: string);
5
+ getTraceParent(): string;
6
+ endSpan(): void;
7
+ fork(task: string): Tracer;
8
+ do(process: () => Promise<any>): Promise<any>;
9
+ setError(error: string): void;
10
+ logWarning(warning: string): void;
11
+ logInfo(info: string): void;
12
+ }
@@ -0,0 +1,76 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.Tracer = void 0;
13
+ const api_1 = require("@opentelemetry/api");
14
+ const logger_util_1 = require("../util/logger.util");
15
+ class Tracer {
16
+ constructor(task, traceparent, userIdentifier) {
17
+ this.userIdentifier = userIdentifier;
18
+ const context = api_1.propagation.extract(api_1.ROOT_CONTEXT, { traceparent }, {
19
+ get: (carrier, key) => {
20
+ return carrier[key];
21
+ },
22
+ keys: (carrier) => {
23
+ return Object.keys(carrier);
24
+ },
25
+ });
26
+ this.span = api_1.trace.getTracer('default').startSpan(task, undefined, context);
27
+ this.span.setAttribute('userId', this.userIdentifier);
28
+ (0, logger_util_1.infoLogger)('Tracer', `Start ${task} with trace: ${this.span.spanContext().traceId}`, this.userIdentifier);
29
+ }
30
+ getTraceParent() {
31
+ const traceHeader = {
32
+ traceparent: undefined,
33
+ };
34
+ const context = api_1.trace.setSpan(api_1.ROOT_CONTEXT, this.span);
35
+ api_1.propagation.inject(context, traceHeader, {
36
+ set: (carrier, key, value) => {
37
+ carrier[key] = value;
38
+ },
39
+ });
40
+ return traceHeader['traceparent'] || '';
41
+ }
42
+ endSpan() {
43
+ this.span.end();
44
+ }
45
+ fork(task) {
46
+ const tracerFork = new Tracer(task, this.getTraceParent(), this.userIdentifier);
47
+ return tracerFork;
48
+ }
49
+ do(process) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ try {
52
+ const response = yield process();
53
+ return response;
54
+ }
55
+ catch (error) {
56
+ this.setError(error.message);
57
+ throw error;
58
+ }
59
+ finally {
60
+ this.endSpan();
61
+ }
62
+ });
63
+ }
64
+ setError(error) {
65
+ this.span.recordException(error);
66
+ this.span.setStatus({ code: 2, message: 'FAILED' });
67
+ }
68
+ logWarning(warning) {
69
+ this.span.addEvent('warning', { message: warning });
70
+ }
71
+ logInfo(info) {
72
+ this.span.addEvent('info', { message: info });
73
+ }
74
+ }
75
+ exports.Tracer = Tracer;
76
+ //# sourceMappingURL=tracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/tracing/tracer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA4E;AAC5E,qDAAiD;AAEjD,MAAa,MAAM;IAGjB,YACE,IAAY,EACZ,WAAmB,EACF,cAAsB;QAAtB,mBAAc,GAAd,cAAc,CAAQ;QAEvC,MAAM,OAAO,GAAG,iBAAW,CAAC,OAAO,CACjC,kBAAY,EACZ,EAAE,WAAW,EAAE,EACf;YACE,GAAG,EAAE,CAAC,OAAY,EAAE,GAAG,EAAE,EAAE;gBACzB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;YACD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9B,CAAC;SACF,CACF,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,WAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QACtD,IAAA,wBAAU,EACR,QAAQ,EACR,SAAS,IAAI,gBAAgB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE,EAC9D,IAAI,CAAC,cAAc,CACpB,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,MAAM,WAAW,GAAwC;YACvD,WAAW,EAAE,SAAS;SACvB,CAAC;QAEF,MAAM,OAAO,GAAG,WAAK,CAAC,OAAO,CAAC,kBAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,iBAAW,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE;YACvC,GAAG,EAAE,CAAC,OAAY,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;gBAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,IAAY;QACf,MAAM,UAAU,GAAG,IAAI,MAAM,CAC3B,IAAI,EACJ,IAAI,CAAC,cAAc,EAAE,EACrB,IAAI,CAAC,cAAc,CACpB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IAEK,EAAE,CAAC,OAA2B;;YAClC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;aACjB;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,QAAQ,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;gBACxC,MAAM,KAAK,CAAC;aACb;oBAAS;gBACR,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;QACH,CAAC;KAAA;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,CAAC,IAAY;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;CACF;AAlFD,wBAkFC"}
@@ -0,0 +1,3 @@
1
+ import { NodeSDK } from '@opentelemetry/sdk-node';
2
+ export declare const otelSDK: NodeSDK;
3
+ export declare const tracingEnabled: boolean;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tracingEnabled = exports.otelSDK = void 0;
4
+ const exporter_trace_otlp_http_1 = require("@opentelemetry/exporter-trace-otlp-http");
5
+ const sdk_node_1 = require("@opentelemetry/sdk-node");
6
+ const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
7
+ const apikey = process.env.BACKEND_TRACING_API_KEY;
8
+ const googleExporter = new exporter_trace_otlp_http_1.OTLPTraceExporter({
9
+ url: 'https://gateway.clinq.com/backend-traces',
10
+ headers: {
11
+ apikey,
12
+ },
13
+ });
14
+ // const jaegerExporter = new OTLPTraceExporter({});
15
+ exports.otelSDK = new sdk_node_1.NodeSDK({
16
+ spanProcessor: new sdk_trace_base_1.SimpleSpanProcessor(googleExporter),
17
+ serviceName: 'bridge.' + (process.env.INTEGRATION_NAME || 'integration'),
18
+ });
19
+ exports.tracingEnabled = !!apikey;
20
+ // gracefully shut down the SDK on process exit
21
+ process.on('SIGTERM', () => {
22
+ exports.otelSDK
23
+ .shutdown()
24
+ .then(() => console.log('SDK shut down successfully'), (err) => console.log('Error shutting down SDK', err))
25
+ .finally(() => process.exit(0));
26
+ });
27
+ //# sourceMappingURL=tracing-initializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing-initializer.js","sourceRoot":"","sources":["../../src/tracing/tracing-initializer.ts"],"names":[],"mappings":";;;AAAA,sFAA4E;AAC5E,sDAAkD;AAClD,kEAAoE;AAEpE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;AAEnD,MAAM,cAAc,GAAG,IAAI,4CAAiB,CAAC;IAC3C,GAAG,EAAE,0CAA0C;IAC/C,OAAO,EAAE;QACP,MAAM;KACP;CACF,CAAC,CAAC;AAEH,oDAAoD;AAEvC,QAAA,OAAO,GAAG,IAAI,kBAAO,CAAC;IACjC,aAAa,EAAE,IAAI,oCAAmB,CAAC,cAAc,CAAC;IACtD,WAAW,EAAE,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,aAAa,CAAC;CACzE,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;AAEvC,+CAA+C;AAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;IACzB,eAAO;SACJ,QAAQ,EAAE;SACV,IAAI,CACH,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,GAAG,CAAC,CACrD;SACA,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC"}
@@ -62,7 +62,7 @@ const throwAndDelegateError = (error, source, apiKey, logMessage) => {
62
62
  }
63
63
  }
64
64
  if (errorType !== undefined) {
65
- (0, logger_util_1.errorLogger)('throwAndDelegateError', `Delegating error to frontend with code ${models_1.DELEGATE_TO_FRONTEND_CODE} and type ${errorType}`, apiKey);
65
+ (0, logger_util_1.warnLogger)('throwAndDelegateError', `Delegating crm error to frontend with code ${models_1.DELEGATE_TO_FRONTEND_CODE} and type ${errorType}`, apiKey);
66
66
  throw new models_1.ServerError(models_1.DELEGATE_TO_FRONTEND_CODE, errorType);
67
67
  }
68
68
  throw new models_1.ServerError(500, 'An internal error occurred');
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/util/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/util/error.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,sCAImB;AACnB,+CAAwD;AAEjD,MAAM,qBAAqB,GAAG,CACnC,KAAgE,EAChE,MAAc,EACd,MAA0B,EAC1B,UAAmB,EACnB,EAAE;;IACF,MAAM,YAAY,GAAG,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC;QAC5C,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI;YACpB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC;YACtC,CAAC,CAAC,KAAK,CAAC,OAAO;QACjB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;IAElB,IAAI,UAAU,EAAE;QACd,IAAA,yBAAW,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;YACtC,OAAO,EAAE,YAAY;YACrB,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,KAAK;SACxB,CAAC,CAAC;KACJ;SAAM;QACL,IAAA,yBAAW,EAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE;YACxC,KAAK;YACL,UAAU,EAAE,KAAK,CAAC,KAAK;SACxB,CAAC,CAAC;KACJ;IAED,MAAM,GAAG,GAAG,KAAY,CAAC;IACzB,IAAI,SAAS,GAA8C,SAAS,CAAC;IAErE,IAAI,KAAK,YAAY,sBAAsB,EAAE;QAC3C,MAAM,sBAAsB,GAAG,KAA+B,CAAC;QAC/D,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC;KAC9C;SAAM;QACL,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,KAAI,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM,CAAA,EAAE;YAClD,MAAM,MAAM,GACV,GAAG,CAAC,MAAM;iBACV,MAAA,GAAG,CAAC,QAAQ,0CAAE,MAAM,CAAA;gBACpB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAExC,QAAQ,MAAM,EAAE;gBACd,KAAK,GAAG;oBACN,SAAS,GAAG,6BAAoB,CAAC,yBAAyB,CAAC;oBAC3D,MAAM;gBACR,KAAK,GAAG;oBACN,SAAS,GAAG,6BAAoB,CAAC,2BAA2B,CAAC;oBAC7D,MAAM;gBACR,KAAK,GAAG;oBACN,SAAS,GAAG,6BAAoB,CAAC,gBAAgB,CAAC;oBAClD,MAAM;gBACR,KAAK,GAAG;oBACN,SAAS,GAAG,6BAAoB,CAAC,qBAAqB,CAAC;oBACvD,MAAM;gBACR,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG,CAAC;gBACT,KAAK,GAAG;oBACN,SAAS,GAAG,6BAAoB,CAAC,6BAA6B,CAAC;oBAC/D,MAAM;gBACR;oBACE,MAAM,IAAI,oBAAW,CAAC,MAAM,EAAE,GAAG,MAAM,KAAK,YAAY,GAAG,CAAC,CAAC;aAChE;SACF;KACF;IAED,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,IAAA,wBAAU,EACR,uBAAuB,EACvB,8CAA8C,kCAAyB,aAAa,SAAS,EAAE,EAC/F,MAAM,CACP,CAAC;QACF,MAAM,IAAI,oBAAW,CAAC,kCAAyB,EAAE,SAAS,CAAC,CAAC;KAC7D;IACD,MAAM,IAAI,oBAAW,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;AAC3D,CAAC,CAAC;AAvEW,QAAA,qBAAqB,yBAuEhC;AAEF,MAAa,sBAAuB,SAAQ,oBAAW;IAErD,YAAY,SAA+B;QACzC,KAAK,CAAC,kCAAyB,EAAE,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AARD,wDAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sipgate/integration-bridge",
3
- "version": "0.26.6",
3
+ "version": "0.27.0",
4
4
  "description": "sipgate Integration Bridge Framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -72,6 +72,10 @@
72
72
  },
73
73
  "dependencies": {
74
74
  "@google-cloud/pubsub": "^3.7.1",
75
+ "@opentelemetry/api": "^1.7.0",
76
+ "@opentelemetry/exporter-trace-otlp-http": "^0.45.1",
77
+ "@opentelemetry/sdk-node": "^0.45.1",
78
+ "@opentelemetry/sdk-trace-base": "^1.18.1",
75
79
  "@slack/webhook": "^6.1.0",
76
80
  "ajv": "^8.11.0",
77
81
  "awesome-phonenumber": "^3.2.0",