@valentine-efagene/qshelter-common 1.1.4 → 1.1.5
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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/config/config.service.d.ts +61 -0
- package/dist/src/config/config.service.js +137 -0
- package/dist/src/config/config.service.js.map +1 -0
- package/dist/src/config/index.d.ts +1 -0
- package/dist/src/config/index.js +18 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -29,4 +29,5 @@ __exportStar(require("./qr-code/qr-code.service"), exports);
|
|
|
29
29
|
__exportStar(require("./qr-code/qr-code.module"), exports);
|
|
30
30
|
__exportStar(require("./qr-code/qr-code.type"), exports);
|
|
31
31
|
__exportStar(require("./qr-code/qr-code.dto"), exports);
|
|
32
|
+
__exportStar(require("./src/config"), exports);
|
|
32
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAG7B,sDAAoC;AAGpC,6CAA2B;AAG3B,+CAA6B;AAC7B,4CAA0B;AAC1B,8CAA4B;AAG5B,0CAAwB;AACxB,0CAAwB;AACxB,kDAAgC;AAGhC,kEAAgD;AAChD,iEAA+C;AAC/C,4DAA0C;AAC1C,2DAAyC;AACzC,yDAAuC;AACvC,wDAAsC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,+CAA6B;AAG7B,sDAAoC;AAGpC,6CAA2B;AAG3B,+CAA6B;AAC7B,4CAA0B;AAC1B,8CAA4B;AAG5B,0CAAwB;AACxB,0CAAwB;AACxB,kDAAgC;AAGhC,kEAAgD;AAChD,iEAA+C;AAC/C,4DAA0C;AAC1C,2DAAyC;AACzC,yDAAuC;AACvC,wDAAsC;AAGtC,+CAA6B"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface InfrastructureConfig {
|
|
2
|
+
httpApiId: string;
|
|
3
|
+
vpcId: string;
|
|
4
|
+
dbSecurityGroupId: string;
|
|
5
|
+
privateSubnetIds: string[];
|
|
6
|
+
dbHost: string;
|
|
7
|
+
dbPort: number;
|
|
8
|
+
databaseSecretArn: string;
|
|
9
|
+
redisHost: string;
|
|
10
|
+
redisPort: number;
|
|
11
|
+
rolePoliciesTableName: string;
|
|
12
|
+
s3BucketName: string;
|
|
13
|
+
eventBridgeBusName: string;
|
|
14
|
+
}
|
|
15
|
+
export interface JwtSecrets {
|
|
16
|
+
secret: string;
|
|
17
|
+
}
|
|
18
|
+
export interface EncryptionSecrets {
|
|
19
|
+
password: string;
|
|
20
|
+
salt: string;
|
|
21
|
+
}
|
|
22
|
+
export interface OAuthSecrets {
|
|
23
|
+
google_client_id: string;
|
|
24
|
+
google_client_secret: string;
|
|
25
|
+
google_callback_url: string;
|
|
26
|
+
}
|
|
27
|
+
export interface PaystackSecrets {
|
|
28
|
+
secret_key: string;
|
|
29
|
+
public_key: string;
|
|
30
|
+
base_url: string;
|
|
31
|
+
}
|
|
32
|
+
export interface EmailSecrets {
|
|
33
|
+
office365_client_id: string;
|
|
34
|
+
office365_client_secret: string;
|
|
35
|
+
office365_tenant_id: string;
|
|
36
|
+
office365_sender_email: string;
|
|
37
|
+
}
|
|
38
|
+
export declare class ConfigService {
|
|
39
|
+
private static instance;
|
|
40
|
+
private ssmClient;
|
|
41
|
+
private secretsClient;
|
|
42
|
+
private cache;
|
|
43
|
+
private cacheTimestamps;
|
|
44
|
+
private readonly CACHE_TTL;
|
|
45
|
+
private constructor();
|
|
46
|
+
static getInstance(region?: string): ConfigService;
|
|
47
|
+
getInfrastructureConfig(stage?: string): Promise<InfrastructureConfig>;
|
|
48
|
+
getParameter(name: string): Promise<string>;
|
|
49
|
+
getJwtSecret(stage?: string): Promise<JwtSecrets>;
|
|
50
|
+
getRefreshTokenSecret(stage?: string): Promise<JwtSecrets>;
|
|
51
|
+
getEncryptionSecrets(stage?: string): Promise<EncryptionSecrets>;
|
|
52
|
+
getOAuthSecrets(stage?: string): Promise<OAuthSecrets>;
|
|
53
|
+
getPaystackSecrets(stage?: string): Promise<PaystackSecrets>;
|
|
54
|
+
getEmailSecrets(stage?: string): Promise<EmailSecrets>;
|
|
55
|
+
private getSecret;
|
|
56
|
+
private getParamValue;
|
|
57
|
+
private getFromCache;
|
|
58
|
+
private setCache;
|
|
59
|
+
clearCache(): void;
|
|
60
|
+
}
|
|
61
|
+
export declare const configService: ConfigService;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.configService = exports.ConfigService = void 0;
|
|
4
|
+
const client_ssm_1 = require("@aws-sdk/client-ssm");
|
|
5
|
+
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
6
|
+
class ConfigService {
|
|
7
|
+
constructor(region = 'us-east-1') {
|
|
8
|
+
this.cache = new Map();
|
|
9
|
+
this.cacheTimestamps = new Map();
|
|
10
|
+
this.CACHE_TTL = 5 * 60 * 1000;
|
|
11
|
+
this.ssmClient = new client_ssm_1.SSMClient({ region });
|
|
12
|
+
this.secretsClient = new client_secrets_manager_1.SecretsManagerClient({ region });
|
|
13
|
+
}
|
|
14
|
+
static getInstance(region) {
|
|
15
|
+
if (!ConfigService.instance) {
|
|
16
|
+
ConfigService.instance = new ConfigService(region);
|
|
17
|
+
}
|
|
18
|
+
return ConfigService.instance;
|
|
19
|
+
}
|
|
20
|
+
async getInfrastructureConfig(stage = process.env.NODE_ENV || 'dev') {
|
|
21
|
+
const cacheKey = `infra-${stage}`;
|
|
22
|
+
const cached = this.getFromCache(cacheKey);
|
|
23
|
+
if (cached)
|
|
24
|
+
return cached;
|
|
25
|
+
const pathPrefix = `/qshelter/${stage}/`;
|
|
26
|
+
try {
|
|
27
|
+
const command = new client_ssm_1.GetParametersByPathCommand({
|
|
28
|
+
Path: pathPrefix,
|
|
29
|
+
Recursive: true,
|
|
30
|
+
WithDecryption: false,
|
|
31
|
+
});
|
|
32
|
+
const response = await this.ssmClient.send(command);
|
|
33
|
+
const params = response.Parameters || [];
|
|
34
|
+
const config = {
|
|
35
|
+
httpApiId: this.getParamValue(params, `${pathPrefix}http-api-id`),
|
|
36
|
+
vpcId: this.getParamValue(params, `${pathPrefix}vpc-id`),
|
|
37
|
+
dbSecurityGroupId: this.getParamValue(params, `${pathPrefix}db-security-group-id`),
|
|
38
|
+
privateSubnetIds: this.getParamValue(params, `${pathPrefix}private-subnet-ids`).split(','),
|
|
39
|
+
dbHost: this.getParamValue(params, `${pathPrefix}db-host`),
|
|
40
|
+
dbPort: parseInt(this.getParamValue(params, `${pathPrefix}db-port`), 10),
|
|
41
|
+
databaseSecretArn: this.getParamValue(params, `${pathPrefix}database-secret-arn`),
|
|
42
|
+
redisHost: this.getParamValue(params, `${pathPrefix}redis-host`),
|
|
43
|
+
redisPort: parseInt(this.getParamValue(params, `${pathPrefix}redis-port`), 10),
|
|
44
|
+
rolePoliciesTableName: this.getParamValue(params, `${pathPrefix}role-policies-table-name`),
|
|
45
|
+
s3BucketName: this.getParamValue(params, `${pathPrefix}s3-bucket-name`),
|
|
46
|
+
eventBridgeBusName: this.getParamValue(params, `${pathPrefix}eventbridge-bus-name`),
|
|
47
|
+
};
|
|
48
|
+
this.setCache(cacheKey, config);
|
|
49
|
+
return config;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error('Error fetching infrastructure config from SSM:', error);
|
|
53
|
+
throw new Error(`Failed to load infrastructure configuration: ${error.message}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async getParameter(name) {
|
|
57
|
+
const cached = this.getFromCache(name);
|
|
58
|
+
if (cached)
|
|
59
|
+
return cached;
|
|
60
|
+
try {
|
|
61
|
+
const command = new client_ssm_1.GetParameterCommand({
|
|
62
|
+
Name: name,
|
|
63
|
+
WithDecryption: false,
|
|
64
|
+
});
|
|
65
|
+
const response = await this.ssmClient.send(command);
|
|
66
|
+
const value = response.Parameter?.Value || '';
|
|
67
|
+
this.setCache(name, value);
|
|
68
|
+
return value;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error(`Error fetching parameter ${name}:`, error);
|
|
72
|
+
throw new Error(`Failed to load parameter ${name}: ${error.message}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async getJwtSecret(stage = process.env.NODE_ENV || 'dev') {
|
|
76
|
+
return this.getSecret(`qshelter/${stage}/jwt-secret`);
|
|
77
|
+
}
|
|
78
|
+
async getRefreshTokenSecret(stage = process.env.NODE_ENV || 'dev') {
|
|
79
|
+
return this.getSecret(`qshelter/${stage}/refresh-token-secret`);
|
|
80
|
+
}
|
|
81
|
+
async getEncryptionSecrets(stage = process.env.NODE_ENV || 'dev') {
|
|
82
|
+
return this.getSecret(`qshelter/${stage}/encryption`);
|
|
83
|
+
}
|
|
84
|
+
async getOAuthSecrets(stage = process.env.NODE_ENV || 'dev') {
|
|
85
|
+
return this.getSecret(`qshelter/${stage}/oauth`);
|
|
86
|
+
}
|
|
87
|
+
async getPaystackSecrets(stage = process.env.NODE_ENV || 'dev') {
|
|
88
|
+
return this.getSecret(`qshelter/${stage}/paystack`);
|
|
89
|
+
}
|
|
90
|
+
async getEmailSecrets(stage = process.env.NODE_ENV || 'dev') {
|
|
91
|
+
return this.getSecret(`qshelter/${stage}/email`);
|
|
92
|
+
}
|
|
93
|
+
async getSecret(secretName) {
|
|
94
|
+
const cached = this.getFromCache(secretName);
|
|
95
|
+
if (cached)
|
|
96
|
+
return cached;
|
|
97
|
+
try {
|
|
98
|
+
const command = new client_secrets_manager_1.GetSecretValueCommand({
|
|
99
|
+
SecretId: secretName,
|
|
100
|
+
});
|
|
101
|
+
const response = await this.secretsClient.send(command);
|
|
102
|
+
const secret = JSON.parse(response.SecretString || '{}');
|
|
103
|
+
this.setCache(secretName, secret);
|
|
104
|
+
return secret;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
console.error(`Error fetching secret ${secretName}:`, error);
|
|
108
|
+
throw new Error(`Failed to load secret ${secretName}: ${error.message}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
getParamValue(params, name) {
|
|
112
|
+
const param = params.find(p => p.Name === name);
|
|
113
|
+
if (!param) {
|
|
114
|
+
throw new Error(`Parameter ${name} not found in SSM`);
|
|
115
|
+
}
|
|
116
|
+
return param.Value || '';
|
|
117
|
+
}
|
|
118
|
+
getFromCache(key) {
|
|
119
|
+
const now = Date.now();
|
|
120
|
+
const cachedTime = this.cacheTimestamps.get(key);
|
|
121
|
+
if (cachedTime && (now - cachedTime) < this.CACHE_TTL && this.cache.has(key)) {
|
|
122
|
+
return this.cache.get(key);
|
|
123
|
+
}
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
setCache(key, value) {
|
|
127
|
+
this.cache.set(key, value);
|
|
128
|
+
this.cacheTimestamps.set(key, Date.now());
|
|
129
|
+
}
|
|
130
|
+
clearCache() {
|
|
131
|
+
this.cache.clear();
|
|
132
|
+
this.cacheTimestamps.clear();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.ConfigService = ConfigService;
|
|
136
|
+
exports.configService = ConfigService.getInstance();
|
|
137
|
+
//# sourceMappingURL=config.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../../src/config/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './config.service';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./config.service"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC"}
|