@edirect/mongo 10.1.9 → 10.1.11

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/aws.js CHANGED
@@ -1,61 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateConnectionString = exports.generateAwsCredentials = exports.shouldAssumeRole = void 0;
4
- const client_sts_1 = require("@aws-sdk/client-sts");
5
4
  const credential_providers_1 = require("@aws-sdk/credential-providers");
6
- const fs_1 = require("fs");
7
5
  const MONGODB_AWS_ROLE_ARN = process.env.MONGODB_AWS_ROLE_ARN;
8
6
  const AWS_WEB_IDENTITY_TOKEN_FILE = process.env.AWS_WEB_IDENTITY_TOKEN_FILE;
9
7
  exports.shouldAssumeRole = MONGODB_AWS_ROLE_ARN && AWS_WEB_IDENTITY_TOKEN_FILE;
10
8
  const generateAwsCredentials = async () => {
11
- var _a, _b, _c, _d;
12
- const awsDefaultCredentials = (0, credential_providers_1.fromNodeProviderChain)();
13
9
  if (exports.shouldAssumeRole) {
14
- const content = await (0, fs_1.readFileSync)(AWS_WEB_IDENTITY_TOKEN_FILE);
15
- const identityToken = content.toString().trim();
16
- if (!identityToken) {
17
- throw new Error('AWS_WEB_IDENTITY_TOKEN_FILE is empty or not set');
18
- }
19
- const client = new client_sts_1.STSClient();
20
- const command = new client_sts_1.AssumeRoleWithWebIdentityCommand({
21
- RoleArn: MONGODB_AWS_ROLE_ARN,
22
- RoleSessionName: 'web-identity-session',
23
- WebIdentityToken: identityToken,
10
+ return (0, credential_providers_1.fromNodeProviderChain)({
11
+ roleArn: MONGODB_AWS_ROLE_ARN,
24
12
  });
25
- const resp = await client.send(command);
26
- if (resp && resp.Credentials) {
27
- return {
28
- accessKeyId: (_a = resp.Credentials.AccessKeyId) !== null && _a !== void 0 ? _a : awsDefaultCredentials.accessKeyId,
29
- secretAccessKey: (_b = resp.Credentials.SecretAccessKey) !== null && _b !== void 0 ? _b : awsDefaultCredentials.secretAccessKey,
30
- sessionToken: (_c = resp.Credentials.SessionToken) !== null && _c !== void 0 ? _c : awsDefaultCredentials.sessionToken,
31
- expiration: (_d = resp.Credentials.Expiration) !== null && _d !== void 0 ? _d : awsDefaultCredentials.expiration,
32
- };
33
- }
34
- throw new Error('Failed to assume role with web identity');
35
13
  }
36
- return awsDefaultCredentials;
14
+ return (0, credential_providers_1.fromNodeProviderChain)();
37
15
  };
38
16
  exports.generateAwsCredentials = generateAwsCredentials;
39
17
  const generateConnectionString = async (cnn) => {
40
18
  if (exports.shouldAssumeRole) {
41
- const content = await (0, fs_1.readFileSync)(AWS_WEB_IDENTITY_TOKEN_FILE);
42
- const identityToken = content.toString().trim();
43
- if (!identityToken) {
44
- throw new Error('AWS_WEB_IDENTITY_TOKEN_FILE is empty or not set');
45
- }
46
- const client = new client_sts_1.STSClient();
47
- const command = new client_sts_1.AssumeRoleWithWebIdentityCommand({
48
- RoleArn: MONGODB_AWS_ROLE_ARN,
49
- RoleSessionName: 'web-identity-session',
50
- WebIdentityToken: identityToken,
51
- });
52
- const resp = await client.send(command);
53
- if (resp && resp.Credentials) {
19
+ const credentials = await (0, exports.generateAwsCredentials)();
20
+ if (credentials) {
54
21
  const url = new URL(cnn);
55
- url.username = resp.Credentials.AccessKeyId || '';
56
- url.password = resp.Credentials.SecretAccessKey || '';
57
- if (resp.Credentials.SessionToken) {
58
- url.searchParams.set('authMechanismProperties', `AWS_SESSION_TOKEN:${resp.Credentials.SessionToken}`);
22
+ url.username = credentials.accessKeyId || '';
23
+ url.password = credentials.secretAccessKey || '';
24
+ if (credentials.sessionToken) {
25
+ url.searchParams.set('authMechanismProperties', `AWS_SESSION_TOKEN:${credentials.sessionToken}`);
59
26
  }
60
27
  return url.toString();
61
28
  }
package/dist/aws.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"aws.js","sourceRoot":"","sources":["../src/aws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aws.js","sourceRoot":"","sources":["../src/aws.ts"],"names":[],"mappings":";;;AAIA,wEAIuC;AAIvC,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAC9D,MAAM,2BAA2B,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;AAE/D,QAAA,gBAAgB,GAC3B,oBAAoB,IAAI,2BAA2B,CAAC;AAE/C,MAAM,sBAAsB,GAAG,KAAK,IAEzC,EAAE;IACF,IAAI,wBAAgB,EAAE,CAAC;QACrB,OAAO,IAAA,4CAAqB,EAAC;YAC3B,OAAO,EAAE,oBAAoB;SAC9B,CAA8B,CAAC;IAClC,CAAC;IACD,OAAO,IAAA,4CAAqB,GAA+B,CAAC;AAC9D,CAAC,CAAC;AATW,QAAA,sBAAsB,0BASjC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,GAAW,EACM,EAAE;IACnB,IAAI,wBAAgB,EAAE,CAAC;QACrB,MAAM,WAAW,GAAG,MAAM,IAAA,8BAAsB,GAAE,CAAC;QACnD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACzB,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,WAAW,IAAI,EAAE,CAAC;YAC7C,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;YACjD,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,GAAG,CAAC,YAAY,CAAC,GAAG,CAClB,yBAAyB,EACzB,qBAAqB,WAAW,CAAC,YAAY,EAAE,CAChD,CAAC;YACJ,CAAC;YACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AApBW,QAAA,wBAAwB,4BAoBnC"}
@@ -10,7 +10,7 @@ exports.MongoProviders = [
10
10
  provide: 'MONGO_CONNECTION',
11
11
  useFactory: async (configService) => {
12
12
  var _a, _b, _c;
13
- return (0, mongoose_1.connect)((_a = configService.get('MONGO_URL')) !== null && _a !== void 0 ? _a : configService.get('MONGODB_URI'), Object.assign({}, (isNotProductionOrLive(process.env.NODE_ENV) && Object.assign({ minPoolSize: 0, maxPoolSize: 10 }, (((_c = (_b = configService.get('MONGO_URL')) !== null && _b !== void 0 ? _b : configService.get('MONGODB_URI')) !== null && _c !== void 0 ? _c : "").includes('MONGODB-AWS') && {
13
+ return (0, mongoose_1.connect)(await (0, aws_1.generateConnectionString)((_a = configService.get('MONGO_URL')) !== null && _a !== void 0 ? _a : configService.get('MONGODB_URI')), Object.assign({}, (isNotProductionOrLive(process.env.NODE_ENV) && Object.assign({ minPoolSize: 0, maxPoolSize: 10 }, (((_c = (_b = configService.get('MONGO_URL')) !== null && _b !== void 0 ? _b : configService.get('MONGODB_URI')) !== null && _c !== void 0 ? _c : "").includes('MONGODB-AWS') && {
14
14
  authMechanismProperties: {
15
15
  AWS_CREDENTIAL_PROVIDER: aws_1.generateAwsCredentials,
16
16
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.providers.js","sourceRoot":"","sources":["../src/mongo.providers.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAE7C,4CAAgD;AAChD,+BAA+C;AAE/C,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAW,EAAE,CACzD,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,MAAM,CAAC;AAEpC,QAAA,cAAc,GAAe;IACxC;QACE,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAqB,EAAE;;YACpE,OAAA,IAAA,kBAAO,EACL,MAAA,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,oBAE7D,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAC7C,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,EAAE,IACZ,CAAC,CACF,MAAA,MAAA,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,mCAAI,EAAE,CACzE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI;gBAC3B,uBAAuB,EAAE;oBACvB,uBAAuB,EAAE,4BAAsB;iBAChD;aACF,CAAC,CACH,CAAC,EAEL,CAAA;SAAA;QACH,MAAM,EAAE,CAAC,sBAAa,CAAC;KACxB;CACF,CAAC"}
1
+ {"version":3,"file":"mongo.providers.js","sourceRoot":"","sources":["../src/mongo.providers.ts"],"names":[],"mappings":";;;AAAA,uCAA6C;AAE7C,4CAAgD;AAChD,+BAAyE;AAEzE,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAW,EAAE,CACzD,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,MAAM,CAAC;AAEpC,QAAA,cAAc,GAAe;IACxC;QACE,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,KAAK,EAAE,aAA4B,EAAqB,EAAE;;YACpE,OAAA,IAAA,kBAAO,EACL,MAAM,IAAA,8BAAwB,EAAC,MAAA,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,oBAE7F,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,oBAC7C,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,EAAE,IACZ,CAAC,CACF,MAAA,MAAA,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,mCAAI,aAAa,CAAC,GAAG,CAAC,aAAa,CAAC,mCAAI,EAAE,CACzE,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI;gBAC3B,uBAAuB,EAAE;oBACvB,uBAAuB,EAAE,4BAAsB;iBAChD;aACF,CAAC,CACH,CAAC,EAEL,CAAA;SAAA;QACH,MAAM,EAAE,CAAC,sBAAa,CAAC;KACxB;CACF,CAAC"}