@atlantjs/arch 4.1.12 → 4.1.14
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/@tool-box/tests/builders/failures/failure.builder.js +1 -1
- package/@tool-box/tests/builders/user/email.builder.js +2 -2
- package/@tool-box/tests/builders/user/person-name.builder.js +2 -2
- package/@tool-box/tests/builders/user/username.builder.js +2 -2
- package/@tool-box/tests/faker/faker.d.ts +17 -0
- package/@tool-box/tests/faker/faker.js +124 -0
- package/index.d.ts +0 -1
- package/index.js +1 -3
- package/package.json +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/@tool-box/utils/secret-manager/cache.d.ts +0 -8
- package/@tool-box/utils/secret-manager/cache.js +0 -29
- package/@tool-box/utils/secret-manager/clients/aws-client.d.ts +0 -10
- package/@tool-box/utils/secret-manager/clients/aws-client.js +0 -52
- package/@tool-box/utils/secret-manager/clients/client.d.ts +0 -4
- package/@tool-box/utils/secret-manager/clients/client.js +0 -2
- package/@tool-box/utils/secret-manager/clients/null-client.d.ts +0 -5
- package/@tool-box/utils/secret-manager/clients/null-client.js +0 -12
- package/@tool-box/utils/secret-manager/secret-manager-options.d.ts +0 -3
- package/@tool-box/utils/secret-manager/secret-manager-options.js +0 -2
- package/@tool-box/utils/secret-manager/secret-manager.d.ts +0 -11
- package/@tool-box/utils/secret-manager/secret-manager.js +0 -34
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Cache = void 0;
|
|
7
|
-
const node_cache_1 = __importDefault(require("node-cache"));
|
|
8
|
-
const guardian_1 = require("./../type-guard/guardian");
|
|
9
|
-
class Cache {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.cache = new node_cache_1.default({
|
|
12
|
-
useClones: false,
|
|
13
|
-
deleteOnExpire: true,
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
static getInstance() {
|
|
17
|
-
if (guardian_1.Guardian.isUndefined(Cache.instance)) {
|
|
18
|
-
Cache.instance = new Cache();
|
|
19
|
-
}
|
|
20
|
-
return Cache.instance;
|
|
21
|
-
}
|
|
22
|
-
get(key) {
|
|
23
|
-
return this.cache.get(key);
|
|
24
|
-
}
|
|
25
|
-
set(key, value, cacheTTLInSeconds) {
|
|
26
|
-
this.cache.set(key, value, cacheTTLInSeconds);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.Cache = Cache;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import AWS from "aws-sdk";
|
|
2
|
-
import { Client } from "./client";
|
|
3
|
-
export declare class AWSClient implements Client {
|
|
4
|
-
private readonly secretsManager;
|
|
5
|
-
constructor(secretsManager?: AWS.SecretsManager);
|
|
6
|
-
getSecret(secretName: string): Promise<string | undefined>;
|
|
7
|
-
deserializeSecretValue(secretValue: string, key: string): Promise<string | undefined>;
|
|
8
|
-
private parseValueToString;
|
|
9
|
-
private isPrimitiveValue;
|
|
10
|
-
}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AWSClient = void 0;
|
|
7
|
-
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
8
|
-
const debug_1 = __importDefault(require("debug"));
|
|
9
|
-
const d = (0, debug_1.default)("@atlantjs/arch");
|
|
10
|
-
class AWSClient {
|
|
11
|
-
constructor(secretsManager) {
|
|
12
|
-
this.secretsManager = secretsManager ?? new aws_sdk_1.default.SecretsManager();
|
|
13
|
-
}
|
|
14
|
-
async getSecret(secretName) {
|
|
15
|
-
try {
|
|
16
|
-
const response = await this.secretsManager
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
18
|
-
.getSecretValue({ SecretId: secretName })
|
|
19
|
-
.promise();
|
|
20
|
-
return response.SecretString;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
d("Error getting secret", error, secretName);
|
|
24
|
-
return undefined;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
async deserializeSecretValue(secretValue, key) {
|
|
28
|
-
try {
|
|
29
|
-
const json = JSON.parse(secretValue);
|
|
30
|
-
const value = json[key];
|
|
31
|
-
return this.parseValueToString(value);
|
|
32
|
-
}
|
|
33
|
-
catch (error) {
|
|
34
|
-
d("Error deserializing secret", error, key);
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
parseValueToString(value) {
|
|
39
|
-
if (typeof value === "string") {
|
|
40
|
-
return value;
|
|
41
|
-
}
|
|
42
|
-
if (this.isPrimitiveValue(value)) {
|
|
43
|
-
return JSON.stringify(value);
|
|
44
|
-
}
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
isPrimitiveValue(value) {
|
|
48
|
-
const primitives = ["string", "number", "boolean"];
|
|
49
|
-
return primitives.includes(typeof value);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.AWSClient = AWSClient;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.NullClient = void 0;
|
|
4
|
-
class NullClient {
|
|
5
|
-
async getSecret(_secretName) {
|
|
6
|
-
return undefined;
|
|
7
|
-
}
|
|
8
|
-
async deserializeSecretValue(_secretValue, _key) {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
exports.NullClient = NullClient;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Client } from "./clients/client";
|
|
2
|
-
import { SecretManagerOptions } from "./secret-manager-options";
|
|
3
|
-
export declare class SecretManager {
|
|
4
|
-
private static client;
|
|
5
|
-
private readonly cache;
|
|
6
|
-
private readonly expirationTimeInSeconds;
|
|
7
|
-
constructor(options?: SecretManagerOptions);
|
|
8
|
-
static useClient(client: Client): void;
|
|
9
|
-
get(secretName: string, key: string): Promise<string | undefined>;
|
|
10
|
-
getOrDefault(secretName: string, key: string, defaultFn: () => Promise<string> | string): Promise<string>;
|
|
11
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SecretManager = void 0;
|
|
4
|
-
const cache_1 = require("./cache");
|
|
5
|
-
const null_client_1 = require("./clients/null-client");
|
|
6
|
-
const guardian_1 = require("../type-guard/guardian");
|
|
7
|
-
class SecretManager {
|
|
8
|
-
constructor(options = {}) {
|
|
9
|
-
this.cache = cache_1.Cache.getInstance();
|
|
10
|
-
this.expirationTimeInSeconds = 3600;
|
|
11
|
-
if (guardian_1.Guardian.isNotUndefined(options.expirationTimeInSeconds)) {
|
|
12
|
-
this.expirationTimeInSeconds = options.expirationTimeInSeconds;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
static useClient(client) {
|
|
16
|
-
SecretManager.client = client;
|
|
17
|
-
}
|
|
18
|
-
async get(secretName, key) {
|
|
19
|
-
let secret = this.cache.get(secretName);
|
|
20
|
-
if (guardian_1.Guardian.isUndefined(secret)) {
|
|
21
|
-
secret = await SecretManager.client.getSecret(secretName);
|
|
22
|
-
if (guardian_1.Guardian.isUndefined(secret)) {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
25
|
-
this.cache.set(secretName, secret, this.expirationTimeInSeconds);
|
|
26
|
-
}
|
|
27
|
-
return SecretManager.client.deserializeSecretValue(secret, key);
|
|
28
|
-
}
|
|
29
|
-
async getOrDefault(secretName, key, defaultFn) {
|
|
30
|
-
return (await this.get(secretName, key)) ?? (await defaultFn());
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.SecretManager = SecretManager;
|
|
34
|
-
SecretManager.client = new null_client_1.NullClient();
|