@trunkrs/common 4.4.7 → 4.4.9
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/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { SSMClient } from '@aws-sdk/client-ssm';
|
|
2
2
|
import Cache, { CacheItem } from './Cache';
|
|
3
|
+
interface SSMCacheItem extends CacheItem {
|
|
4
|
+
unixExpiration: number;
|
|
5
|
+
}
|
|
3
6
|
export default class SSMCache extends Cache {
|
|
4
7
|
private readonly ssmClient;
|
|
5
8
|
private readonly storeName;
|
|
6
9
|
private readonly cacheDomain;
|
|
7
10
|
constructor(stalenessTimeout: number, ssmClient: SSMClient, storeName: string, cacheDomain?: string);
|
|
8
11
|
private getFullParameterName;
|
|
9
|
-
protected createItem<TValue>(rawValue: TValue):
|
|
12
|
+
protected createItem<TValue>(rawValue: TValue): SSMCacheItem;
|
|
10
13
|
hasKey(key: string): Promise<boolean>;
|
|
11
14
|
add<TValue>(key: string, value: TValue): Promise<void>;
|
|
12
15
|
get<TValue>(key: string): Promise<TValue | null>;
|
|
@@ -14,3 +17,4 @@ export default class SSMCache extends Cache {
|
|
|
14
17
|
remove(key: string): Promise<void>;
|
|
15
18
|
clear(): Promise<void>;
|
|
16
19
|
}
|
|
20
|
+
export {};
|
|
@@ -17,9 +17,11 @@ class SSMCache extends Cache_1.default {
|
|
|
17
17
|
return `/${this.cacheDomain}/${this.storeName}/${key}`;
|
|
18
18
|
}
|
|
19
19
|
createItem(rawValue) {
|
|
20
|
+
const expiration = (0, addMilliseconds_1.default)(new Date(), this.stalenessTimeout);
|
|
20
21
|
return {
|
|
21
|
-
expiration
|
|
22
|
+
expiration,
|
|
22
23
|
value: rawValue,
|
|
24
|
+
unixExpiration: expiration.getTime(),
|
|
23
25
|
};
|
|
24
26
|
}
|
|
25
27
|
async hasKey(key) {
|
|
@@ -41,8 +43,9 @@ class SSMCache extends Cache_1.default {
|
|
|
41
43
|
Name: this.getFullParameterName(key),
|
|
42
44
|
Type: 'SecureString',
|
|
43
45
|
Policies: JSON.stringify(expirationPolicy),
|
|
44
|
-
Value: JSON.stringify(secret
|
|
46
|
+
Value: JSON.stringify(secret),
|
|
45
47
|
Tier: 'Advanced',
|
|
48
|
+
Overwrite: true,
|
|
46
49
|
});
|
|
47
50
|
await this.ssmClient.send(command);
|
|
48
51
|
}
|
|
@@ -57,7 +60,17 @@ class SSMCache extends Cache_1.default {
|
|
|
57
60
|
return null;
|
|
58
61
|
}
|
|
59
62
|
const { Value: secretValue } = parameter.Parameter;
|
|
60
|
-
|
|
63
|
+
const value = secretValue
|
|
64
|
+
? JSON.parse(secretValue)
|
|
65
|
+
: null;
|
|
66
|
+
if (value) {
|
|
67
|
+
const isItemExpired = new Date().getTime() >= (value === null || value === void 0 ? void 0 : value.unixExpiration);
|
|
68
|
+
if (isItemExpired) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
return value.value;
|
|
72
|
+
}
|
|
73
|
+
return null;
|
|
61
74
|
}
|
|
62
75
|
catch (e) {
|
|
63
76
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SSMCache.js","sourceRoot":"","sources":["../../../utils/caching/SSMCache.ts"],"names":[],"mappings":";;;;;AAAA,+EAAsD;AACtD,oDAO4B;AAC5B,oDAA0C;
|
|
1
|
+
{"version":3,"file":"SSMCache.js","sourceRoot":"","sources":["../../../utils/caching/SSMCache.ts"],"names":[],"mappings":"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"}
|