@sipgate/integration-bridge 0.13.25 → 0.13.26
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/cache/storage/memory-storage-adapter.js +3 -3
- package/dist/cache/storage/memory-storage-adapter.js.map +1 -1
- package/dist/cache/storage/redis-storage-adapter.js +9 -14
- package/dist/cache/storage/redis-storage-adapter.js.map +1 -1
- package/dist/cache/storage-cache.d.ts +1 -1
- package/dist/cache/storage-cache.js +34 -29
- package/dist/cache/storage-cache.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/util/get-contact-cache.js +1 -1
- package/package.json +1 -1
|
@@ -25,12 +25,12 @@ class MemoryStorageAdapter {
|
|
|
25
25
|
ttl: cacheTtlMs,
|
|
26
26
|
sizeCalculation: size_of_1.default,
|
|
27
27
|
});
|
|
28
|
-
console.log(`
|
|
28
|
+
console.log(`Initialized memory cache`);
|
|
29
29
|
}
|
|
30
30
|
get(key) {
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
const cached = this.cache.get(key);
|
|
33
|
-
return cached ? cached : null;
|
|
32
|
+
const cached = yield this.cache.get(key);
|
|
33
|
+
return cached !== null && cached !== void 0 ? cached : null;
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
set(key, value) {
|
|
@@ -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,eAAe,EAAE,iBAAM;SACxB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,
|
|
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,eAAe,EAAE,iBAAM;SACxB,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;IAEY,GAAG,CAAI,GAAW;;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC;YAC5C,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,IAAI,CAAC;QACxB,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"}
|
|
@@ -21,18 +21,18 @@ class RedisStorageAdapter {
|
|
|
21
21
|
this.client = (0, redis_1.createClient)({ url });
|
|
22
22
|
console.log(`Initialized Redis storage with URL ${url}`);
|
|
23
23
|
this.client.on("error", (error) => {
|
|
24
|
-
console.
|
|
24
|
+
console.error("Redis error: ", error.message);
|
|
25
25
|
});
|
|
26
26
|
this.client.on("ready", () => {
|
|
27
|
-
console.info("Redis is ready
|
|
27
|
+
console.info("Redis is ready");
|
|
28
28
|
});
|
|
29
29
|
this.client.on("reconnecting", () => {
|
|
30
|
-
console.warn("Redis is reconnecting
|
|
30
|
+
console.warn("Redis is reconnecting");
|
|
31
31
|
});
|
|
32
32
|
this.client
|
|
33
33
|
.connect()
|
|
34
34
|
.then(() => {
|
|
35
|
-
console.info("Redis successfully connected
|
|
35
|
+
console.info("Redis successfully connected");
|
|
36
36
|
})
|
|
37
37
|
.catch((error) => {
|
|
38
38
|
console.warn("Redis connection error: ", error.message);
|
|
@@ -40,18 +40,13 @@ class RedisStorageAdapter {
|
|
|
40
40
|
}
|
|
41
41
|
get(key) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (!value) {
|
|
46
|
-
return null;
|
|
47
|
-
}
|
|
48
|
-
const decompressed = yield inflate(Buffer.from(value, "base64"));
|
|
49
|
-
const result = JSON.parse(decompressed.toString());
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
catch (_a) {
|
|
43
|
+
const value = yield this.client.get(key);
|
|
44
|
+
if (!value) {
|
|
53
45
|
return null;
|
|
54
46
|
}
|
|
47
|
+
const decompressed = yield inflate(Buffer.from(value, "base64"));
|
|
48
|
+
const result = JSON.parse(decompressed.toString());
|
|
49
|
+
return result;
|
|
55
50
|
});
|
|
56
51
|
}
|
|
57
52
|
set(key, value, ttl) {
|
|
@@ -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,iBAAiB,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;AAE/D,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,
|
|
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,iBAAiB,GAAW,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU;AAE/D,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,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,GAAG,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM;aACR,OAAO,EAAE;aACT,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAC/C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAEY,GAAG,CAAI,GAAW;;YAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnD,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAEY,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,GAAY;;YACrD,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,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,iBAAiB;aAC7B,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,MAAM,CAAC,GAAW;;YAC7B,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;CACF;AAnDD,kDAmDC"}
|
|
@@ -6,7 +6,7 @@ export declare class StorageCache implements ContactCache {
|
|
|
6
6
|
private cacheRefreshIntervalMs;
|
|
7
7
|
constructor(storageAdapter: StorageAdapter);
|
|
8
8
|
get(key: string, getFreshValue?: (key: string) => Promise<Contact[]>): Promise<Contact[] | CacheItemState>;
|
|
9
|
-
set(key: string,
|
|
9
|
+
set(key: string, contacts: Contact[]): Promise<void>;
|
|
10
10
|
delete(key: string): Promise<void>;
|
|
11
11
|
private getRefreshed;
|
|
12
12
|
private getCacheItemKey;
|
|
@@ -28,87 +28,92 @@ class StorageCache {
|
|
|
28
28
|
}
|
|
29
29
|
get(key, getFreshValue) {
|
|
30
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const anonKey = (0, anonymize_key_1.anonymizeKey)(key);
|
|
31
32
|
try {
|
|
32
|
-
this.log(`[${
|
|
33
|
-
const start = performance.now();
|
|
33
|
+
this.log(`[${anonKey}] Trying to get contacts from cache`);
|
|
34
34
|
const cacheItemState = yield this.storage.get(this.getCacheItemKey(key));
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
cacheItemState.state === cache_item_state_model_1.CacheItemStateType.FETCHING) {
|
|
39
|
-
this.log(`[${(0, anonymize_key_1.anonymizeKey)(key)}] Not refreshing for because fetching is already in progress.`);
|
|
35
|
+
const contacts = yield this.storage.get(key);
|
|
36
|
+
if ((cacheItemState === null || cacheItemState === void 0 ? void 0 : cacheItemState.state) === cache_item_state_model_1.CacheItemStateType.FETCHING) {
|
|
37
|
+
this.log(`[${anonKey}] Not refreshing contacts, because cache state is FETCHING`);
|
|
40
38
|
// if we have old contacts saved in cache we return them instead
|
|
41
|
-
if (
|
|
42
|
-
this.log(`[${
|
|
43
|
-
return
|
|
39
|
+
if (contacts && (contacts === null || contacts === void 0 ? void 0 : contacts.length) > 0) {
|
|
40
|
+
this.log(`[${anonKey}] Returning previously cached contacts (${contacts.length}), because new contacts are still being fetched`);
|
|
41
|
+
return contacts;
|
|
44
42
|
}
|
|
45
43
|
return cacheItemState;
|
|
46
44
|
}
|
|
47
|
-
if (
|
|
48
|
-
this.log(`[${
|
|
45
|
+
if (contacts) {
|
|
46
|
+
this.log(`[${anonKey}] Found ${contacts.length} contacts in cache`);
|
|
49
47
|
const now = new Date().getTime();
|
|
50
48
|
const isValueStale = Boolean(!cacheItemState ||
|
|
51
49
|
(cacheItemState.state === cache_item_state_model_1.CacheItemStateType.CACHED &&
|
|
52
50
|
now > cacheItemState.updated + this.cacheRefreshIntervalMs));
|
|
53
51
|
if (getFreshValue && isValueStale) {
|
|
54
|
-
this.log(`[${
|
|
52
|
+
this.log(`[${anonKey}] cached value was stale, fetching fresh contacts`);
|
|
55
53
|
// we don't return the fresh value here because we don't want to wait on the result.
|
|
56
54
|
// We return the old value instead, the fresh value is returned the next time it is requested
|
|
57
55
|
this.getRefreshed(key, getFreshValue).catch((error) => {
|
|
58
|
-
this.logErr(`[${
|
|
56
|
+
this.logErr(`[${anonKey}] Unable to get fresh contacts`, error);
|
|
59
57
|
});
|
|
60
58
|
}
|
|
61
|
-
return
|
|
59
|
+
return contacts;
|
|
62
60
|
}
|
|
63
61
|
}
|
|
64
62
|
catch (e) {
|
|
65
|
-
this.logErr(`[${
|
|
63
|
+
this.logErr(`[${anonKey}] Unable to get cache".`, e);
|
|
66
64
|
}
|
|
67
65
|
if (!getFreshValue) {
|
|
68
|
-
this.log(`[${
|
|
66
|
+
this.log(`[${anonKey}] No getFreshValue function provided - returning empty array`);
|
|
69
67
|
return [];
|
|
70
68
|
}
|
|
71
|
-
this.log(`[${
|
|
69
|
+
this.log(`[${anonKey}] Found no match in cache. Getting fresh value.`);
|
|
72
70
|
return this.getRefreshed(key, getFreshValue);
|
|
73
71
|
});
|
|
74
72
|
}
|
|
75
|
-
set(key,
|
|
73
|
+
set(key, contacts) {
|
|
76
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
-
|
|
75
|
+
const anonKey = (0, anonymize_key_1.anonymizeKey)(key);
|
|
76
|
+
this.log(`[${anonKey}] Saving ${contacts.length} contacts to cache`);
|
|
78
77
|
try {
|
|
79
|
-
yield this.storage.set(key,
|
|
78
|
+
yield this.storage.set(key, contacts);
|
|
80
79
|
}
|
|
81
80
|
catch (e) {
|
|
82
|
-
this.logErr(`[${
|
|
81
|
+
this.logErr(`[${anonKey}] Unable to set cache`, e);
|
|
83
82
|
}
|
|
84
83
|
});
|
|
85
84
|
}
|
|
86
85
|
delete(key) {
|
|
87
86
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
-
|
|
87
|
+
const anonKey = (0, anonymize_key_1.anonymizeKey)(key);
|
|
88
|
+
this.log(`[${anonKey}] Removing contacts from cache`);
|
|
89
89
|
try {
|
|
90
90
|
yield this.storage.delete(key);
|
|
91
91
|
}
|
|
92
92
|
catch (e) {
|
|
93
|
-
this.logErr(`[${
|
|
93
|
+
this.logErr(`[${anonKey}] Unable to delete cache`, e);
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
}
|
|
97
97
|
getRefreshed(key, getFreshValue) {
|
|
98
98
|
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
|
|
99
|
+
const anonKey = (0, anonymize_key_1.anonymizeKey)(key);
|
|
100
|
+
this.log(`[${anonKey}] Setting cache state to FETCHING`);
|
|
100
101
|
yield this.storage.set(this.getCacheItemKey(key), {
|
|
101
102
|
state: cache_item_state_model_1.CacheItemStateType.FETCHING,
|
|
102
103
|
}, CACHE_STATE_SECONDS_TTL);
|
|
103
104
|
try {
|
|
104
105
|
const freshValue = yield getFreshValue(key);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
106
|
+
yield this.set(key, freshValue);
|
|
107
|
+
this.log(`[${anonKey}] Setting cache state to CACHED`);
|
|
108
|
+
yield this.storage.set(this.getCacheItemKey(key), {
|
|
109
|
+
state: cache_item_state_model_1.CacheItemStateType.CACHED,
|
|
110
|
+
updated: Date.now(),
|
|
111
|
+
});
|
|
108
112
|
return freshValue;
|
|
109
113
|
}
|
|
110
114
|
catch (error) {
|
|
111
|
-
this.log(`[${
|
|
115
|
+
this.log(`[${anonKey}] Error while refreshing value`, error);
|
|
116
|
+
yield this.storage.delete(this.getCacheItemKey(key));
|
|
112
117
|
throw error;
|
|
113
118
|
}
|
|
114
119
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-cache.js","sourceRoot":"","sources":["../../src/cache/storage-cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,6EAG0C;AAE1C,yDAAqD;AAErD,MAAM,UAAU,GAAG,SAAS,CAAC;AAC7B,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAC1C,MAAM,uBAAuB,GAAG,IAAI,CAAC,CAAC,aAAa;AAEnD,MAAa,YAAY;IAIvB,YAAY,cAA8B;QAFlC,2BAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAG5D,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAE9B,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"storage-cache.js","sourceRoot":"","sources":["../../src/cache/storage-cache.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -43,8 +43,9 @@ app.use((0, cors_1.default)({
|
|
|
43
43
|
}));
|
|
44
44
|
app.use(body_parser_1.default.json());
|
|
45
45
|
app.use(middlewares_1.extractHeaderMiddleware);
|
|
46
|
-
|
|
46
|
+
let cache = null;
|
|
47
47
|
function start(adapter, customRouters = []) {
|
|
48
|
+
cache = (0, get_contact_cache_1.getContactCache)();
|
|
48
49
|
const controller = new models_1.Controller(adapter, cache);
|
|
49
50
|
app.get("/contacts", (req, res, next) => controller.getContacts(req, res, next));
|
|
50
51
|
app.post("/contacts", (req, res, next) => controller.createContact(req, res, next));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAqC;AACrC,8DAAsC;AACtC,gDAAwB;AACxB,sDAA8B;AAE9B,+CAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ function getContactCache() {
|
|
|
10
10
|
return null;
|
|
11
11
|
}
|
|
12
12
|
if (REDIS_URL) {
|
|
13
|
-
console.log("[CACHE] Using
|
|
13
|
+
console.log("[CACHE] Using Redis cache");
|
|
14
14
|
return new cache_1.StorageCache(new storage_1.RedisStorageAdapter(REDIS_URL));
|
|
15
15
|
}
|
|
16
16
|
console.log("[CACHE] Using memory cache");
|