@sipgate/integration-bridge 0.5.0 → 0.7.1

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.
@@ -1,8 +1,8 @@
1
1
  import { StorageAdapter } from "../../models/storage-adapter.model";
2
- export declare class MemoryStorageAdapter<T> implements StorageAdapter<T> {
2
+ export declare class MemoryStorageAdapter implements StorageAdapter {
3
3
  private cache;
4
4
  constructor();
5
- get(key: string): Promise<T | null>;
6
- set(key: string, value: T): Promise<void>;
5
+ get<T>(key: string): Promise<T | null>;
6
+ set<T>(key: string, value: T): Promise<void>;
7
7
  delete(key: string): Promise<void>;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-storage-adapter.js","sourceRoot":"","sources":["../../../src/cache/storage/memory-storage-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,iEAAwC;AAExC,MAAa,oBAAoB;IAG/B;QACE,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5C,MAAM,UAAU,GACd,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;QACrE,MAAM,YAAY,GAAW,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;QAExD,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAG,CAAC;YACnB,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,iBAAM;SACf,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAEY,GAAG,CAAC,GAAW;;YAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC;KAAA;IAEY,GAAG,CAAC,GAAW,EAAE,KAAQ;;YACpC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;KAAA;IAEY,MAAM,CAAC,GAAW;;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;KAAA;CACF;AA9BD,oDA8BC"}
1
+ {"version":3,"file":"memory-storage-adapter.js","sourceRoot":"","sources":["../../../src/cache/storage/memory-storage-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,iEAAwC;AAExC,MAAa,oBAAoB;IAG/B;QACE,MAAM,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;QAC5C,MAAM,UAAU,GACd,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,UAAU;QACrE,MAAM,YAAY,GAAW,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,QAAQ;QAExD,IAAI,CAAC,KAAK,GAAG,IAAI,mBAAG,CAAC;YACnB,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,iBAAM;SACf,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAEY,GAAG,CAAI,GAAW;;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;YACxC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC;KAAA;IAEY,GAAG,CAAI,GAAW,EAAE,KAAQ;;YACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;KAAA;IAEY,MAAM,CAAC,GAAW;;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;KAAA;CACF;AA9BD,oDA8BC"}
@@ -1,8 +1,8 @@
1
1
  import { StorageAdapter } from "../../models/storage-adapter.model";
2
- export declare class RedisStorageAdapter<T> implements StorageAdapter<T> {
2
+ export declare class RedisStorageAdapter implements StorageAdapter {
3
3
  private client;
4
4
  constructor(url: string);
5
- get(key: string): Promise<T | null>;
6
- set(key: string, value: T): Promise<void>;
5
+ get<T>(key: string): Promise<T | null>;
6
+ set<T>(key: string, value: T): Promise<void>;
7
7
  delete(key: string): Promise<void>;
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"redis-storage-adapter.js","sourceRoot":"","sources":["../../../src/cache/storage/redis-storage-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsD;AACtD,+BAAiC;AACjC,+BAIc;AAGd,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAoB,cAAW,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAoB,cAAW,CAAC,CAAC;AAE1D,MAAM,SAAS,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;AAEvD,MAAa,mBAAmB;IAG9B,YAAY,GAAW;QACrB,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAY,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAEY,GAAG,CAAC,GAAW;;YAC1B,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,IAAI,CAAC;iBACb;gBACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5C;YAAC,WAAM;gBACN,OAAO,IAAI,CAAC;aACb;QACH,CAAC;KAAA;IAEY,GAAG,CAAC,GAAW,EAAE,KAAQ;;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACxD,EAAE,EAAE,SAAS;aACd,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,MAAM,CAAC,GAAW;;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;CACF;AAzCD,kDAyCC"}
1
+ {"version":3,"file":"redis-storage-adapter.js","sourceRoot":"","sources":["../../../src/cache/storage/redis-storage-adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAsD;AACtD,+BAAiC;AACjC,+BAIc;AAGd,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAoB,cAAW,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAG,IAAA,gBAAS,EAAoB,cAAW,CAAC,CAAC;AAE1D,MAAM,SAAS,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;AAEvD,MAAa,mBAAmB;IAG9B,YAAY,GAAW;QACrB,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAY,EAAC,EAAE,GAAG,EAAE,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC;IAEY,GAAG,CAAI,GAAW;;YAC7B,IAAI;gBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,EAAE;oBACV,OAAO,IAAI,CAAC;iBACb;gBACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5C;YAAC,WAAM;gBACN,OAAO,IAAI,CAAC;aACb;QACH,CAAC;KAAA;IAEY,GAAG,CAAI,GAAW,EAAE,KAAQ;;YACvC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC1C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACxD,EAAE,EAAE,SAAS;aACd,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,MAAM,CAAC,GAAW;;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;CACF;AAzCD,kDAyCC"}
@@ -1,12 +1,13 @@
1
1
  import { Contact, ContactCache } from "../models";
2
+ import { CacheItemState } from "../models/cache-item-state.model";
2
3
  import { StorageAdapter } from "../models/storage-adapter.model";
3
4
  export declare class StorageCache implements ContactCache {
4
5
  private storage;
5
- private cacheItemStates;
6
6
  private cacheRefreshIntervalMs;
7
- constructor(storageAdapter: StorageAdapter<Contact[]>);
8
- get(key: string, getFreshValue?: (key: string) => Promise<Contact[] | null>): Promise<Contact[] | null>;
7
+ constructor(storageAdapter: StorageAdapter);
8
+ get(key: string, getFreshValue?: (key: string) => Promise<Contact[]>): Promise<Contact[] | CacheItemState>;
9
9
  set(key: string, value: Contact[]): Promise<void>;
10
10
  delete(key: string): Promise<void>;
11
11
  private getRefreshed;
12
+ private getCacheItemKey;
12
13
  }
@@ -10,17 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.StorageCache = void 0;
13
+ const cache_item_state_model_1 = require("../models/cache-item-state.model");
13
14
  const anonymize_key_1 = require("../util/anonymize-key");
14
- var CacheItemStateType;
15
- (function (CacheItemStateType) {
16
- CacheItemStateType["CACHED"] = "CACHED";
17
- CacheItemStateType["FETCHING"] = "FETCHING";
18
- })(CacheItemStateType || (CacheItemStateType = {}));
15
+ const CACHE_STATE_PREFIX = "cache-state:";
19
16
  class StorageCache {
20
17
  constructor(storageAdapter) {
21
- this.cacheRefreshIntervalMs = 10 * 60 * 1000; // 10 minutes
18
+ this.cacheRefreshIntervalMs = 30 * 60 * 1000; // 30 minutes
22
19
  this.storage = storageAdapter;
23
- this.cacheItemStates = new Map();
24
20
  const { CACHE_REFRESH_INTERVAL } = process.env;
25
21
  if (CACHE_REFRESH_INTERVAL) {
26
22
  this.cacheRefreshIntervalMs =
@@ -31,16 +27,20 @@ class StorageCache {
31
27
  get(key, getFreshValue) {
32
28
  return __awaiter(this, void 0, void 0, function* () {
33
29
  try {
30
+ const cacheItemState = yield this.storage.get(this.getCacheItemKey(key));
31
+ if (cacheItemState &&
32
+ cacheItemState.state === cache_item_state_model_1.CacheItemStateType.FETCHING) {
33
+ console.log(`Not refreshing for key "${(0, anonymize_key_1.anonymizeKey)(key)}" because fetching is already in progress.`);
34
+ return cacheItemState;
35
+ }
34
36
  const value = yield this.storage.get(key);
35
37
  if (value) {
36
38
  console.log(`Found match for key "${(0, anonymize_key_1.anonymizeKey)(key)}" in cache.`);
37
- const cacheItemState = this.cacheItemStates.get(key);
38
39
  const now = new Date().getTime();
39
- const isValueStale = Boolean(cacheItemState &&
40
- cacheItemState.state === CacheItemStateType.CACHED &&
41
- now > cacheItemState.updated + this.cacheRefreshIntervalMs);
42
- const isValueNotCached = !cacheItemState;
43
- if (getFreshValue && (isValueNotCached || isValueStale)) {
40
+ const isValueStale = Boolean(!cacheItemState ||
41
+ (cacheItemState.state === cache_item_state_model_1.CacheItemStateType.CACHED &&
42
+ now > cacheItemState.updated + this.cacheRefreshIntervalMs));
43
+ if (getFreshValue && isValueStale) {
44
44
  this.getRefreshed(key, getFreshValue).catch((error) => {
45
45
  console.error(`Unable to get fresh values for"${(0, anonymize_key_1.anonymizeKey)(key)}" with error ${error}`);
46
46
  });
@@ -82,19 +82,14 @@ class StorageCache {
82
82
  }
83
83
  getRefreshed(key, getFreshValue) {
84
84
  return __awaiter(this, void 0, void 0, function* () {
85
- const itemState = this.cacheItemStates.get(key);
86
- if (itemState && itemState.state === CacheItemStateType.FETCHING) {
87
- console.log(`Not refreshing for key "${(0, anonymize_key_1.anonymizeKey)(key)}" because fetching is already in progress.`);
88
- return null;
89
- }
90
85
  console.info(`Refreshing value for ${(0, anonymize_key_1.anonymizeKey)(key)}.`);
91
- this.cacheItemStates.set(key, {
92
- state: CacheItemStateType.FETCHING,
86
+ yield this.storage.set(this.getCacheItemKey(key), {
87
+ state: cache_item_state_model_1.CacheItemStateType.FETCHING,
93
88
  });
94
89
  try {
95
90
  const freshValue = yield getFreshValue(key);
96
- this.cacheItemStates.set(key, {
97
- state: CacheItemStateType.CACHED,
91
+ yield this.storage.set(this.getCacheItemKey(key), {
92
+ state: cache_item_state_model_1.CacheItemStateType.CACHED,
98
93
  updated: new Date().getTime(),
99
94
  });
100
95
  if (freshValue) {
@@ -104,11 +99,15 @@ class StorageCache {
104
99
  }
105
100
  catch (error) {
106
101
  console.info(`Error while refreshing value for ${(0, anonymize_key_1.anonymizeKey)(key)}:`, error);
107
- this.cacheItemStates.delete(key);
102
+ this.storage.delete(`${CACHE_STATE_PREFIX}${key}`);
103
+ this.storage.delete(key);
108
104
  throw error;
109
105
  }
110
106
  });
111
107
  }
108
+ getCacheItemKey(key) {
109
+ return `${CACHE_STATE_PREFIX}${key}`;
110
+ }
112
111
  }
113
112
  exports.StorageCache = StorageCache;
114
113
  //# sourceMappingURL=storage-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage-cache.js","sourceRoot":"","sources":["../../src/cache/storage-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage-cache.js","sourceRoot":"","sources":["../../src/cache/storage-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export declare enum CacheItemStateType {
2
+ CACHED = "CACHED",
3
+ FETCHING = "FETCHING"
4
+ }
5
+ export interface CacheItemStateCached {
6
+ state: CacheItemStateType.CACHED;
7
+ updated: number;
8
+ }
9
+ export interface CacheItemStateFetching {
10
+ state: CacheItemStateType.FETCHING;
11
+ }
12
+ export declare type CacheItemState = CacheItemStateCached | CacheItemStateFetching;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CacheItemStateType = void 0;
4
+ var CacheItemStateType;
5
+ (function (CacheItemStateType) {
6
+ CacheItemStateType["CACHED"] = "CACHED";
7
+ CacheItemStateType["FETCHING"] = "FETCHING";
8
+ })(CacheItemStateType = exports.CacheItemStateType || (exports.CacheItemStateType = {}));
9
+ //# sourceMappingURL=cache-item-state.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache-item-state.model.js","sourceRoot":"","sources":["../../src/models/cache-item-state.model.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;AACvB,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
@@ -1,7 +1,8 @@
1
+ import { CacheItemState } from "./cache-item-state.model";
1
2
  import { Contact } from "./contact.model";
2
- declare type FreshValueUpdater = (key: string) => Promise<Contact[] | null>;
3
+ declare type FreshValueUpdater = (key: string) => Promise<Contact[]>;
3
4
  export interface ContactCache {
4
- get: (key: string, getFreshValue?: FreshValueUpdater) => Promise<Contact[] | null>;
5
+ get: (key: string, getFreshValue?: FreshValueUpdater) => Promise<Contact[] | CacheItemState>;
5
6
  set: (key: string, value: Contact[]) => Promise<void>;
6
7
  delete: (key: string) => Promise<void>;
7
8
  }
@@ -20,6 +20,7 @@ const schemas_1 = require("../schemas");
20
20
  const anonymize_key_1 = require("../util/anonymize-key");
21
21
  const phone_number_utils_1 = require("../util/phone-number-utils");
22
22
  const validate_1 = require("../util/validate");
23
+ const cache_item_state_model_1 = require("./cache-item-state.model");
23
24
  const contact_model_1 = require("./contact.model");
24
25
  const CONTACT_FETCH_TIMEOUT = 3000;
25
26
  function sanitizeContact(contact, locale) {
@@ -50,6 +51,7 @@ class Controller {
50
51
  getContacts(req, res, next) {
51
52
  return __awaiter(this, void 0, void 0, function* () {
52
53
  const { providerConfig: { apiKey = "", locale = "" } = {} } = req;
54
+ const anonKey = (0, anonymize_key_1.anonymizeKey)(apiKey);
53
55
  try {
54
56
  const fetchContacts = () => __awaiter(this, void 0, void 0, function* () {
55
57
  if (!this.adapter.getContacts) {
@@ -58,7 +60,7 @@ class Controller {
58
60
  if (!req.providerConfig) {
59
61
  throw new _1.ServerError(400, "Missing parameters");
60
62
  }
61
- console.log(`Fetching contacts for key "${(0, anonymize_key_1.anonymizeKey)(apiKey)}"`);
63
+ console.log(`Fetching contacts for key "${anonKey}"`);
62
64
  const fetchedContacts = yield this.adapter.getContacts(req.providerConfig);
63
65
  if (!(0, validate_1.validate)(this.ajv, schemas_1.contactsSchema, fetchedContacts)) {
64
66
  throw new _1.ServerError(500, "Invalid contacts received");
@@ -70,8 +72,15 @@ class Controller {
70
72
  : fetchContacts();
71
73
  const timeoutPromise = new Promise((resolve) => setTimeout(() => resolve([]), CONTACT_FETCH_TIMEOUT));
72
74
  const contacts = yield Promise.race([fetcherPromise, timeoutPromise]);
73
- const responseContacts = contacts || [];
74
- console.log(`Found ${responseContacts.length} cached contacts for key "${(0, anonymize_key_1.anonymizeKey)(apiKey)}"`);
75
+ const responseContacts = Array.isArray(contacts)
76
+ ? contacts
77
+ : [];
78
+ const contactsCount = responseContacts.length;
79
+ console.log(`Found ${contactsCount} cached contacts for key "${anonKey}"`);
80
+ if (!Array.isArray(contacts) &&
81
+ contacts.state === cache_item_state_model_1.CacheItemStateType.FETCHING) {
82
+ res.header("X-Fetching-State", "pending");
83
+ }
75
84
  if (this.adapter.getToken && req.providerConfig) {
76
85
  const { apiKey } = yield this.adapter.getToken(req.providerConfig);
77
86
  res.header("X-Provider-Key", apiKey);
@@ -108,9 +117,9 @@ class Controller {
108
117
  }
109
118
  res.status(200).send(sanitizedContact);
110
119
  if (this.contactCache) {
111
- const cached = yield this.contactCache.get(apiKey);
112
- if (cached) {
113
- yield this.contactCache.set(apiKey, [...cached, sanitizedContact]);
120
+ const contacts = yield this.contactCache.get(apiKey);
121
+ if (Array.isArray(contacts)) {
122
+ yield this.contactCache.set(apiKey, [...contacts, sanitizedContact]);
114
123
  }
115
124
  }
116
125
  }
@@ -144,9 +153,9 @@ class Controller {
144
153
  }
145
154
  res.status(200).send(sanitizedContact);
146
155
  if (this.contactCache) {
147
- const cachedContacts = yield this.contactCache.get(apiKey);
148
- if (cachedContacts) {
149
- const updatedCache = cachedContacts.map((entry) => entry.id === sanitizedContact.id ? sanitizedContact : entry);
156
+ const contacts = yield this.contactCache.get(apiKey);
157
+ if (Array.isArray(contacts)) {
158
+ const updatedCache = contacts.map((entry) => entry.id === sanitizedContact.id ? sanitizedContact : entry);
150
159
  yield this.contactCache.set(apiKey, updatedCache);
151
160
  }
152
161
  }
@@ -176,9 +185,9 @@ class Controller {
176
185
  }
177
186
  res.status(200).send();
178
187
  if (this.contactCache) {
179
- const cached = yield this.contactCache.get(apiKey);
180
- if (cached) {
181
- const updatedCache = cached.filter((entry) => entry.id !== contactId);
188
+ const contacts = yield this.contactCache.get(apiKey);
189
+ if (Array.isArray(contacts)) {
190
+ const updatedCache = contacts.filter((entry) => entry.id !== contactId);
182
191
  yield this.contactCache.set(apiKey, updatedCache);
183
192
  }
184
193
  }
@@ -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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"}
@@ -1,5 +1,5 @@
1
- export interface StorageAdapter<T> {
2
- get: (key: string) => Promise<T | null>;
3
- set: (key: string, value: T) => Promise<void>;
1
+ export interface StorageAdapter {
2
+ get: <T>(key: string) => Promise<T | null>;
3
+ set: <T>(key: string, value: T) => Promise<void>;
4
4
  delete: (key: string) => Promise<void>;
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sipgate/integration-bridge",
3
- "version": "0.5.0",
3
+ "version": "0.7.1",
4
4
  "description": "sipgate Integration Bridge Framework",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -60,7 +60,7 @@
60
60
  "@types/compression": "1.7.2",
61
61
  "@types/cors": "2.8.12",
62
62
  "@types/express": "4.17.13",
63
- "@types/jest": "28.1.7",
63
+ "@types/jest": "28.1.8",
64
64
  "@types/lru-cache": "7.10.9",
65
65
  "@types/node": "18.0.6",
66
66
  "@types/redis": "4.0.10",
@@ -71,7 +71,7 @@
71
71
  "prettier": "2.7.1",
72
72
  "rimraf": "3.0.2",
73
73
  "ts-jest": "28.0.8",
74
- "typescript": "4.7.4"
74
+ "typescript": "4.8.2"
75
75
  },
76
76
  "dependencies": {
77
77
  "ajv": "^8.11.0",