@felloh-org/lambda-wrapper 1.11.97 → 1.11.99
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.
|
@@ -19,6 +19,8 @@ var _paymentInitiationObject = _interopRequireDefault(require("../service/paymen
|
|
|
19
19
|
|
|
20
20
|
var _request = _interopRequireDefault(require("../service/request"));
|
|
21
21
|
|
|
22
|
+
var _secrets = _interopRequireDefault(require("../service/secrets"));
|
|
23
|
+
|
|
22
24
|
var _user = _interopRequireDefault(require("../service/user"));
|
|
23
25
|
|
|
24
26
|
var _warehouse = _interopRequireDefault(require("../service/warehouse"));
|
|
@@ -34,7 +36,8 @@ const DEFINITIONS = exports.DEFINITIONS = {
|
|
|
34
36
|
PAYMENT_INITIATION_OBJECT: 'PAYMENT_INITIATION_OBJECT',
|
|
35
37
|
REQUEST: 'REQUEST',
|
|
36
38
|
USER: 'USER',
|
|
37
|
-
WAREHOUSE: 'WAREHOUSE'
|
|
39
|
+
WAREHOUSE: 'WAREHOUSE',
|
|
40
|
+
SECRETS: 'SECRETS'
|
|
38
41
|
};
|
|
39
42
|
const Dependencies = exports.Dependencies = {
|
|
40
43
|
[DEFINITIONS.AUDIT_LOGGER]: _auditLogger.default,
|
|
@@ -45,7 +48,8 @@ const Dependencies = exports.Dependencies = {
|
|
|
45
48
|
[DEFINITIONS.REQUEST]: _request.default,
|
|
46
49
|
[DEFINITIONS.WAREHOUSE]: _warehouse.default,
|
|
47
50
|
[DEFINITIONS.AUTHENTICATION]: _authentication.default,
|
|
48
|
-
[DEFINITIONS.USER]: _user.default
|
|
51
|
+
[DEFINITIONS.USER]: _user.default,
|
|
52
|
+
[DEFINITIONS.SECRETS]: _secrets.default
|
|
49
53
|
};
|
|
50
54
|
|
|
51
55
|
var _default = exports.default = {
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _awsSdk =
|
|
8
|
+
var _awsSdk = require("aws-sdk");
|
|
9
9
|
|
|
10
10
|
var _dependencies = require("../config/dependencies");
|
|
11
11
|
|
|
@@ -13,14 +13,14 @@ var _dependencyAware = _interopRequireDefault(require("../dependency-injection/d
|
|
|
13
13
|
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
|
|
16
|
-
const Eventbridge = new _awsSdk.
|
|
16
|
+
const Eventbridge = new _awsSdk.EventBridge({
|
|
17
17
|
region: process.env.REGION
|
|
18
18
|
});
|
|
19
19
|
/**
|
|
20
20
|
* Event Bridge Service
|
|
21
21
|
*/
|
|
22
22
|
|
|
23
|
-
class
|
|
23
|
+
class EventBridgeService extends _dependencyAware.default {
|
|
24
24
|
async put(eventModel) {
|
|
25
25
|
const Logger = this.getContainer().get(_dependencies.DEFINITIONS.LOGGER);
|
|
26
26
|
|
|
@@ -38,4 +38,4 @@ class EventBridge extends _dependencyAware.default {
|
|
|
38
38
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
exports.default =
|
|
41
|
+
exports.default = EventBridgeService;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _clientSecretsManager = require("@aws-sdk/client-secrets-manager");
|
|
9
|
+
|
|
10
|
+
var _dependencyAware = _interopRequireDefault(require("../dependency-injection/dependency-aware"));
|
|
11
|
+
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
14
|
+
const client = new _clientSecretsManager.SecretsManagerClient({
|
|
15
|
+
region: process.env.REGION
|
|
16
|
+
});
|
|
17
|
+
const cache = {};
|
|
18
|
+
/**
|
|
19
|
+
* Event Bridge Service
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
class Secrets extends _dependencyAware.default {
|
|
23
|
+
constructor() {
|
|
24
|
+
super();
|
|
25
|
+
this.initalised = false;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async get(arn) {
|
|
29
|
+
this.initalised = true;
|
|
30
|
+
|
|
31
|
+
if (cache[arn]) {
|
|
32
|
+
return cache[arn];
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const response = await client.send(new _clientSecretsManager.GetSecretValueCommand({
|
|
36
|
+
SecretId: arn
|
|
37
|
+
}));
|
|
38
|
+
cache[arn] = JSON.parse(response.SecretString);
|
|
39
|
+
return cache[arn];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
exports.default = Secrets;
|
|
@@ -9,6 +9,8 @@ var _typeorm = require("typeorm");
|
|
|
9
9
|
|
|
10
10
|
var _typeormAuroraDataApiDriver = _interopRequireDefault(require("typeorm-aurora-data-api-driver"));
|
|
11
11
|
|
|
12
|
+
var _dependencies = require("../config/dependencies");
|
|
13
|
+
|
|
12
14
|
var _dependencyAware = _interopRequireDefault(require("../dependency-injection/dependency-aware"));
|
|
13
15
|
|
|
14
16
|
var _entity = _interopRequireDefault(require("../entity"));
|
|
@@ -24,8 +26,8 @@ class Warehouse extends _dependencyAware.default {
|
|
|
24
26
|
/**
|
|
25
27
|
* Warehouse Constructor
|
|
26
28
|
*/
|
|
27
|
-
constructor() {
|
|
28
|
-
super();
|
|
29
|
+
constructor(di) {
|
|
30
|
+
super(di);
|
|
29
31
|
this.connection = null;
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
@@ -47,22 +49,33 @@ class Warehouse extends _dependencyAware.default {
|
|
|
47
49
|
const connectionParams = {
|
|
48
50
|
entities: _entity.default,
|
|
49
51
|
schema: process.env.WAREHOUSE_SCHEMA,
|
|
50
|
-
database: database || process.env.WAREHOUSE_DATABASE,
|
|
51
52
|
logging: process.env.DB_LOGGING !== 'undefined' && process.env.DB_LOGGING === 'true'
|
|
52
53
|
};
|
|
53
54
|
|
|
54
|
-
if (process.env.WAREHOUSE_TYPE === 'postgres') {
|
|
55
|
+
if (process.env.WAREHOUSE_TYPE === 'postgres-ssm') {
|
|
56
|
+
const secretsManager = this.di.get(_dependencies.DEFINITIONS.SECRETS);
|
|
57
|
+
const credentials = await secretsManager.get(process.env.DB_CREDS_ARN);
|
|
58
|
+
connectionParams.type = credentials.engine;
|
|
59
|
+
connectionParams.host = credentials.host;
|
|
60
|
+
connectionParams.port = credentials.port;
|
|
61
|
+
connectionParams.username = credentials.username;
|
|
62
|
+
connectionParams.password = credentials.password;
|
|
63
|
+
connectionParams.database = database || credentials.dbname;
|
|
64
|
+
connectionParams.ssl = true;
|
|
65
|
+
} else if (process.env.WAREHOUSE_TYPE === 'postgres') {
|
|
55
66
|
connectionParams.type = 'postgres';
|
|
56
67
|
connectionParams.host = process.env.WAREHOUSE_HOST;
|
|
57
68
|
connectionParams.port = 5432;
|
|
58
69
|
connectionParams.username = process.env.WAREHOUSE_USERNAME;
|
|
59
70
|
connectionParams.password = process.env.WAREHOUSE_PASSWORD;
|
|
71
|
+
connectionParams.database = database || process.env.WAREHOUSE_DATABASE;
|
|
60
72
|
connectionParams.ssl = true;
|
|
61
73
|
} else {
|
|
62
74
|
connectionParams.type = 'aurora-data-api-pg';
|
|
63
75
|
connectionParams.secretArn = process.env.WAREHOUSE_SECRET_ARN;
|
|
64
76
|
connectionParams.resourceArn = process.env.WAREHOUSE_ARN;
|
|
65
77
|
connectionParams.region = process.env.REGION;
|
|
78
|
+
connectionParams.database = database || process.env.WAREHOUSE_DATABASE;
|
|
66
79
|
}
|
|
67
80
|
|
|
68
81
|
this.connection = await (0, _typeorm.createConnection)(connectionParams);
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@felloh-org/lambda-wrapper",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.99",
|
|
4
4
|
"description": "Lambda wrapper for all Felloh Serverless Projects",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
7
|
+
"node": ">=16"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
10
|
"build": "./node_modules/.bin/babel src --out-dir dist --copy-files --ignore src/migration",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"aws-sdk": ">=2.831.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
+
"@aws-sdk/client-secrets-manager": "^3.574.0",
|
|
58
59
|
"@baselime/lambda-logger": "^0.2.2",
|
|
59
60
|
"alai": "^1.0.3",
|
|
60
61
|
"async": "^3.2.3",
|
|
@@ -71,7 +72,8 @@
|
|
|
71
72
|
"uuid": "^8.3.2",
|
|
72
73
|
"validate.js": "^0.13.1",
|
|
73
74
|
"winston": "^3.7.2",
|
|
74
|
-
"xml2js": "^0.4.23"
|
|
75
|
+
"xml2js": "^0.4.23",
|
|
76
|
+
"yamlparser": "^0.0.2"
|
|
75
77
|
},
|
|
76
78
|
"publishConfig": {
|
|
77
79
|
"access": "public"
|