@lilaquadrat/studio 8.9.2 → 8.10.0

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.
@@ -8,7 +8,9 @@ export declare class MongoClass {
8
8
  db: Db;
9
9
  connectionUri: string;
10
10
  connectionUriObject: ConnectionInfoObject;
11
- constructor(connectionUri?: string);
11
+ vault: string;
12
+ constructor(connectionUri?: string, vault?: string);
13
+ getConnectionString(): Promise<string>;
12
14
  /**
13
15
  * Disconnect from MongoDB
14
16
  */
@@ -7,15 +7,35 @@ exports.MongoClass = void 0;
7
7
  const mongodb_1 = require("mongodb");
8
8
  const mongo_connection_string_1 = require("mongo-connection-string");
9
9
  const logger_1 = __importDefault(require("../logger"));
10
+ const getSecrets_1 = __importDefault(require("../helpers/getSecrets"));
10
11
  /**
11
12
  * Wrapper for the native MongoDB module
12
13
  */
13
14
  class MongoClass {
14
- constructor(connectionUri) {
15
+ constructor(connectionUri, vault) {
15
16
  if (connectionUri) {
16
17
  this.connectionUri = connectionUri;
17
- this.connectionUriObject = new mongo_connection_string_1.ConnectionString(connectionUri);
18
18
  }
19
+ if (vault) {
20
+ this.vault = vault;
21
+ }
22
+ }
23
+ async getConnectionString() {
24
+ if (this.connectionUri) {
25
+ logger_1.default.info('mongodb.connection.using.env');
26
+ this.connectionUriObject = new mongo_connection_string_1.ConnectionString(this.connectionUri);
27
+ return this.connectionUri;
28
+ }
29
+ else if (this.vault) {
30
+ logger_1.default.info('mongodb.connection.using.secret');
31
+ const connectionString = await (0, getSecrets_1.default)('mongodbConnectionString', this.vault);
32
+ this.connectionUriObject = new mongo_connection_string_1.ConnectionString(connectionString);
33
+ return connectionString;
34
+ }
35
+ if (!this.connectionUri && !this.vault) {
36
+ throw new Error('MONGODB_CONNECTION_STRING_MISSING');
37
+ }
38
+ return '';
19
39
  }
20
40
  /**
21
41
  * Disconnect from MongoDB
@@ -27,7 +47,7 @@ class MongoClass {
27
47
  * Connects to MongoDB
28
48
  */
29
49
  async connect() {
30
- const { connectionUri } = this;
50
+ const connectionString = await this.getConnectionString();
31
51
  let heartbeatFailed = 0;
32
52
  let connectionError = false;
33
53
  const mongoOptions = {};
@@ -36,7 +56,7 @@ class MongoClass {
36
56
  */
37
57
  try {
38
58
  logger_1.default.info('mongodb.connection.try');
39
- const client = new mongodb_1.MongoClient(connectionUri, mongoOptions);
59
+ const client = new mongodb_1.MongoClient(connectionString, mongoOptions);
40
60
  await client.connect();
41
61
  logger_1.default.info('mongodb.connection.successful');
42
62
  this.client = client;
@@ -76,5 +96,5 @@ class MongoClass {
76
96
  }
77
97
  }
78
98
  exports.MongoClass = MongoClass;
79
- exports.default = new MongoClass(process.env.DATABASE);
99
+ exports.default = new MongoClass(process.env.DATABASE, process.env.VAULT);
80
100
  //# sourceMappingURL=mongo.class.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.class.js","sourceRoot":"","sources":["../../../../src/classes/mongo.class.ts"],"names":[],"mappings":";;;;;;AAAA,qCAIiB;AACjB,qEAAiF;AACjF,uDAA+B;AAE/B;;GAEG;AACH,MAAa,UAAU;IAUrB,YAAY,aAAsB;QAEhC,IAAI,aAAa,EAAE,CAAC;YAElB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,0CAAgB,CAAC,aAAa,CAAC,CAAC;QAEjE,CAAC;IAEH,CAAC;IAED;;OAEG;IACH,UAAU;QAER,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;IAE9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QAEX,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAE/B,IAAI,eAAe,GAAW,CAAC,CAAC;QAChC,IAAI,eAAe,GAAY,KAAK,CAAC;QAErC,MAAM,YAAY,GAAuB,EACxC,CAAC;QAEF;;WAEG;QACH,IAAI,CAAC;YAEH,gBAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,IAAI,qBAAW,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAEvB,gBAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAE7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,gBAAM,CAAC,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,gBAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAE1C,MAAM,KAAK,CAAC;QAEd,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,EAAE;YAE/C,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAEzD,eAAe,GAAG,IAAI,CAAC;YAEzB,CAAC;YAED,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,KAAK,mBAAmB,EAAE,CAAC;gBAEzD,eAAe,GAAG,KAAK,CAAC;YAE1B,CAAC;QAEH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAE9C,eAAe,GAAG,CAAC,CAAC;QAEtB,CAAC,CAAC,CAAC;QAEH;;UAEE;QACF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAE3C,eAAe,IAAI,CAAC,CAAC;YAErB,gBAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAErF,IAAI,eAAe,IAAI,EAAE,IAAI,eAAe,EAAE,CAAC;gBAE7C,gBAAM,CAAC,KAAK,CAAC,GAAG,EAAE,kDAAkD,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEnB,CAAC;YAED,IAAI,eAAe,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAE9C,eAAe,GAAG,CAAC,CAAC;YAEtB,CAAC;QAEH,CAAC,CAAC,CAAC;IAEL,CAAC;CAEF;AApHD,gCAoHC;AAED,kBAAe,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,QAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"mongo.class.js","sourceRoot":"","sources":["../../../../src/classes/mongo.class.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,4 @@
1
- declare const _default: (name: string, vaultUrl: string) => Promise<string>;
1
+ declare const _default: (name: string, vaultUrl: string, options?: {
2
+ base64: true;
3
+ }) => Promise<string>;
2
4
  export default _default;
@@ -5,12 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const identity_1 = require("@azure/identity");
7
7
  const AzureVault_1 = __importDefault(require("../AzureVault"));
8
- exports.default = async (name, vaultUrl) => {
9
- console.log('TRY AUTH');
8
+ exports.default = async (name, vaultUrl, options) => {
10
9
  const credentials = new identity_1.DefaultAzureCredential();
11
- const hostingSecret = await AzureVault_1.default.secrets.get(name, vaultUrl, credentials);
12
- if (!hostingSecret.value)
10
+ const secret = await AzureVault_1.default.secrets.get(name, vaultUrl, credentials);
11
+ if (!secret.value)
13
12
  return '';
14
- return Buffer.from(hostingSecret.value, 'base64').toString('ascii');
13
+ if (options?.base64) {
14
+ return Buffer.from(secret.value, 'base64').toString('ascii');
15
+ }
16
+ else {
17
+ return secret.value;
18
+ }
15
19
  };
16
20
  //# sourceMappingURL=getSecrets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getSecrets.js","sourceRoot":"","sources":["../../../../src/helpers/getSecrets.ts"],"names":[],"mappings":";;;;;AAAA,8CAAyD;AACzD,+DAAuC;AAEvC,kBAAe,KAAK,EAAE,IAAY,EAAE,QAAgB,EAAE,EAAE;IAEtD,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,IAAI,iCAAsB,EAAE,CAAC;IAEjD,MAAM,aAAa,GAAG,MAAM,oBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAChF,IAAI,CAAC,aAAa,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEpC,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEtE,CAAC,CAAC"}
1
+ {"version":3,"file":"getSecrets.js","sourceRoot":"","sources":["../../../../src/helpers/getSecrets.ts"],"names":[],"mappings":";;;;;AAAA,8CAAyD;AACzD,+DAAuC;AAEvC,kBAAe,KAAK,EAAE,IAAY,EAAE,QAAgB,EAAE,OAA0B,EAAE,EAAE;IAElF,MAAM,WAAW,GAAG,IAAI,iCAAsB,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,MAAM,oBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAE7B,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;QAEpB,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE/D,CAAC;SAAM,CAAC;QAEN,OAAO,MAAM,CAAC,KAAK,CAAC;IAEtB,CAAC;AAEH,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lilaquadrat/studio",
3
- "version": "8.9.2",
3
+ "version": "8.10.0",
4
4
  "description": "classes and tools for STUDIO",
5
5
  "license": "MIT",
6
6
  "homepage": "https://lilaquadrat.de",