@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 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 process.env)
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: process.env.REDIS_HOST,
1600
- REDIS_PORT: process.env.REDIS_PORT,
1601
- REDIS_PASSWORD: process.env.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 process.env)
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: process.env.REDIS_HOST,
1642
- REDIS_PORT: process.env.REDIS_PORT,
1643
- REDIS_PASSWORD: process.env.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 process.env)
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: process.env.REDIS_HOST,
1605
- REDIS_PORT: process.env.REDIS_PORT,
1606
- REDIS_PASSWORD: process.env.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 process.env)
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: process.env.REDIS_HOST,
1647
- REDIS_PORT: process.env.REDIS_PORT,
1648
- REDIS_PASSWORD: process.env.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();
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "1.24.4",
6
+ "version": "1.26.0",
7
7
  "description": "Utility functions for both browser and Node.js",
8
8
  "main": "dist/index.js",
9
9
  "module": "dist/index.mjs",