@brightchain/node-express-suite 0.26.1 → 0.26.2
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 +1 -1
- package/src/index.d.ts +2 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +5 -1
- package/src/index.js.map +1 -1
- package/src/lib/plugins/bright-db-database-plugin.d.ts +5 -1
- package/src/lib/plugins/bright-db-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/bright-db-database-plugin.js +15 -3
- package/src/lib/plugins/bright-db-database-plugin.js.map +1 -1
- package/src/lib/services/dev-store-seeder.d.ts +48 -0
- package/src/lib/services/dev-store-seeder.d.ts.map +1 -0
- package/src/lib/services/dev-store-seeder.js +95 -0
- package/src/lib/services/dev-store-seeder.js.map +1 -0
package/package.json
CHANGED
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';
|
package/src/index.d.ts.map
CHANGED
|
@@ -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"}
|
|
@@ -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
|
-
*
|
|
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;
|
|
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;IAuB5C;;;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
|
-
*
|
|
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
|
-
|
|
130
|
-
|
|
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);
|
|
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":";AAAA;;;;;;;;;GASG;;;AAWH,kDAA0D;
|
|
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,48 @@
|
|
|
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
|
+
* @returns The seeding result with member credentials.
|
|
42
|
+
*/
|
|
43
|
+
export declare function seedDevStore<TID extends PlatformID>(blockStore: IBlockStore, db: BrightDb, poolName: string): Promise<IDevStoreSeederResult>;
|
|
44
|
+
/**
|
|
45
|
+
* Print dev store seeding results to the console.
|
|
46
|
+
*/
|
|
47
|
+
export declare function printDevStoreResults(result: IDevStoreSeederResult): void;
|
|
48
|
+
//# 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;AA+BD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,GAAG,SAAS,UAAU,EACvD,UAAU,EAAE,WAAW,EACvB,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CA4BhC;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
|
+
*/
|
|
22
|
+
const DEFAULT_DEV_MEMBERS = [
|
|
23
|
+
{
|
|
24
|
+
label: 'System',
|
|
25
|
+
type: ecies_lib_1.MemberType.System,
|
|
26
|
+
name: 'system',
|
|
27
|
+
email: 'system@localhost',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
label: 'Admin',
|
|
31
|
+
type: ecies_lib_1.MemberType.User,
|
|
32
|
+
name: 'admin',
|
|
33
|
+
email: 'admin@localhost',
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
label: 'Member',
|
|
37
|
+
type: ecies_lib_1.MemberType.User,
|
|
38
|
+
name: 'member',
|
|
39
|
+
email: 'member@localhost',
|
|
40
|
+
},
|
|
41
|
+
];
|
|
42
|
+
/**
|
|
43
|
+
* Seed the dev database with basic members and print their credentials.
|
|
44
|
+
*
|
|
45
|
+
* @param blockStore - The block store backing the BrightDb instance.
|
|
46
|
+
* @param db - The BrightDb instance to seed.
|
|
47
|
+
* @param poolName - The dev pool name (for display purposes).
|
|
48
|
+
* @returns The seeding result with member credentials.
|
|
49
|
+
*/
|
|
50
|
+
async function seedDevStore(blockStore, db, poolName) {
|
|
51
|
+
// MemberStore.createMember() depends on ServiceProvider (eciesService, cblService).
|
|
52
|
+
// initializeBrightChain() is idempotent — safe to call even if already initialized.
|
|
53
|
+
(0, brightchain_lib_1.initializeBrightChain)();
|
|
54
|
+
const memberStore = new brightchain_lib_1.MemberStore(blockStore, db);
|
|
55
|
+
const results = [];
|
|
56
|
+
for (const def of DEFAULT_DEV_MEMBERS) {
|
|
57
|
+
const memberData = {
|
|
58
|
+
type: def.type,
|
|
59
|
+
name: def.name,
|
|
60
|
+
contactEmail: new ecies_lib_1.EmailString(def.email),
|
|
61
|
+
};
|
|
62
|
+
const { reference, mnemonic } = await memberStore.createMember(memberData);
|
|
63
|
+
results.push({
|
|
64
|
+
label: def.label,
|
|
65
|
+
name: def.name,
|
|
66
|
+
email: def.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;;AAsEH,oCAgCC;AAKD,oDAoBC;AA5HD,kEAIsC;AAEtC,0DAAqE;AAwBrE;;GAEG;AACH,MAAM,mBAAmB,GAKpB;IACH;QACE,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,sBAAU,CAAC,MAAM;QACvB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,KAAK,EAAE,OAAO;QACd,IAAI,EAAE,sBAAU,CAAC,IAAI;QACrB,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,sBAAU,CAAC,IAAI;QACrB,IAAI,EAAE,QAAQ;QACd,KAAK,EAAE,kBAAkB;KAC1B;CACF,CAAC;AAEF;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CAChC,UAAuB,EACvB,EAAY,EACZ,QAAgB;IAEhB,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,UAAU,GAAmB;YACjC,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,YAAY,EAAE,IAAI,uBAAW,CAAC,GAAG,CAAC,KAAK,CAAC;SACzC,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,EAAE,GAAG,CAAC,KAAK;YAChB,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"}
|