@sipgate/integration-bridge 1.0.36 → 1.0.38

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 (103) hide show
  1. package/dist/cache/contact-cache-storage.js +79 -97
  2. package/dist/cache/contact-cache-storage.js.map +1 -1
  3. package/dist/cache/storage/memory-storage-adapter.js +8 -22
  4. package/dist/cache/storage/memory-storage-adapter.js.map +1 -1
  5. package/dist/cache/storage/redis-storage-adapter.js +16 -30
  6. package/dist/cache/storage/redis-storage-adapter.js.map +1 -1
  7. package/dist/cache/token-cache-storage.js +30 -43
  8. package/dist/cache/token-cache-storage.js.map +1 -1
  9. package/dist/controllers/call-log.controller.js +63 -78
  10. package/dist/controllers/call-log.controller.js.map +1 -1
  11. package/dist/controllers/task.controller.js +60 -75
  12. package/dist/controllers/task.controller.js.map +1 -1
  13. package/dist/index.d.ts +6 -2
  14. package/dist/index.js +38 -21
  15. package/dist/index.js.map +1 -1
  16. package/dist/middlewares/error-handler.middleware.js +1 -2
  17. package/dist/middlewares/error-handler.middleware.js.map +1 -1
  18. package/dist/middlewares/extract-header.middleware.d.ts +0 -1
  19. package/dist/middlewares/extract-header.middleware.js +2 -2
  20. package/dist/middlewares/extract-header.middleware.js.map +1 -1
  21. package/dist/models/cache-item-state.model.js +1 -1
  22. package/dist/models/cache-item-state.model.js.map +1 -1
  23. package/dist/models/call-direction.enum.js +1 -1
  24. package/dist/models/call-direction.enum.js.map +1 -1
  25. package/dist/models/call-event.model.js +2 -2
  26. package/dist/models/call-event.model.js.map +1 -1
  27. package/dist/models/contact.model.js +3 -3
  28. package/dist/models/contact.model.js.map +1 -1
  29. package/dist/models/controller.model.js +579 -622
  30. package/dist/models/controller.model.js.map +1 -1
  31. package/dist/models/integration-entity.model.js +1 -1
  32. package/dist/models/integration-entity.model.js.map +1 -1
  33. package/dist/models/integration-error.model.js +1 -1
  34. package/dist/models/integration-error.model.js.map +1 -1
  35. package/dist/models/integrations-event.model.js +1 -1
  36. package/dist/models/integrations-event.model.js.map +1 -1
  37. package/dist/models/pubsub/pubsub-client.model.js +16 -25
  38. package/dist/models/pubsub/pubsub-client.model.js.map +1 -1
  39. package/dist/models/pubsub/pubsub-contacts-message.model.js +1 -1
  40. package/dist/models/pubsub/pubsub-contacts-message.model.js.map +1 -1
  41. package/dist/models/server-error.model.js +1 -0
  42. package/dist/models/server-error.model.js.map +1 -1
  43. package/dist/swagger/openapi-spec.d.ts +972 -0
  44. package/dist/swagger/openapi-spec.js +787 -0
  45. package/dist/swagger/openapi-spec.js.map +1 -0
  46. package/dist/util/anonymize-key.js +1 -2
  47. package/dist/util/anonymize-key.js.map +1 -1
  48. package/dist/util/call-comment.js +5 -6
  49. package/dist/util/call-comment.js.map +1 -1
  50. package/dist/util/call-event.util.js +1 -2
  51. package/dist/util/call-event.util.js.map +1 -1
  52. package/dist/util/callEventHelper.js +4 -4
  53. package/dist/util/callEventHelper.js.map +1 -1
  54. package/dist/util/contact.util.js +10 -8
  55. package/dist/util/contact.util.js.map +1 -1
  56. package/dist/util/env.js +19 -9
  57. package/dist/util/env.js.map +1 -1
  58. package/dist/util/error/delegate-to-frontend.error.js +1 -0
  59. package/dist/util/error/delegate-to-frontend.error.js.map +1 -1
  60. package/dist/util/error/error.js +11 -8
  61. package/dist/util/error/error.js.map +1 -1
  62. package/dist/util/gdpr/gdprSlackNotification.js +22 -22
  63. package/dist/util/gdpr/gdprSlackNotification.js.map +1 -1
  64. package/dist/util/gdpr/index.js +17 -7
  65. package/dist/util/gdpr/index.js.map +1 -1
  66. package/dist/util/get-contact-cache.js +1 -2
  67. package/dist/util/get-contact-cache.js.map +1 -1
  68. package/dist/util/http/default-axios.js +1 -2
  69. package/dist/util/http/default-axios.js.map +1 -1
  70. package/dist/util/http/index.js +17 -7
  71. package/dist/util/http/index.js.map +1 -1
  72. package/dist/util/http/pagination.js +32 -85
  73. package/dist/util/http/pagination.js.map +1 -1
  74. package/dist/util/http/rate-limited-axios.js +42 -61
  75. package/dist/util/http/rate-limited-axios.js.map +1 -1
  76. package/dist/util/http/retrying-axios.js +11 -23
  77. package/dist/util/http/retrying-axios.js.map +1 -1
  78. package/dist/util/http/url.js +1 -2
  79. package/dist/util/http/url.js.map +1 -1
  80. package/dist/util/index.js +17 -7
  81. package/dist/util/index.js.map +1 -1
  82. package/dist/util/lang/delay.js +1 -2
  83. package/dist/util/lang/delay.js.map +1 -1
  84. package/dist/util/lang/diff.js +19 -10
  85. package/dist/util/lang/diff.js.map +1 -1
  86. package/dist/util/logger.util.js +7 -2
  87. package/dist/util/logger.util.js.map +1 -1
  88. package/dist/util/oauth.js +131 -134
  89. package/dist/util/oauth.js.map +1 -1
  90. package/dist/util/phone-number-utils.js +4 -5
  91. package/dist/util/phone-number-utils.js.map +1 -1
  92. package/dist/util/security/index.js +17 -7
  93. package/dist/util/security/index.js.map +1 -1
  94. package/dist/util/security/nonce.js +5 -6
  95. package/dist/util/security/nonce.js.map +1 -1
  96. package/dist/util/size-of.js +1 -1
  97. package/dist/util/size-of.js.map +1 -1
  98. package/dist/util/token-util.js +46 -62
  99. package/dist/util/token-util.js.map +1 -1
  100. package/dist/util/validate.js +1 -2
  101. package/dist/util/validate.js.map +1 -1
  102. package/package.json +25 -38
  103. package/README.md +0 -117
@@ -1 +1 @@
1
- {"version":3,"file":"token-util.js","sourceRoot":"","sources":["../../src/util/token-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-util.js","sourceRoot":"","sources":["../../src/util/token-util.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validate = void 0;
3
+ exports.validate = validate;
4
4
  const models_1 = require("../models");
5
5
  const logger_util_1 = require("./logger.util");
6
6
  function validate(schema, data, config, errorMessage) {
@@ -11,5 +11,4 @@ function validate(schema, data, config, errorMessage) {
11
11
  }
12
12
  return parseResult.data;
13
13
  }
14
- exports.validate = validate;
15
14
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/util/validate.ts"],"names":[],"mappings":";;;AACA,sCAAgD;AAChD,+CAA4C;AAE5C,SAAgB,QAAQ,CACtB,MAAiB,EACjB,IAAa,EACb,MAAc,EACd,YAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,WAAW,CAAC,KAAK,EAAE;QACrB,IAAA,yBAAW,EAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,oBAAW,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KAC7E;IAED,OAAO,WAAW,CAAC,IAAI,CAAC;AAC1B,CAAC;AAdD,4BAcC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/util/validate.ts"],"names":[],"mappings":";;AAIA,4BAcC;AAjBD,sCAAgD;AAChD,+CAA4C;AAE5C,SAAgB,QAAQ,CACtB,MAAiB,EACjB,IAAa,EACb,MAAc,EACd,YAAoB;IAEpB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAE3C,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,IAAA,yBAAW,EAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,IAAI,oBAAW,CAAC,GAAG,EAAE,GAAG,YAAY,KAAK,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC;AAC1B,CAAC"}
package/package.json CHANGED
@@ -1,39 +1,26 @@
1
1
  {
2
2
  "name": "@sipgate/integration-bridge",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "description": "sipgate Integration Bridge Framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist"
9
9
  ],
10
- "repository": "github:sipgate/integration-bridge",
11
- "bugs": {
12
- "url": "https://github.com/sipgate/integration-bridge/issues"
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ },
15
+ "./dist/*": "./dist/*"
13
16
  },
17
+ "repository": "github:sipgate/integration-bridge",
14
18
  "keywords": [
15
19
  "integration",
16
20
  "express",
17
21
  "framework"
18
22
  ],
19
23
  "license": "UNLICENSED",
20
- "scripts": {
21
- "dev": "npm run build && npm link && tsc --watch",
22
- "watch": "tsc --watch",
23
- "prepare": "husky install",
24
- "test": "jest",
25
- "compile": "tsc",
26
- "lint": "eslint '**/*.ts'",
27
- "build": "npm test && rimraf dist && npm run compile",
28
- "precommit": "lint-staged",
29
- "prepublishOnly": "npm run build",
30
- "format": "prettier --write '**/*.ts'"
31
- },
32
- "lint-staged": {
33
- "*.ts": [
34
- "prettier --write"
35
- ]
36
- },
37
24
  "jest": {
38
25
  "transform": {
39
26
  "^.+\\.ts?$": "ts-jest"
@@ -51,52 +38,52 @@
51
38
  ]
52
39
  },
53
40
  "devDependencies": {
54
- "@eslint/js": "^9.39.3",
55
41
  "@types/body-parser": "1.19.2",
56
42
  "@types/compression": "1.7.2",
57
43
  "@types/cookies": "^0.7.7",
58
44
  "@types/cors": "2.8.13",
59
- "@types/express": "4.17.17",
60
45
  "@types/jest": "^29.4.0",
61
46
  "@types/lodash": "^4.14.191",
62
47
  "@types/lru-cache": "7.10.9",
63
- "@types/node": "18.16.5",
64
48
  "@types/redis": "4.0.10",
65
- "eslint": "9.26.0",
66
- "eslint-plugin-import": "^2.29.0",
67
- "globals": "^14.0.0",
68
- "husky": "8.0.3",
49
+ "@types/swagger-ui-express": "^4.1.8",
69
50
  "jest": "^29.4.0",
70
- "lint-staged": "13.2.2",
71
51
  "node-mocks-http": "1.12.2",
72
- "prettier": "2.8.8",
73
- "rimraf": "3.0.2",
74
- "ts-jest": "^29.0.5",
75
- "typescript": "4.9.5",
76
- "typescript-eslint": "8.56.1"
52
+ "ts-jest": "^29.0.5"
77
53
  },
78
54
  "dependencies": {
79
55
  "@google-cloud/pubsub": "^3.7.1",
80
56
  "@opentelemetry/api": "^1.9.0",
81
57
  "@opentelemetry/auto-instrumentations-node": "^0.70.0",
82
58
  "@opentelemetry/exporter-trace-otlp-http": "^0.212.0",
59
+ "@opentelemetry/instrumentation-express": "^0.46.0",
60
+ "@opentelemetry/instrumentation-http": "^0.57.0",
83
61
  "@opentelemetry/sdk-node": "^0.212.0",
84
62
  "@opentelemetry/sdk-trace-base": "^2.0.0",
85
63
  "@slack/webhook": "^6.1.0",
86
64
  "awesome-phonenumber": "^3.2.0",
87
- "axios": "^1.0.0",
65
+ "axios": "^1.4.0",
88
66
  "body-parser": "^1.20.0",
89
67
  "compression": "^1.7.4",
90
68
  "cookies": "^0.8.0",
91
69
  "cors": "^2.8.5",
92
- "dotenv": "^16.0.3",
93
- "express": "^4.18.1",
70
+ "dotenv": "^16.1.4",
71
+ "express": "^4.18.2",
94
72
  "lodash": "^4.17.21",
95
73
  "lru-cache": "^7.13.1",
96
74
  "moment": "^2.29.4",
97
75
  "opentelemetry-instrumentation-pubsub": "^2.1.0",
98
76
  "rate-limiter-flexible": "^2.3.11",
99
77
  "redis": "^4.2.0",
78
+ "swagger-ui-express": "^5.0.1",
100
79
  "zod": "^3.23.8"
80
+ },
81
+ "scripts": {
82
+ "build": "rimraf dist && tsc",
83
+ "test": "jest",
84
+ "dev": "tsc --watch",
85
+ "lint": "eslint 'src/**/*.ts'",
86
+ "format": "prettier --write 'src/**/*.ts'",
87
+ "release": "npm version patch && git tag v$(node -p \"require('./package.json').version\") && git push && git push origin v$(node -p \"require('./package.json').version\")"
101
88
  }
102
- }
89
+ }
package/README.md DELETED
@@ -1,117 +0,0 @@
1
- # sipgate Integration Bridge Framework
2
-
3
- This is the sipgate Integration Bridge framework to integrate sipgate apps with external services. It provides a unified
4
- way to connect apps to any provider of external data management, like contacts or calendar events.
5
-
6
- ## Developing locally
7
-
8
- To test your changes to the integration-bridge framework locally, follow these steps:
9
-
10
- - Run `npm run dev` in sipgate-integration-bridge repo
11
- - Run `npm link @sipgate/integration-bridge` in \*-integration-bridge-repo
12
- - Add the following to your `tsconfig.json`:
13
- ```json
14
- {
15
- "compilerOptions": {
16
- "paths": {
17
- "@sipgate/integration-bridge": [
18
- "node_modules/@sipgate/integration-bridge/src"
19
- ]
20
- }
21
- }
22
- }
23
- ```
24
-
25
- ## Publishing a version
26
-
27
- To publish a new framework version, simply create a new tag and push it:
28
-
29
- ```
30
-
31
- npm version <minor|patch>
32
- git push --follow-tags
33
-
34
- ```
35
-
36
- This will automatically publish the package in the npm registry via the CI pipeline.
37
-
38
- ## Bootstrapping a new bridge
39
-
40
- If you want to bootstrap a new sipgate Integration Bridge you can use this repository: [integration-bridge-boilerplate](https://github.com/sipgate/integration-bridge-boilerplate)
41
-
42
- ## Installation
43
-
44
- ```shell
45
- npm install @sipgate/integration-bridge
46
- # or
47
- yarn add @sipgate/integration-bridge
48
- ```
49
-
50
- ## Quick Start
51
-
52
- The minimum adapter implements the `getContacts` method:
53
-
54
- ```js
55
- const bridge = require('@sipgate/integration-bridge');
56
- const fetch = require('node-fetch');
57
-
58
- const { ServerError } = bridge;
59
-
60
- const adapter = {
61
- getContacts: async ({ apiKey, apiUrl }) => {
62
- // Fetch contacts using apiUrl and apiKey
63
- const response = await fetch(`${apiUrl}/api/contacts`, {
64
- headers: { Authorization: `Bearer ${apiKey}` },
65
- });
66
-
67
- if (response.status === 401) {
68
- throw new ServerError(401, 'Unauthorized');
69
- }
70
-
71
- if (!response.ok) {
72
- throw new ServerError(500, 'Could not fetch contacts');
73
- }
74
-
75
- // TODO: Convert contacts to the structure below
76
- const contacts = await response.json();
77
- return contacts;
78
- },
79
- };
80
-
81
- bridge.start(adapter);
82
- ```
83
-
84
- Contacts are accepted in this format:
85
-
86
- ```js
87
- {
88
- id: "abc123",
89
-
90
- // Provide either the full name or first and last name, not both
91
- name: null, // or null
92
- firstName: "Walter", // or null
93
- lastName: "Geoffrey", // or null
94
-
95
- organization: "Rocket Science Inc.", // or null
96
- contactUrl: "http://myapp.com/contacts/abc123", // or null
97
- avatarUrl: "http://myapp.com/avatar/abc123.png", // or null
98
- email: "walter@example.com", // or null
99
- phoneNumbers: [
100
- {
101
- label: "MOBILE", // or "WORK" or "HOME" ...
102
- phoneNumber: "+4915799912345"
103
- }
104
- ]
105
- }
106
- ```
107
-
108
- ## Configuration
109
-
110
- The sipgate Integration Bridge supports configuration through the following environment variables:
111
-
112
- - `OAUTH2_REDIRECT_URL`: URL to redirect the user at the end of the OAuth2 flow
113
- - `OAUTH2_IDENTIFIER`: Name of the Integration to identify credentials in uppercase e. g. "MY_CRM"
114
- - `REDIS_URL`: URL of a Redis instance to cache responses, otherwise memory cache will be used
115
- - `CACHE_DISABLED`: Disable caching
116
- - `CACHE_REFRESH_INTERVAL`: Time a contact in cache is not refreshed (in seconds), only used if redis or memory cache is
117
- active