@okf/ootils 1.24.4 → 1.26.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.
- package/dist/node.d.mts +1 -0
- package/dist/node.d.ts +1 -0
- package/dist/node.js +93 -66
- package/dist/node.mjs +93 -66
- package/package.json +1 -1
package/dist/node.d.mts
CHANGED
|
@@ -1333,6 +1333,7 @@ declare class SecretManagerConnector {
|
|
|
1333
1333
|
static getDbConfigs(): any;
|
|
1334
1334
|
static getTenantEnvConfigs(tenant: any): any;
|
|
1335
1335
|
static getEnvSpecificConfigs(env: any): any;
|
|
1336
|
+
static addSecretVersion(secretName: any, data: any): Promise<any>;
|
|
1336
1337
|
static getInstance(): any;
|
|
1337
1338
|
constructor({ secrets }?: {
|
|
1338
1339
|
secrets?: never[] | undefined;
|
package/dist/node.d.ts
CHANGED
|
@@ -1333,6 +1333,7 @@ declare class SecretManagerConnector {
|
|
|
1333
1333
|
static getDbConfigs(): any;
|
|
1334
1334
|
static getTenantEnvConfigs(tenant: any): any;
|
|
1335
1335
|
static getEnvSpecificConfigs(env: any): any;
|
|
1336
|
+
static addSecretVersion(secretName: any, data: any): Promise<any>;
|
|
1336
1337
|
static getInstance(): any;
|
|
1337
1338
|
constructor({ secrets }?: {
|
|
1338
1339
|
secrets?: never[] | undefined;
|
package/dist/node.js
CHANGED
|
@@ -1175,6 +1175,86 @@ var require_getModelByTenant = __commonJS({
|
|
|
1175
1175
|
}
|
|
1176
1176
|
});
|
|
1177
1177
|
|
|
1178
|
+
// src/SecretManagerConnector/index.js
|
|
1179
|
+
var SecretManagerConnector_exports = {};
|
|
1180
|
+
__export(SecretManagerConnector_exports, {
|
|
1181
|
+
SecretManagerConnector: () => SecretManagerConnector
|
|
1182
|
+
});
|
|
1183
|
+
var import_secret_manager, import_path, PROJECT_ID, SecretManagerConnector;
|
|
1184
|
+
var init_SecretManagerConnector = __esm({
|
|
1185
|
+
"src/SecretManagerConnector/index.js"() {
|
|
1186
|
+
"use strict";
|
|
1187
|
+
import_secret_manager = require("@google-cloud/secret-manager");
|
|
1188
|
+
import_path = __toESM(require("path"));
|
|
1189
|
+
PROJECT_ID = "ok-framework";
|
|
1190
|
+
SecretManagerConnector = class _SecretManagerConnector {
|
|
1191
|
+
constructor({ secrets = [] } = {}) {
|
|
1192
|
+
if (_SecretManagerConnector.instance) {
|
|
1193
|
+
throw new Error(
|
|
1194
|
+
"SecretManagerConnector instance already exists. Use SecretManagerConnector.getInstance() instead."
|
|
1195
|
+
);
|
|
1196
|
+
}
|
|
1197
|
+
this.client = new import_secret_manager.SecretManagerServiceClient();
|
|
1198
|
+
this.secrets = secrets;
|
|
1199
|
+
this.cache = {};
|
|
1200
|
+
_SecretManagerConnector.instance = this;
|
|
1201
|
+
}
|
|
1202
|
+
async connect() {
|
|
1203
|
+
for (const { name, fallbackPath } of this.secrets) {
|
|
1204
|
+
try {
|
|
1205
|
+
const secretPath = `projects/${PROJECT_ID}/secrets/${name}/versions/latest`;
|
|
1206
|
+
const [version] = await this.client.accessSecretVersion({ name: secretPath });
|
|
1207
|
+
this.cache[name] = JSON.parse(version.payload.data.toString("utf8"));
|
|
1208
|
+
console.log(` Secret Manager: loaded "${name}"`);
|
|
1209
|
+
} catch (err) {
|
|
1210
|
+
if (fallbackPath) {
|
|
1211
|
+
const fullPath = import_path.default.resolve(process.cwd(), fallbackPath);
|
|
1212
|
+
const module2 = await import(fullPath);
|
|
1213
|
+
this.cache[name] = module2.default || module2;
|
|
1214
|
+
console.log(` Secret Manager: "${name}" fallback to local file - ${err.message}`);
|
|
1215
|
+
} else {
|
|
1216
|
+
throw new Error(`Secret Manager: failed to load "${name}" - ${err.message}`);
|
|
1217
|
+
}
|
|
1218
|
+
}
|
|
1219
|
+
}
|
|
1220
|
+
}
|
|
1221
|
+
static getSecret(secretName) {
|
|
1222
|
+
return _SecretManagerConnector.instance.cache[secretName];
|
|
1223
|
+
}
|
|
1224
|
+
static getGlobalConfigs() {
|
|
1225
|
+
return _SecretManagerConnector.getSecret("globalConfigs");
|
|
1226
|
+
}
|
|
1227
|
+
static getDbConfigs() {
|
|
1228
|
+
return _SecretManagerConnector.getSecret("dbConfigs");
|
|
1229
|
+
}
|
|
1230
|
+
static getTenantEnvConfigs(tenant) {
|
|
1231
|
+
const configs = _SecretManagerConnector.getSecret("tenantEnvConfigs");
|
|
1232
|
+
return tenant ? configs[tenant] : configs;
|
|
1233
|
+
}
|
|
1234
|
+
static getEnvSpecificConfigs(env) {
|
|
1235
|
+
const configs = _SecretManagerConnector.getSecret("envSpecificConfigs");
|
|
1236
|
+
return env ? configs[env] : configs;
|
|
1237
|
+
}
|
|
1238
|
+
static async addSecretVersion(secretName, data) {
|
|
1239
|
+
const instance = _SecretManagerConnector.instance;
|
|
1240
|
+
const payload = Buffer.from(JSON.stringify(data, null, 2));
|
|
1241
|
+
const parent = `projects/${PROJECT_ID}/secrets/${secretName}`;
|
|
1242
|
+
const [version] = await instance.client.addSecretVersion({
|
|
1243
|
+
parent,
|
|
1244
|
+
payload: { data: payload }
|
|
1245
|
+
});
|
|
1246
|
+
instance.cache[secretName] = data;
|
|
1247
|
+
console.log(` Secret Manager: added new version for "${secretName}" (${version.name})`);
|
|
1248
|
+
return version;
|
|
1249
|
+
}
|
|
1250
|
+
static getInstance() {
|
|
1251
|
+
return _SecretManagerConnector.instance;
|
|
1252
|
+
}
|
|
1253
|
+
};
|
|
1254
|
+
SecretManagerConnector.instance = null;
|
|
1255
|
+
}
|
|
1256
|
+
});
|
|
1257
|
+
|
|
1178
1258
|
// src/bullmq/WorkerManager.js
|
|
1179
1259
|
var require_WorkerManager = __commonJS({
|
|
1180
1260
|
"src/bullmq/WorkerManager.js"(exports2, module2) {
|
|
@@ -1587,18 +1667,20 @@ var require_ChunksElasticSyncProducer = __commonJS({
|
|
|
1587
1667
|
"use strict";
|
|
1588
1668
|
var { BaseProducer: BaseProducer2 } = require_BaseProducer();
|
|
1589
1669
|
var { GET_GLOBAL_BULLMQ_CONFIG: GET_GLOBAL_BULLMQ_CONFIG2 } = require_GET_GLOBAL_BULLMQ_CONFIG();
|
|
1670
|
+
var { SecretManagerConnector: SecretManagerConnector2 } = (init_SecretManagerConnector(), __toCommonJS(SecretManagerConnector_exports));
|
|
1590
1671
|
var ChunksElasticSyncProducer2 = class extends BaseProducer2 {
|
|
1591
1672
|
// Preserve class name through minification for ProducerManager lookup
|
|
1592
1673
|
static get name() {
|
|
1593
1674
|
return "ChunksElasticSyncProducer";
|
|
1594
1675
|
}
|
|
1595
|
-
// options - Configuration options (optional, defaults to
|
|
1676
|
+
// options - Configuration options (optional, defaults to SecretManager)
|
|
1596
1677
|
constructor(options = {}) {
|
|
1597
1678
|
const env = options.env || process.env.ENV;
|
|
1679
|
+
const c = SecretManagerConnector2.getEnvSpecificConfigs(env);
|
|
1598
1680
|
const redisCredentials = options.redisCredentials || {
|
|
1599
|
-
REDIS_HOST:
|
|
1600
|
-
REDIS_PORT:
|
|
1601
|
-
REDIS_PASSWORD:
|
|
1681
|
+
REDIS_HOST: c.REDIS_HOST,
|
|
1682
|
+
REDIS_PORT: c.REDIS_PORT,
|
|
1683
|
+
REDIS_PASSWORD: c.REDIS_PASSWORD
|
|
1602
1684
|
};
|
|
1603
1685
|
const GLOBAL_BULLMQ_CONFIG = GET_GLOBAL_BULLMQ_CONFIG2({
|
|
1604
1686
|
env,
|
|
@@ -1629,18 +1711,20 @@ var require_AnnosElasticSyncProducer = __commonJS({
|
|
|
1629
1711
|
"use strict";
|
|
1630
1712
|
var { BaseProducer: BaseProducer2 } = require_BaseProducer();
|
|
1631
1713
|
var { GET_GLOBAL_BULLMQ_CONFIG: GET_GLOBAL_BULLMQ_CONFIG2 } = require_GET_GLOBAL_BULLMQ_CONFIG();
|
|
1714
|
+
var { SecretManagerConnector: SecretManagerConnector2 } = (init_SecretManagerConnector(), __toCommonJS(SecretManagerConnector_exports));
|
|
1632
1715
|
var AnnosElasticSyncProducer2 = class extends BaseProducer2 {
|
|
1633
1716
|
// Preserve class name through minification for ProducerManager lookup
|
|
1634
1717
|
static get name() {
|
|
1635
1718
|
return "AnnosElasticSyncProducer";
|
|
1636
1719
|
}
|
|
1637
|
-
// options - Configuration options (optional, defaults to
|
|
1720
|
+
// options - Configuration options (optional, defaults to SecretManager)
|
|
1638
1721
|
constructor(options = {}) {
|
|
1639
1722
|
const env = options.env || process.env.ENV;
|
|
1723
|
+
const c = SecretManagerConnector2.getEnvSpecificConfigs(env);
|
|
1640
1724
|
const redisCredentials = options.redisCredentials || {
|
|
1641
|
-
REDIS_HOST:
|
|
1642
|
-
REDIS_PORT:
|
|
1643
|
-
REDIS_PASSWORD:
|
|
1725
|
+
REDIS_HOST: c.REDIS_HOST,
|
|
1726
|
+
REDIS_PORT: c.REDIS_PORT,
|
|
1727
|
+
REDIS_PASSWORD: c.REDIS_PASSWORD
|
|
1644
1728
|
};
|
|
1645
1729
|
const GLOBAL_BULLMQ_CONFIG = GET_GLOBAL_BULLMQ_CONFIG2({
|
|
1646
1730
|
env,
|
|
@@ -3535,65 +3619,8 @@ var RedisCacheConnector = class _RedisCacheConnector {
|
|
|
3535
3619
|
};
|
|
3536
3620
|
RedisCacheConnector.instance = null;
|
|
3537
3621
|
|
|
3538
|
-
// src/SecretManagerConnector/index.js
|
|
3539
|
-
var import_secret_manager = require("@google-cloud/secret-manager");
|
|
3540
|
-
var import_path = __toESM(require("path"));
|
|
3541
|
-
var PROJECT_ID = "ok-framework";
|
|
3542
|
-
var SecretManagerConnector = class _SecretManagerConnector {
|
|
3543
|
-
constructor({ secrets = [] } = {}) {
|
|
3544
|
-
if (_SecretManagerConnector.instance) {
|
|
3545
|
-
throw new Error(
|
|
3546
|
-
"SecretManagerConnector instance already exists. Use SecretManagerConnector.getInstance() instead."
|
|
3547
|
-
);
|
|
3548
|
-
}
|
|
3549
|
-
this.client = new import_secret_manager.SecretManagerServiceClient();
|
|
3550
|
-
this.secrets = secrets;
|
|
3551
|
-
this.cache = {};
|
|
3552
|
-
_SecretManagerConnector.instance = this;
|
|
3553
|
-
}
|
|
3554
|
-
async connect() {
|
|
3555
|
-
for (const { name, fallbackPath } of this.secrets) {
|
|
3556
|
-
try {
|
|
3557
|
-
const secretPath = `projects/${PROJECT_ID}/secrets/${name}/versions/latest`;
|
|
3558
|
-
const [version] = await this.client.accessSecretVersion({ name: secretPath });
|
|
3559
|
-
this.cache[name] = JSON.parse(version.payload.data.toString("utf8"));
|
|
3560
|
-
console.log(` Secret Manager: loaded "${name}"`);
|
|
3561
|
-
} catch (err) {
|
|
3562
|
-
if (fallbackPath) {
|
|
3563
|
-
const fullPath = import_path.default.resolve(process.cwd(), fallbackPath);
|
|
3564
|
-
const module2 = await import(fullPath);
|
|
3565
|
-
this.cache[name] = module2.default || module2;
|
|
3566
|
-
console.log(` Secret Manager: "${name}" fallback to local file - ${err.message}`);
|
|
3567
|
-
} else {
|
|
3568
|
-
throw new Error(`Secret Manager: failed to load "${name}" - ${err.message}`);
|
|
3569
|
-
}
|
|
3570
|
-
}
|
|
3571
|
-
}
|
|
3572
|
-
}
|
|
3573
|
-
static getSecret(secretName) {
|
|
3574
|
-
return _SecretManagerConnector.instance.cache[secretName];
|
|
3575
|
-
}
|
|
3576
|
-
static getGlobalConfigs() {
|
|
3577
|
-
return _SecretManagerConnector.getSecret("globalConfigs");
|
|
3578
|
-
}
|
|
3579
|
-
static getDbConfigs() {
|
|
3580
|
-
return _SecretManagerConnector.getSecret("dbConfigs");
|
|
3581
|
-
}
|
|
3582
|
-
static getTenantEnvConfigs(tenant) {
|
|
3583
|
-
const configs = _SecretManagerConnector.getSecret("tenantEnvConfigs");
|
|
3584
|
-
return tenant ? configs[tenant] : configs;
|
|
3585
|
-
}
|
|
3586
|
-
static getEnvSpecificConfigs(env) {
|
|
3587
|
-
const configs = _SecretManagerConnector.getSecret("envSpecificConfigs");
|
|
3588
|
-
return env ? configs[env] : configs;
|
|
3589
|
-
}
|
|
3590
|
-
static getInstance() {
|
|
3591
|
-
return _SecretManagerConnector.instance;
|
|
3592
|
-
}
|
|
3593
|
-
};
|
|
3594
|
-
SecretManagerConnector.instance = null;
|
|
3595
|
-
|
|
3596
3622
|
// src/node.ts
|
|
3623
|
+
init_SecretManagerConnector();
|
|
3597
3624
|
init_getDbByTenant();
|
|
3598
3625
|
var import_getModelByTenant2 = __toESM(require_getModelByTenant());
|
|
3599
3626
|
init_models();
|
package/dist/node.mjs
CHANGED
|
@@ -1180,6 +1180,86 @@ var require_getModelByTenant = __commonJS({
|
|
|
1180
1180
|
}
|
|
1181
1181
|
});
|
|
1182
1182
|
|
|
1183
|
+
// src/SecretManagerConnector/index.js
|
|
1184
|
+
var SecretManagerConnector_exports = {};
|
|
1185
|
+
__export(SecretManagerConnector_exports, {
|
|
1186
|
+
SecretManagerConnector: () => SecretManagerConnector
|
|
1187
|
+
});
|
|
1188
|
+
import { SecretManagerServiceClient } from "@google-cloud/secret-manager";
|
|
1189
|
+
import path from "path";
|
|
1190
|
+
var PROJECT_ID, SecretManagerConnector;
|
|
1191
|
+
var init_SecretManagerConnector = __esm({
|
|
1192
|
+
"src/SecretManagerConnector/index.js"() {
|
|
1193
|
+
"use strict";
|
|
1194
|
+
PROJECT_ID = "ok-framework";
|
|
1195
|
+
SecretManagerConnector = class _SecretManagerConnector {
|
|
1196
|
+
constructor({ secrets = [] } = {}) {
|
|
1197
|
+
if (_SecretManagerConnector.instance) {
|
|
1198
|
+
throw new Error(
|
|
1199
|
+
"SecretManagerConnector instance already exists. Use SecretManagerConnector.getInstance() instead."
|
|
1200
|
+
);
|
|
1201
|
+
}
|
|
1202
|
+
this.client = new SecretManagerServiceClient();
|
|
1203
|
+
this.secrets = secrets;
|
|
1204
|
+
this.cache = {};
|
|
1205
|
+
_SecretManagerConnector.instance = this;
|
|
1206
|
+
}
|
|
1207
|
+
async connect() {
|
|
1208
|
+
for (const { name, fallbackPath } of this.secrets) {
|
|
1209
|
+
try {
|
|
1210
|
+
const secretPath = `projects/${PROJECT_ID}/secrets/${name}/versions/latest`;
|
|
1211
|
+
const [version] = await this.client.accessSecretVersion({ name: secretPath });
|
|
1212
|
+
this.cache[name] = JSON.parse(version.payload.data.toString("utf8"));
|
|
1213
|
+
console.log(` Secret Manager: loaded "${name}"`);
|
|
1214
|
+
} catch (err) {
|
|
1215
|
+
if (fallbackPath) {
|
|
1216
|
+
const fullPath = path.resolve(process.cwd(), fallbackPath);
|
|
1217
|
+
const module = await import(fullPath);
|
|
1218
|
+
this.cache[name] = module.default || module;
|
|
1219
|
+
console.log(` Secret Manager: "${name}" fallback to local file - ${err.message}`);
|
|
1220
|
+
} else {
|
|
1221
|
+
throw new Error(`Secret Manager: failed to load "${name}" - ${err.message}`);
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
}
|
|
1226
|
+
static getSecret(secretName) {
|
|
1227
|
+
return _SecretManagerConnector.instance.cache[secretName];
|
|
1228
|
+
}
|
|
1229
|
+
static getGlobalConfigs() {
|
|
1230
|
+
return _SecretManagerConnector.getSecret("globalConfigs");
|
|
1231
|
+
}
|
|
1232
|
+
static getDbConfigs() {
|
|
1233
|
+
return _SecretManagerConnector.getSecret("dbConfigs");
|
|
1234
|
+
}
|
|
1235
|
+
static getTenantEnvConfigs(tenant) {
|
|
1236
|
+
const configs = _SecretManagerConnector.getSecret("tenantEnvConfigs");
|
|
1237
|
+
return tenant ? configs[tenant] : configs;
|
|
1238
|
+
}
|
|
1239
|
+
static getEnvSpecificConfigs(env) {
|
|
1240
|
+
const configs = _SecretManagerConnector.getSecret("envSpecificConfigs");
|
|
1241
|
+
return env ? configs[env] : configs;
|
|
1242
|
+
}
|
|
1243
|
+
static async addSecretVersion(secretName, data) {
|
|
1244
|
+
const instance = _SecretManagerConnector.instance;
|
|
1245
|
+
const payload = Buffer.from(JSON.stringify(data, null, 2));
|
|
1246
|
+
const parent = `projects/${PROJECT_ID}/secrets/${secretName}`;
|
|
1247
|
+
const [version] = await instance.client.addSecretVersion({
|
|
1248
|
+
parent,
|
|
1249
|
+
payload: { data: payload }
|
|
1250
|
+
});
|
|
1251
|
+
instance.cache[secretName] = data;
|
|
1252
|
+
console.log(` Secret Manager: added new version for "${secretName}" (${version.name})`);
|
|
1253
|
+
return version;
|
|
1254
|
+
}
|
|
1255
|
+
static getInstance() {
|
|
1256
|
+
return _SecretManagerConnector.instance;
|
|
1257
|
+
}
|
|
1258
|
+
};
|
|
1259
|
+
SecretManagerConnector.instance = null;
|
|
1260
|
+
}
|
|
1261
|
+
});
|
|
1262
|
+
|
|
1183
1263
|
// src/bullmq/WorkerManager.js
|
|
1184
1264
|
var require_WorkerManager = __commonJS({
|
|
1185
1265
|
"src/bullmq/WorkerManager.js"(exports, module) {
|
|
@@ -1592,18 +1672,20 @@ var require_ChunksElasticSyncProducer = __commonJS({
|
|
|
1592
1672
|
"use strict";
|
|
1593
1673
|
var { BaseProducer: BaseProducer2 } = require_BaseProducer();
|
|
1594
1674
|
var { GET_GLOBAL_BULLMQ_CONFIG: GET_GLOBAL_BULLMQ_CONFIG2 } = require_GET_GLOBAL_BULLMQ_CONFIG();
|
|
1675
|
+
var { SecretManagerConnector: SecretManagerConnector2 } = (init_SecretManagerConnector(), __toCommonJS(SecretManagerConnector_exports));
|
|
1595
1676
|
var ChunksElasticSyncProducer2 = class extends BaseProducer2 {
|
|
1596
1677
|
// Preserve class name through minification for ProducerManager lookup
|
|
1597
1678
|
static get name() {
|
|
1598
1679
|
return "ChunksElasticSyncProducer";
|
|
1599
1680
|
}
|
|
1600
|
-
// options - Configuration options (optional, defaults to
|
|
1681
|
+
// options - Configuration options (optional, defaults to SecretManager)
|
|
1601
1682
|
constructor(options = {}) {
|
|
1602
1683
|
const env = options.env || process.env.ENV;
|
|
1684
|
+
const c = SecretManagerConnector2.getEnvSpecificConfigs(env);
|
|
1603
1685
|
const redisCredentials = options.redisCredentials || {
|
|
1604
|
-
REDIS_HOST:
|
|
1605
|
-
REDIS_PORT:
|
|
1606
|
-
REDIS_PASSWORD:
|
|
1686
|
+
REDIS_HOST: c.REDIS_HOST,
|
|
1687
|
+
REDIS_PORT: c.REDIS_PORT,
|
|
1688
|
+
REDIS_PASSWORD: c.REDIS_PASSWORD
|
|
1607
1689
|
};
|
|
1608
1690
|
const GLOBAL_BULLMQ_CONFIG = GET_GLOBAL_BULLMQ_CONFIG2({
|
|
1609
1691
|
env,
|
|
@@ -1634,18 +1716,20 @@ var require_AnnosElasticSyncProducer = __commonJS({
|
|
|
1634
1716
|
"use strict";
|
|
1635
1717
|
var { BaseProducer: BaseProducer2 } = require_BaseProducer();
|
|
1636
1718
|
var { GET_GLOBAL_BULLMQ_CONFIG: GET_GLOBAL_BULLMQ_CONFIG2 } = require_GET_GLOBAL_BULLMQ_CONFIG();
|
|
1719
|
+
var { SecretManagerConnector: SecretManagerConnector2 } = (init_SecretManagerConnector(), __toCommonJS(SecretManagerConnector_exports));
|
|
1637
1720
|
var AnnosElasticSyncProducer2 = class extends BaseProducer2 {
|
|
1638
1721
|
// Preserve class name through minification for ProducerManager lookup
|
|
1639
1722
|
static get name() {
|
|
1640
1723
|
return "AnnosElasticSyncProducer";
|
|
1641
1724
|
}
|
|
1642
|
-
// options - Configuration options (optional, defaults to
|
|
1725
|
+
// options - Configuration options (optional, defaults to SecretManager)
|
|
1643
1726
|
constructor(options = {}) {
|
|
1644
1727
|
const env = options.env || process.env.ENV;
|
|
1728
|
+
const c = SecretManagerConnector2.getEnvSpecificConfigs(env);
|
|
1645
1729
|
const redisCredentials = options.redisCredentials || {
|
|
1646
|
-
REDIS_HOST:
|
|
1647
|
-
REDIS_PORT:
|
|
1648
|
-
REDIS_PASSWORD:
|
|
1730
|
+
REDIS_HOST: c.REDIS_HOST,
|
|
1731
|
+
REDIS_PORT: c.REDIS_PORT,
|
|
1732
|
+
REDIS_PASSWORD: c.REDIS_PASSWORD
|
|
1649
1733
|
};
|
|
1650
1734
|
const GLOBAL_BULLMQ_CONFIG = GET_GLOBAL_BULLMQ_CONFIG2({
|
|
1651
1735
|
env,
|
|
@@ -3482,65 +3566,8 @@ var RedisCacheConnector = class _RedisCacheConnector {
|
|
|
3482
3566
|
};
|
|
3483
3567
|
RedisCacheConnector.instance = null;
|
|
3484
3568
|
|
|
3485
|
-
// src/SecretManagerConnector/index.js
|
|
3486
|
-
import { SecretManagerServiceClient } from "@google-cloud/secret-manager";
|
|
3487
|
-
import path from "path";
|
|
3488
|
-
var PROJECT_ID = "ok-framework";
|
|
3489
|
-
var SecretManagerConnector = class _SecretManagerConnector {
|
|
3490
|
-
constructor({ secrets = [] } = {}) {
|
|
3491
|
-
if (_SecretManagerConnector.instance) {
|
|
3492
|
-
throw new Error(
|
|
3493
|
-
"SecretManagerConnector instance already exists. Use SecretManagerConnector.getInstance() instead."
|
|
3494
|
-
);
|
|
3495
|
-
}
|
|
3496
|
-
this.client = new SecretManagerServiceClient();
|
|
3497
|
-
this.secrets = secrets;
|
|
3498
|
-
this.cache = {};
|
|
3499
|
-
_SecretManagerConnector.instance = this;
|
|
3500
|
-
}
|
|
3501
|
-
async connect() {
|
|
3502
|
-
for (const { name, fallbackPath } of this.secrets) {
|
|
3503
|
-
try {
|
|
3504
|
-
const secretPath = `projects/${PROJECT_ID}/secrets/${name}/versions/latest`;
|
|
3505
|
-
const [version] = await this.client.accessSecretVersion({ name: secretPath });
|
|
3506
|
-
this.cache[name] = JSON.parse(version.payload.data.toString("utf8"));
|
|
3507
|
-
console.log(` Secret Manager: loaded "${name}"`);
|
|
3508
|
-
} catch (err) {
|
|
3509
|
-
if (fallbackPath) {
|
|
3510
|
-
const fullPath = path.resolve(process.cwd(), fallbackPath);
|
|
3511
|
-
const module = await import(fullPath);
|
|
3512
|
-
this.cache[name] = module.default || module;
|
|
3513
|
-
console.log(` Secret Manager: "${name}" fallback to local file - ${err.message}`);
|
|
3514
|
-
} else {
|
|
3515
|
-
throw new Error(`Secret Manager: failed to load "${name}" - ${err.message}`);
|
|
3516
|
-
}
|
|
3517
|
-
}
|
|
3518
|
-
}
|
|
3519
|
-
}
|
|
3520
|
-
static getSecret(secretName) {
|
|
3521
|
-
return _SecretManagerConnector.instance.cache[secretName];
|
|
3522
|
-
}
|
|
3523
|
-
static getGlobalConfigs() {
|
|
3524
|
-
return _SecretManagerConnector.getSecret("globalConfigs");
|
|
3525
|
-
}
|
|
3526
|
-
static getDbConfigs() {
|
|
3527
|
-
return _SecretManagerConnector.getSecret("dbConfigs");
|
|
3528
|
-
}
|
|
3529
|
-
static getTenantEnvConfigs(tenant) {
|
|
3530
|
-
const configs = _SecretManagerConnector.getSecret("tenantEnvConfigs");
|
|
3531
|
-
return tenant ? configs[tenant] : configs;
|
|
3532
|
-
}
|
|
3533
|
-
static getEnvSpecificConfigs(env) {
|
|
3534
|
-
const configs = _SecretManagerConnector.getSecret("envSpecificConfigs");
|
|
3535
|
-
return env ? configs[env] : configs;
|
|
3536
|
-
}
|
|
3537
|
-
static getInstance() {
|
|
3538
|
-
return _SecretManagerConnector.instance;
|
|
3539
|
-
}
|
|
3540
|
-
};
|
|
3541
|
-
SecretManagerConnector.instance = null;
|
|
3542
|
-
|
|
3543
3569
|
// src/node.ts
|
|
3570
|
+
init_SecretManagerConnector();
|
|
3544
3571
|
init_getDbByTenant();
|
|
3545
3572
|
var import_getModelByTenant2 = __toESM(require_getModelByTenant());
|
|
3546
3573
|
init_models();
|