@brightchain/node-express-suite 0.26.1 → 0.27.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightchain/node-express-suite",
3
- "version": "0.26.1",
3
+ "version": "0.27.0",
4
4
  "private": false,
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -12,7 +12,7 @@
12
12
  "@digitaldefiance/branded-interface": "^0.0.5",
13
13
  "@digitaldefiance/node-ecies-lib": "^4.20.0",
14
14
  "@digitaldefiance/node-express-suite": "^4.20.1",
15
- "@brightchain/brightchain-lib": "^0.25.0",
16
- "@brightchain/db": "^0.25.0"
15
+ "@brightchain/brightchain-lib": "^0.27.0",
16
+ "@brightchain/db": "^0.27.0"
17
17
  }
18
18
  }
package/src/index.d.ts CHANGED
@@ -24,6 +24,8 @@ export { BrightDbEnvironment } from './lib/environment';
24
24
  export type { IAzureEnvironmentConfig, IS3EnvironmentConfig } from './lib/interfaces/environment';
25
25
  export { BrightDbDatabasePlugin } from './lib/plugins/bright-db-database-plugin';
26
26
  export type { IBrightDbDatabasePluginOptions } from './lib/plugins/bright-db-database-plugin';
27
+ export { seedDevStore, printDevStoreResults, } from './lib/services/dev-store-seeder';
28
+ export type { IDevMemberResult, IDevStoreSeederResult, } from './lib/services/dev-store-seeder';
27
29
  export { BrightDbApplication } from './lib/application';
28
30
  export type { IBrightDbApplication } from './lib/interfaces/bright-db-application';
29
31
  export { configureBrightDbApp } from './lib/plugins/configure-bright-db-app';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,YAAY,EACV,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAClG,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,YAAY,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGlG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAG9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,YAAY,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAGxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,YAAY,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAGnG,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,YAAY,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,SAAS,GACV,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,oBAAoB,IAAI,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG5F,YAAY,EACV,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAClG,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAG1E,YAAY,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAGtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGlG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,YAAY,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAG9F,OAAO,EACL,YAAY,EACZ,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EACV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,YAAY,EAAE,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AAGxF,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,cAAc,gBAAgB,CAAC;AAG/B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAC9F,YAAY,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AAGnG,YAAY,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC"}
package/src/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * @brightchain/brightchain-api-lib (domain-specific).
8
8
  */
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.BrightDbTransactionManager = exports.BrightDbModelRegistry = exports.BrightDbBaseService = exports.BrightDbCollection = exports.createTestApp = exports.BrightDbMiddlewares = exports.BrightDbConstants = exports.BrightDbAuthenticationProvider = exports.configureBrightDbApp = exports.BrightDbApplication = exports.BrightDbDatabasePlugin = exports.BrightDbEnvironment = exports.BlockStoreFactory = exports.brightchainDatabaseInit = exports.BrightChainSessionAdapter = exports.validateBody = exports.validateRecovery = exports.validatePasswordChange = exports.validateLogin = exports.validateRegistration = exports.MemoryDocumentStore = exports.CollectionHeadRegistry = exports.BlockDocumentStore = void 0;
10
+ exports.BrightDbTransactionManager = exports.BrightDbModelRegistry = exports.BrightDbBaseService = exports.BrightDbCollection = exports.createTestApp = exports.BrightDbMiddlewares = exports.BrightDbConstants = exports.BrightDbAuthenticationProvider = exports.configureBrightDbApp = exports.BrightDbApplication = exports.printDevStoreResults = exports.seedDevStore = exports.BrightDbDatabasePlugin = exports.BrightDbEnvironment = exports.BlockStoreFactory = exports.brightchainDatabaseInit = exports.BrightChainSessionAdapter = exports.validateBody = exports.validateRecovery = exports.validatePasswordChange = exports.validateLogin = exports.validateRegistration = exports.MemoryDocumentStore = exports.CollectionHeadRegistry = exports.BlockDocumentStore = void 0;
11
11
  const tslib_1 = require("tslib");
12
12
  var block_document_store_1 = require("./lib/datastore/block-document-store");
13
13
  Object.defineProperty(exports, "BlockDocumentStore", { enumerable: true, get: function () { return block_document_store_1.BlockDocumentStore; } });
@@ -37,6 +37,10 @@ Object.defineProperty(exports, "BrightDbEnvironment", { enumerable: true, get: f
37
37
  // Plugins
38
38
  var bright_db_database_plugin_1 = require("./lib/plugins/bright-db-database-plugin");
39
39
  Object.defineProperty(exports, "BrightDbDatabasePlugin", { enumerable: true, get: function () { return bright_db_database_plugin_1.BrightDbDatabasePlugin; } });
40
+ // Dev Store Seeder
41
+ var dev_store_seeder_1 = require("./lib/services/dev-store-seeder");
42
+ Object.defineProperty(exports, "seedDevStore", { enumerable: true, get: function () { return dev_store_seeder_1.seedDevStore; } });
43
+ Object.defineProperty(exports, "printDevStoreResults", { enumerable: true, get: function () { return dev_store_seeder_1.printDevStoreResults; } });
40
44
  // Application
41
45
  var application_1 = require("./lib/application");
42
46
  Object.defineProperty(exports, "BrightDbApplication", { enumerable: true, get: function () { return application_1.BrightDbApplication; } });
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAsBH,6EAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACnD,uFAA6D;AAC7D,yEAA+C;AAC/C,+EAA4E;AAAnE,4HAAA,mBAAmB,OAAA;AAI5B,kEAKyC;AAJvC,sHAAA,oBAAoB,OAAA;AACpB,+GAAA,aAAa,OAAA;AACb,wHAAA,sBAAsB,OAAA;AACtB,kHAAA,gBAAgB,OAAA;AAGlB,aAAa;AACb,8DAA6D;AAApD,4GAAA,YAAY,OAAA;AAIrB,gEAA0E;AAAjE,2HAAA,yBAAyB,OAAA;AAIlC,mDAA6D;AAApD,uHAAA,uBAAuB,OAAA;AAEhC,YAAY;AACZ,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,UAAU;AACV,qFAAiF;AAAxE,mIAAA,sBAAsB,OAAA;AAG/B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,uBAAuB;AACvB,iFAA6E;AAApE,+HAAA,oBAAoB,OAAA;AAG7B,0BAA0B;AAC1B,sGAAkG;AAAzF,mJAAA,8BAA8B,OAAA;AAEvC,YAAY;AACZ,6CAAoD;AAA3C,8GAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAE5B,sBAAsB;AACtB,yDAA+B;AAE/B,sBAAsB;AACtB,yDAA+B;AAE/B,6BAA6B;AAC7B,gEAAsC;AAEtC,iBAAiB;AACjB,yDAAsD;AAA7C,gHAAA,aAAa,OAAA;AAGtB,2BAA2B;AAC3B,4EAAyE;AAAhE,0HAAA,kBAAkB,OAAA;AAC3B,gFAA4E;AAAnE,6HAAA,mBAAmB,OAAA;AAC5B,2EAAuE;AAA9D,iIAAA,qBAAqB,OAAA;AAE9B,kGAA8F;AAArF,2IAAA,0BAA0B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;AAsBH,6EAAkG;AAAzF,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACnD,uFAA6D;AAC7D,yEAA+C;AAC/C,+EAA4E;AAAnE,4HAAA,mBAAmB,OAAA;AAI5B,kEAKyC;AAJvC,sHAAA,oBAAoB,OAAA;AACpB,+GAAA,aAAa,OAAA;AACb,wHAAA,sBAAsB,OAAA;AACtB,kHAAA,gBAAgB,OAAA;AAGlB,aAAa;AACb,8DAA6D;AAApD,4GAAA,YAAY,OAAA;AAIrB,gEAA0E;AAAjE,2HAAA,yBAAyB,OAAA;AAIlC,mDAA6D;AAApD,uHAAA,uBAAuB,OAAA;AAEhC,YAAY;AACZ,uEAAsE;AAA7D,sHAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,UAAU;AACV,qFAAiF;AAAxE,mIAAA,sBAAsB,OAAA;AAG/B,mBAAmB;AACnB,oEAGyC;AAFvC,gHAAA,YAAY,OAAA;AACZ,wHAAA,oBAAoB,OAAA;AAOtB,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAG5B,uBAAuB;AACvB,iFAA6E;AAApE,+HAAA,oBAAoB,OAAA;AAG7B,0BAA0B;AAC1B,sGAAkG;AAAzF,mJAAA,8BAA8B,OAAA;AAEvC,YAAY;AACZ,6CAAoD;AAA3C,8GAAA,iBAAiB,OAAA;AAE1B,cAAc;AACd,iDAAwD;AAA/C,kHAAA,mBAAmB,OAAA;AAE5B,sBAAsB;AACtB,yDAA+B;AAE/B,sBAAsB;AACtB,yDAA+B;AAE/B,6BAA6B;AAC7B,gEAAsC;AAEtC,iBAAiB;AACjB,yDAAsD;AAA7C,gHAAA,aAAa,OAAA;AAGtB,2BAA2B;AAC3B,4EAAyE;AAAhE,0HAAA,kBAAkB,OAAA;AAC3B,gFAA4E;AAAnE,6HAAA,mBAAmB,OAAA;AAC5B,2EAAuE;AAA9D,iIAAA,qBAAqB,OAAA;AAE9B,kGAA8F;AAArF,2IAAA,0BAA0B,OAAA"}
@@ -6,7 +6,7 @@ const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
6
6
  * Generic BrightDB constants using createExpressConstants with minimal defaults.
7
7
  * Domain-specific constants (site name, tagline, etc.) are set by consuming libraries.
8
8
  */
9
- exports.BrightDbConstants = (0, node_express_suite_1.createExpressConstants)('localhost', 'localhost', {
9
+ exports.BrightDbConstants = (0, node_express_suite_1.createExpressConstants)({
10
10
  Site: 'BrightDB',
11
11
  });
12
12
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,4EAA6E;AAE7E;;;GAGG;AACU,QAAA,iBAAiB,GAAG,IAAA,2CAAsB,EAAC,WAAW,EAAE,WAAW,EAAE;IAChF,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,4EAA6E;AAE7E;;;GAGG;AACU,QAAA,iBAAiB,GAAG,IAAA,2CAAsB,EAAC;IACtD,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC"}
@@ -24,6 +24,7 @@ export declare class BrightDbEnvironment<TID extends PlatformID = DefaultBackend
24
24
  protected _azureConfig?: IAzureEnvironmentConfig;
25
25
  protected _s3Config?: IS3EnvironmentConfig;
26
26
  protected _memberPoolName: string;
27
+ protected _emailDomain: string;
27
28
  constructor(path?: string, initialization?: boolean, override?: boolean, constants?: IConstants);
28
29
  get blockStorePath(): string | undefined;
29
30
  /**
@@ -60,5 +61,17 @@ export declare class BrightDbEnvironment<TID extends PlatformID = DefaultBackend
60
61
  * Member pool name (e.g. 'BrightChain')
61
62
  */
62
63
  get memberPoolName(): string;
64
+ /**
65
+ * The canonical email domain for this BrightChain instance.
66
+ * Parsed from `EMAIL_DOMAIN` env var, falling back to the domain portion
67
+ * of `EMAIL_SENDER`, or `'example.com'` if neither is set.
68
+ */
69
+ get emailDomain(): string;
70
+ /**
71
+ * Update the email domain at runtime (hot-reload support).
72
+ * @param newDomain - The new canonical email domain
73
+ * @see Requirement 8.5 — dynamic configuration reload
74
+ */
75
+ set emailDomain(newDomain: string);
63
76
  }
64
77
  //# sourceMappingURL=environment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,UAAU,EACX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,cAAc,EAEf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBAAa,mBAAmB,CAAC,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC5E,SAAQ,eAAe,CAAC,GAAG,CAAC;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC;IAC7C,SAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC3C,SAAS,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACjD,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAC3C,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAGhC,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,UAAQ,EACtB,QAAQ,UAAO,EACf,SAAS,CAAC,EAAE,UAAU;IAkHxB,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IAED;;;OAGG;IACH,IAAW,oBAAoB,IAAI,SAAS,SAAS,EAAE,CAEtD;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,SAAS,CAE1C;IAED,IAAW,sBAAsB,IAAI,OAAO,CAE3C;IAED;;;OAGG;IACH,IAAW,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEnD;IAED;;;OAGG;IACH,IAAW,cAAc,IAAI,cAAc,CAE1C;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI,uBAAuB,GAAG,SAAS,CAE5D;IAED;;;OAGG;IACH,IAAW,QAAQ,IAAI,oBAAoB,GAAG,SAAS,CAEtD;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAElC;CACF"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/environment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,UAAU,EACX,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,SAAS,EACT,cAAc,EAEf,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBAAa,mBAAmB,CAAC,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC5E,SAAQ,eAAe,CAAC,GAAG,CAAC;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC;IAC7C,SAAS,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC3C,SAAS,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IACnD,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAC1C,SAAS,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACjD,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAC3C,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;gBAG7B,IAAI,CAAC,EAAE,MAAM,EACb,cAAc,UAAQ,EACtB,QAAQ,UAAO,EACf,SAAS,CAAC,EAAE,UAAU;IAkIxB,IAAW,cAAc,IAAI,MAAM,GAAG,SAAS,CAE9C;IAED;;;OAGG;IACH,IAAW,oBAAoB,IAAI,SAAS,SAAS,EAAE,CAEtD;IAED;;OAEG;IACH,IAAW,mBAAmB,IAAI,SAAS,CAE1C;IAED,IAAW,sBAAsB,IAAI,OAAO,CAE3C;IAED;;;OAGG;IACH,IAAW,mBAAmB,IAAI,MAAM,GAAG,SAAS,CAEnD;IAED;;;OAGG;IACH,IAAW,cAAc,IAAI,cAAc,CAE1C;IAED;;;OAGG;IACH,IAAW,WAAW,IAAI,uBAAuB,GAAG,SAAS,CAE5D;IAED;;;OAGG;IACH,IAAW,QAAQ,IAAI,oBAAoB,GAAG,SAAS,CAEtD;IAED;;OAEG;IACH,IAAW,cAAc,IAAI,MAAM,CAElC;IACD;;;;OAIG;IACH,IAAoB,WAAW,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACH,IAAoB,WAAW,CAAC,SAAS,EAAE,MAAM,EAEhD;CACF"}
@@ -24,6 +24,7 @@ class BrightDbEnvironment extends node_express_suite_1.Environment {
24
24
  _azureConfig;
25
25
  _s3Config;
26
26
  _memberPoolName;
27
+ _emailDomain;
27
28
  constructor(path, initialization = false, override = true, constants) {
28
29
  super(path, initialization, override, constants);
29
30
  const envObj = this.getObject();
@@ -57,6 +58,22 @@ class BrightDbEnvironment extends node_express_suite_1.Environment {
57
58
  }
58
59
  // --- Member pool name ---
59
60
  this._memberPoolName = envObj['MEMBER_POOL_NAME'] ?? 'BrightChain';
61
+ // --- Email domain ---
62
+ // Temporary: duplicated here until upstream node-express-suite publishes
63
+ // with emailDomain on BaseEnvironment. Once published, this override
64
+ // becomes redundant but harmless.
65
+ const rawEmailDomain = envObj['EMAIL_DOMAIN'];
66
+ if (rawEmailDomain && rawEmailDomain.trim().length > 0) {
67
+ this._emailDomain = rawEmailDomain.trim();
68
+ }
69
+ else {
70
+ const emailSender = envObj['EMAIL_SENDER'];
71
+ const senderDomain = emailSender?.split('@')[1];
72
+ this._emailDomain =
73
+ senderDomain && senderDomain.trim().length > 0
74
+ ? senderDomain.trim()
75
+ : 'example.com';
76
+ }
60
77
  // --- Block store type ---
61
78
  const rawStoreType = (envObj['BRIGHTCHAIN_BLOCKSTORE_TYPE'] ?? 'disk').toLowerCase();
62
79
  if (!Object.values(brightchain_lib_1.BlockStoreType).includes(rawStoreType)) {
@@ -160,6 +177,22 @@ class BrightDbEnvironment extends node_express_suite_1.Environment {
160
177
  get memberPoolName() {
161
178
  return this._memberPoolName;
162
179
  }
180
+ /**
181
+ * The canonical email domain for this BrightChain instance.
182
+ * Parsed from `EMAIL_DOMAIN` env var, falling back to the domain portion
183
+ * of `EMAIL_SENDER`, or `'example.com'` if neither is set.
184
+ */
185
+ get emailDomain() {
186
+ return this._emailDomain;
187
+ }
188
+ /**
189
+ * Update the email domain at runtime (hot-reload support).
190
+ * @param newDomain - The new canonical email domain
191
+ * @see Requirement 8.5 — dynamic configuration reload
192
+ */
193
+ set emailDomain(newDomain) {
194
+ this._emailDomain = newDomain;
195
+ }
163
196
  }
164
197
  exports.BrightDbEnvironment = BrightDbEnvironment;
165
198
  //# sourceMappingURL=environment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/environment.ts"],"names":[],"mappings":"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"}
@@ -85,7 +85,11 @@ export declare class BrightDbDatabasePlugin<TID extends PlatformID> implements I
85
85
  teardownDevStore(): Promise<void>;
86
86
  /**
87
87
  * Seed the dev database after connection.
88
- * Subclasses override with domain-specific seeding.
88
+ *
89
+ * Creates three members (system, admin, member) using MemberStore and
90
+ * prints their credentials to the console so the user can log in.
91
+ *
92
+ * Subclasses override with domain-specific seeding (e.g. full RBAC).
89
93
  */
90
94
  initializeDevStore(): Promise<unknown>;
91
95
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bright-db-database-plugin.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/plugins/bright-db-database-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,8BAA8B;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,sBAAsB,CAAC,GAAG,SAAS,UAAU,CACxD,YAAW,eAAe,CAAC,GAAG,CAAC;IAE/B,SAAgB,IAAI,EAAE,MAAM,CAAc;IAC1C,SAAgB,OAAO,EAAE,MAAM,CAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;IACjD,SAAS,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,aAAa,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;gBAGlE,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,EACrC,OAAO,GAAE,8BAAmC;IAQ9C;;;;OAIG;IACH,IAAI,QAAQ,IAAI,SAAS,CAOxB;IAED;;;OAGG;IACH,IAAI,sBAAsB,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,SAAS,CAErE;IAED;;;;;;;;OAQG;IACG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;OAUG;IACG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAO5C;;;OAGG;IACH,IAAI,UAAU,IAAI,WAAW,CAO5B;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAOvB;CACF"}
1
+ {"version":3,"file":"bright-db-database-plugin.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/plugins/bright-db-database-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EACV,YAAY,EACZ,uBAAuB,EACvB,eAAe,EAChB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAO1D,MAAM,WAAW,8BAA8B;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,qBAAa,sBAAsB,CAAC,GAAG,SAAS,UAAU,CACxD,YAAW,eAAe,CAAC,GAAG,CAAC;IAE/B,SAAgB,IAAI,EAAE,MAAM,CAAc;IAC1C,SAAgB,OAAO,EAAE,MAAM,CAAW;IAE1C,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC1D,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,UAAU,UAAS;IAC7B,SAAS,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAQ;IACjD,SAAS,CAAC,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAC5C,SAAS,CAAC,aAAa,EAAE,uBAAuB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;gBAGlE,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,EACrC,OAAO,GAAE,8BAAmC;IAQ9C;;;;OAIG;IACH,IAAI,QAAQ,IAAI,SAAS,CAOxB;IAED;;;OAGG;IACH,IAAI,sBAAsB,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,SAAS,CAErE;IAED;;;;;;;;OAQG;IACG,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY3C;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;OAUG;IACG,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAM3B;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAKtC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;;;;;OAOG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAwB5C;;;OAGG;IACH,IAAI,UAAU,IAAI,WAAW,CAO5B;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAOvB;CACF"}
@@ -12,6 +12,7 @@
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.BrightDbDatabasePlugin = void 0;
14
14
  const databaseInit_1 = require("../databaseInit");
15
+ const dev_store_seeder_1 = require("../services/dev-store-seeder");
15
16
  class BrightDbDatabasePlugin {
16
17
  name = 'brightdb';
17
18
  version = '1.0.0';
@@ -123,11 +124,22 @@ class BrightDbDatabasePlugin {
123
124
  }
124
125
  /**
125
126
  * Seed the dev database after connection.
126
- * Subclasses override with domain-specific seeding.
127
+ *
128
+ * Creates three members (system, admin, member) using MemberStore and
129
+ * prints their credentials to the console so the user can log in.
130
+ *
131
+ * Subclasses override with domain-specific seeding (e.g. full RBAC).
127
132
  */
128
133
  async initializeDevStore() {
129
- // Subclasses override with domain-specific seeding
130
- return {};
134
+ if (!this._blockStore || !this._brightDb) {
135
+ console.warn('[BrightDB] initializeDevStore() called before connect() — skipping.');
136
+ return {};
137
+ }
138
+ const poolName = this._environment.devDatabasePoolName ??
139
+ this._environment.memberPoolName;
140
+ const result = await (0, dev_store_seeder_1.seedDevStore)(this._blockStore, this._brightDb, poolName, this._environment.emailDomain);
141
+ (0, dev_store_seeder_1.printDevStoreResults)(result);
142
+ return result;
131
143
  }
132
144
  // ── Typed accessors ───────────────────────────────────────────────
133
145
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"bright-db-database-plugin.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/plugins/bright-db-database-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bright-db-database-plugin.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/plugins/bright-db-database-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @fileoverview Lightweight dev store seeder for BrightDB-backed applications.
3
+ *
4
+ * Creates three members (system, admin, member) using MemberStore.createMember()
5
+ * and prints their credentials so the user can log in during development.
6
+ *
7
+ * This is the base-level seeding that works with only brightchain-lib + db.
8
+ * The full BrightChain RBAC seeding (roles, user-roles, mnemonics) lives in
9
+ * brightchain-api-lib's BrightChainDatabasePlugin.initializeDevStore() override.
10
+ *
11
+ * @module services/dev-store-seeder
12
+ */
13
+ import type { IBlockStore } from '@brightchain/brightchain-lib';
14
+ import type { BrightDb } from '@brightchain/db';
15
+ import { MemberType } from '@digitaldefiance/ecies-lib';
16
+ import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
17
+ /**
18
+ * Result of a single member creation during dev seeding.
19
+ */
20
+ export interface IDevMemberResult {
21
+ label: string;
22
+ name: string;
23
+ email: string;
24
+ mnemonic: string;
25
+ id: string;
26
+ type: MemberType;
27
+ }
28
+ /**
29
+ * Full result of dev store seeding.
30
+ */
31
+ export interface IDevStoreSeederResult {
32
+ members: IDevMemberResult[];
33
+ poolName: string;
34
+ }
35
+ /**
36
+ * Seed the dev database with basic members and print their credentials.
37
+ *
38
+ * @param blockStore - The block store backing the BrightDb instance.
39
+ * @param db - The BrightDb instance to seed.
40
+ * @param poolName - The dev pool name (for display purposes).
41
+ * @param emailDomain - Domain for dev member email addresses (e.g. 'example.com').
42
+ * @returns The seeding result with member credentials.
43
+ */
44
+ export declare function seedDevStore<TID extends PlatformID>(blockStore: IBlockStore, db: BrightDb, poolName: string, emailDomain?: string): Promise<IDevStoreSeederResult>;
45
+ /**
46
+ * Print dev store seeding results to the console.
47
+ */
48
+ export declare function printDevStoreResults(result: IDevStoreSeederResult): void;
49
+ //# sourceMappingURL=dev-store-seeder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-store-seeder.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/services/dev-store-seeder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAMhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAe,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAGlE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4BD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,GAAG,SAAS,UAAU,EACvD,UAAU,EAAE,WAAW,EACvB,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,WAAW,SAAgB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CA6BhC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAoBxE"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Lightweight dev store seeder for BrightDB-backed applications.
4
+ *
5
+ * Creates three members (system, admin, member) using MemberStore.createMember()
6
+ * and prints their credentials so the user can log in during development.
7
+ *
8
+ * This is the base-level seeding that works with only brightchain-lib + db.
9
+ * The full BrightChain RBAC seeding (roles, user-roles, mnemonics) lives in
10
+ * brightchain-api-lib's BrightChainDatabasePlugin.initializeDevStore() override.
11
+ *
12
+ * @module services/dev-store-seeder
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.seedDevStore = seedDevStore;
16
+ exports.printDevStoreResults = printDevStoreResults;
17
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
18
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
19
+ /**
20
+ * Default member definitions for dev seeding.
21
+ * Email addresses are built dynamically from the configured email domain.
22
+ */
23
+ const DEFAULT_DEV_MEMBERS = [
24
+ {
25
+ label: 'System',
26
+ type: ecies_lib_1.MemberType.System,
27
+ name: 'system',
28
+ },
29
+ {
30
+ label: 'Admin',
31
+ type: ecies_lib_1.MemberType.User,
32
+ name: 'admin',
33
+ },
34
+ {
35
+ label: 'Member',
36
+ type: ecies_lib_1.MemberType.User,
37
+ name: 'member',
38
+ },
39
+ ];
40
+ /**
41
+ * Seed the dev database with basic members and print their credentials.
42
+ *
43
+ * @param blockStore - The block store backing the BrightDb instance.
44
+ * @param db - The BrightDb instance to seed.
45
+ * @param poolName - The dev pool name (for display purposes).
46
+ * @param emailDomain - Domain for dev member email addresses (e.g. 'example.com').
47
+ * @returns The seeding result with member credentials.
48
+ */
49
+ async function seedDevStore(blockStore, db, poolName, emailDomain = 'example.com') {
50
+ // MemberStore.createMember() depends on ServiceProvider (eciesService, cblService).
51
+ // initializeBrightChain() is idempotent — safe to call even if already initialized.
52
+ (0, brightchain_lib_1.initializeBrightChain)();
53
+ const memberStore = new brightchain_lib_1.MemberStore(blockStore, db);
54
+ const results = [];
55
+ for (const def of DEFAULT_DEV_MEMBERS) {
56
+ const email = `${def.name}@${emailDomain}`;
57
+ const memberData = {
58
+ type: def.type,
59
+ name: def.name,
60
+ contactEmail: new ecies_lib_1.EmailString(email),
61
+ };
62
+ const { reference, mnemonic } = await memberStore.createMember(memberData);
63
+ results.push({
64
+ label: def.label,
65
+ name: def.name,
66
+ email,
67
+ mnemonic: mnemonic.toString(),
68
+ id: String(reference.id),
69
+ type: def.type,
70
+ });
71
+ }
72
+ return { members: results, poolName };
73
+ }
74
+ /**
75
+ * Print dev store seeding results to the console.
76
+ */
77
+ function printDevStoreResults(result) {
78
+ const log = (msg) => console.log(msg);
79
+ log('');
80
+ log('=== BrightChain Dev Account Credentials ===');
81
+ log('');
82
+ log(` Pool: ${result.poolName}`);
83
+ log(` Block Store: in-memory (ephemeral)`);
84
+ log('');
85
+ for (const member of result.members) {
86
+ log(` ${member.label} ID: ${member.id}`);
87
+ log(` ${member.label} Name: ${member.name}`);
88
+ log(` ${member.label} Email: ${member.email}`);
89
+ log(` ${member.label} Mnemonic: ${member.mnemonic}`);
90
+ log('');
91
+ }
92
+ log('=== End BrightChain Dev Account Credentials ===');
93
+ log('');
94
+ }
95
+ //# sourceMappingURL=dev-store-seeder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-store-seeder.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/services/dev-store-seeder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;AAoEH,oCAkCC;AAKD,oDAoBC;AA5HD,kEAIsC;AAEtC,0DAAqE;AAwBrE;;;GAGG;AACH,MAAM,mBAAmB,GAIpB;IACH;QACE,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,sBAAU,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ;KACf;IACD;QACE,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,sBAAU,CAAC,IAAI;QACrB,IAAI,EAAE,OAAO;KACd;IACD;QACE,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,sBAAU,CAAC,IAAI;QACrB,IAAI,EAAE,QAAQ;KACf;CACF,CAAC;AAEF;;;;;;;;GAQG;AACI,KAAK,UAAU,YAAY,CAChC,UAAuB,EACvB,EAAY,EACZ,QAAgB,EAChB,WAAW,GAAG,aAAa;IAE3B,oFAAoF;IACpF,oFAAoF;IACpF,IAAA,uCAAqB,GAAE,CAAC;IAExB,MAAM,WAAW,GAAG,IAAI,6BAAW,CAAM,UAAU,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAuB,EAAE,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,GAAG,GAAG,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAmB;YACjC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,IAAI,uBAAW,CAAC,KAAK,CAAC;SACrC,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE3E,OAAO,CAAC,IAAI,CAAC;YACX,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK;YACL,QAAQ,EAAG,QAAyB,CAAC,QAAQ,EAAE;YAC/C,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACxB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,MAA6B;IAChE,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9C,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,6CAA6C,CAAC,CAAC;IACnD,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,mBAAmB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAC7C,GAAG,CAAC,EAAE,CAAC,CAAC;IAER,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,cAAc,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;IAED,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACvD,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC"}