@things-factory/integration-base 4.3.381 → 4.3.424

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.
@@ -1,18 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
3
4
  const client_sqs_1 = require("@aws-sdk/client-sqs");
4
5
  const sqs_const_1 = require("./sqs-const");
5
6
  if (sqs_const_1.SQS) {
6
- const client = new client_sqs_1.SQSClient({
7
- region: sqs_const_1.SQS.region,
8
- credentials: {
9
- accessKeyId: sqs_const_1.SQS.accessKeyId,
10
- secretAccessKey: sqs_const_1.SQS.secretAccessKey
7
+ const getAWSSecret = async () => {
8
+ const secretManager = new client_secrets_manager_1.SecretsManagerClient({ region: sqs_const_1.AWSCREDENTIAL.region });
9
+ const secretManagerParams = {
10
+ SecretId: sqs_const_1.AWSCREDENTIAL.secretName,
11
+ VersionStage: 'AWSCURRENT'
12
+ };
13
+ const command = new client_secrets_manager_1.GetSecretValueCommand(secretManagerParams);
14
+ try {
15
+ const data = await secretManager.send(command);
16
+ const dataSecretString = data.SecretString;
17
+ if (dataSecretString) {
18
+ const secretString = JSON.parse(dataSecretString);
19
+ return { accessKeyId: secretString.accessKeyId, secretAccessKey: secretString.secretAccessKey };
20
+ }
21
+ else {
22
+ return null;
23
+ }
24
+ }
25
+ catch (error) {
26
+ console.log(`[SFTP Get Secret]: ${error}`);
11
27
  }
12
- });
28
+ };
13
29
  /* send message to sqs */
14
30
  sqs_const_1.SQS.sendMessage = async ({ event }) => {
15
31
  const { body, deduplicationId, groupId, queueName } = event;
32
+ const { accessKeyId, secretAccessKey } = await getAWSSecret();
33
+ const client = new client_sqs_1.SQSClient({
34
+ region: sqs_const_1.AWSCREDENTIAL.region,
35
+ credentials: {
36
+ accessKeyId: accessKeyId,
37
+ secretAccessKey: secretAccessKey
38
+ }
39
+ });
16
40
  let messageBody = Object.assign(Object.assign({}, body), { configuration: sqs_const_1.SQS.configuration });
17
41
  // Set the parameters
18
42
  const params = {
@@ -1 +1 @@
1
- {"version":3,"file":"sqs-client.js","sourceRoot":"","sources":["../server/sqs-client.ts"],"names":[],"mappings":";;AAAA,oDAAmE;AAEnE,2CAAiC;AAEjC,IAAI,eAAG,EAAE;IACP,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;QAC3B,MAAM,EAAE,eAAG,CAAC,MAAM;QAClB,WAAW,EAAE;YACX,WAAW,EAAE,eAAG,CAAC,WAAW;YAC5B,eAAe,EAAE,eAAG,CAAC,eAAe;SACrC;KACF,CAAC,CAAA;IAEF,yBAAyB;IACzB,eAAG,CAAC,WAAW,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;QAE3D,IAAI,WAAW,mCACV,IAAI,KACP,aAAa,EAAE,eAAG,CAAC,aAAa,GACjC,CAAA;QACD,qBAAqB;QACrB,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACxC,sBAAsB,EAAE,eAAe;YACvC,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,yDAAyD,SAAS,EAAE;SAC/E,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,+BAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAEhE,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;CACF"}
1
+ {"version":3,"file":"sqs-client.js","sourceRoot":"","sources":["../server/sqs-client.ts"],"names":[],"mappings":";;AAAA,4EAA6F;AAC7F,oDAAmE;AAEnE,2CAAgD;AAEhD,IAAI,eAAG,EAAE;IACP,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,MAAM,aAAa,GAAG,IAAI,6CAAoB,CAAC,EAAE,MAAM,EAAE,yBAAa,CAAC,MAAM,EAAE,CAAC,CAAA;QAChF,MAAM,mBAAmB,GAAG;YAC1B,QAAQ,EAAE,yBAAa,CAAC,UAAU;YAClC,YAAY,EAAE,YAAY;SAC3B,CAAA;QACD,MAAM,OAAO,GAAG,IAAI,8CAAqB,CAAC,mBAAmB,CAAC,CAAA;QAC9D,IAAI;YACF,MAAM,IAAI,GAAQ,MAAM,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YACnD,MAAM,gBAAgB,GAAQ,IAAI,CAAC,YAAY,CAAA;YAC/C,IAAI,gBAAgB,EAAE;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAEjD,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,eAAe,EAAE,YAAY,CAAC,eAAe,EAAE,CAAA;aAChG;iBAAM;gBACL,OAAO,IAAI,CAAA;aACZ;SACF;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAA;SAC3C;IACH,CAAC,CAAA;IAED,yBAAyB;IACzB,eAAG,CAAC,WAAW,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;QAC3D,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,MAAM,YAAY,EAAE,CAAA;QAE7D,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,yBAAa,CAAC,MAAM;YAC5B,WAAW,EAAE;gBACX,WAAW,EAAE,WAAW;gBACxB,eAAe,EAAE,eAAe;aACjC;SACF,CAAC,CAAA;QAEF,IAAI,WAAW,mCACV,IAAI,KACP,aAAa,EAAE,eAAG,CAAC,aAAa,GACjC,CAAA;QACD,qBAAqB;QACrB,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;YACxC,sBAAsB,EAAE,eAAe;YACvC,cAAc,EAAE,OAAO;YACvB,QAAQ,EAAE,yDAAyD,SAAS,EAAE;SAC/E,CAAA;QAED,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,+BAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;QAC9D,OAAO,CAAC,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAEhE,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;CACF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SQS = void 0;
3
+ exports.AWSCREDENTIAL = exports.SQS = void 0;
4
4
  const env_1 = require("@things-factory/env");
5
5
  exports.SQS = env_1.config.get('awsSqs');
6
+ exports.AWSCREDENTIAL = env_1.config.get('awsCredential');
6
7
  //# sourceMappingURL=sqs-const.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sqs-const.js","sourceRoot":"","sources":["../server/sqs-const.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAEjC,QAAA,GAAG,GAAQ,YAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA"}
1
+ {"version":3,"file":"sqs-const.js","sourceRoot":"","sources":["../server/sqs-const.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAEjC,QAAA,GAAG,GAAQ,YAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,QAAA,aAAa,GAAQ,YAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/integration-base",
3
- "version": "4.3.381",
3
+ "version": "4.3.424",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "client/index.js",
6
6
  "things-factory": true,
@@ -25,10 +25,12 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@apollo/client": "^3.5.6",
28
+ "@aws-sdk/client-lambda": "3.513.0",
29
+ "@aws-sdk/client-secrets-manager": "^3.46.0",
28
30
  "@aws-sdk/client-sqs": "^3.46.0",
29
- "@things-factory/api": "^4.3.381",
30
- "@things-factory/auth-base": "^4.3.381",
31
- "@things-factory/oauth2-client": "^4.3.381",
31
+ "@things-factory/api": "^4.3.424",
32
+ "@things-factory/auth-base": "^4.3.424",
33
+ "@things-factory/oauth2-client": "^4.3.424",
32
34
  "@things-factory/shell": "^4.3.381",
33
35
  "async-mqtt": "^2.5.0",
34
36
  "cron": "^1.7.2",
@@ -40,5 +42,5 @@
40
42
  "promise-socket": "^7.0.0",
41
43
  "vm2": "^3.9.2"
42
44
  },
43
- "gitHead": "853888b22dd91352f37d4fe660e3233405beefd1"
45
+ "gitHead": "0c04dd6934c7eb335fc5ad2dd55172b5e79cdca7"
44
46
  }
@@ -1,19 +1,43 @@
1
+ import { GetSecretValueCommand, SecretsManagerClient } from '@aws-sdk/client-secrets-manager'
1
2
  import { SendMessageCommand, SQSClient } from '@aws-sdk/client-sqs'
2
3
 
3
- import { SQS } from './sqs-const'
4
+ import { AWSCREDENTIAL, SQS } from './sqs-const'
4
5
 
5
6
  if (SQS) {
6
- const client = new SQSClient({
7
- region: SQS.region,
8
- credentials: {
9
- accessKeyId: SQS.accessKeyId,
10
- secretAccessKey: SQS.secretAccessKey
7
+ const getAWSSecret = async () => {
8
+ const secretManager = new SecretsManagerClient({ region: AWSCREDENTIAL.region })
9
+ const secretManagerParams = {
10
+ SecretId: AWSCREDENTIAL.secretName,
11
+ VersionStage: 'AWSCURRENT'
11
12
  }
12
- })
13
+ const command = new GetSecretValueCommand(secretManagerParams)
14
+ try {
15
+ const data: any = await secretManager.send(command)
16
+ const dataSecretString: any = data.SecretString
17
+ if (dataSecretString) {
18
+ const secretString = JSON.parse(dataSecretString)
19
+
20
+ return { accessKeyId: secretString.accessKeyId, secretAccessKey: secretString.secretAccessKey }
21
+ } else {
22
+ return null
23
+ }
24
+ } catch (error) {
25
+ console.log(`[SFTP Get Secret]: ${error}`)
26
+ }
27
+ }
13
28
 
14
29
  /* send message to sqs */
15
30
  SQS.sendMessage = async ({ event }) => {
16
31
  const { body, deduplicationId, groupId, queueName } = event
32
+ const { accessKeyId, secretAccessKey } = await getAWSSecret()
33
+
34
+ const client = new SQSClient({
35
+ region: AWSCREDENTIAL.region,
36
+ credentials: {
37
+ accessKeyId: accessKeyId,
38
+ secretAccessKey: secretAccessKey
39
+ }
40
+ })
17
41
 
18
42
  let messageBody = {
19
43
  ...body,
@@ -1,3 +1,4 @@
1
1
  import { config } from '@things-factory/env'
2
2
 
3
3
  export var SQS: any = config.get('awsSqs')
4
+ export var AWSCREDENTIAL: any = config.get('awsCredential')