@brightchain/node-express-suite 0.29.12 → 0.29.13

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.29.12",
3
+ "version": "0.29.13",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
package/src/index.d.ts CHANGED
@@ -12,6 +12,7 @@ export { BlockDocumentStore, CollectionHeadRegistry } from './lib/datastore/bloc
12
12
  export * from './lib/datastore/block-document-store-factory';
13
13
  export * from './lib/datastore/document-store';
14
14
  export { MemoryDocumentStore } from './lib/datastore/memory-document-store';
15
+ export { BrightDbDocumentStoreAdapter } from './lib/datastore/bright-db-document-store-adapter';
15
16
  export type { IValidationError, IValidationResult } from './lib/validation/userValidation';
16
17
  export { validateRegistration, validateLogin, validatePasswordChange, validateRecovery, } from './lib/validation/userValidation';
17
18
  export { validateBody } from './lib/middleware/validateBody';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../brightchain-node-express-suite/src/index.ts"],"names":[],"mappings":"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"}
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.BrightDbApiRouter = exports.BrightDbUserController = exports.BrightDbAuthService = exports.SchemaCollection = 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;
10
+ exports.BrightDbApiRouter = exports.BrightDbUserController = exports.BrightDbAuthService = exports.SchemaCollection = 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.BrightDbDocumentStoreAdapter = 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; } });
@@ -16,6 +16,8 @@ tslib_1.__exportStar(require("./lib/datastore/block-document-store-factory"), ex
16
16
  tslib_1.__exportStar(require("./lib/datastore/document-store"), exports);
17
17
  var memory_document_store_1 = require("./lib/datastore/memory-document-store");
18
18
  Object.defineProperty(exports, "MemoryDocumentStore", { enumerable: true, get: function () { return memory_document_store_1.MemoryDocumentStore; } });
19
+ var bright_db_document_store_adapter_1 = require("./lib/datastore/bright-db-document-store-adapter");
20
+ Object.defineProperty(exports, "BrightDbDocumentStoreAdapter", { enumerable: true, get: function () { return bright_db_document_store_adapter_1.BrightDbDocumentStoreAdapter; } });
19
21
  var userValidation_1 = require("./lib/validation/userValidation");
20
22
  Object.defineProperty(exports, "validateRegistration", { enumerable: true, get: function () { return userValidation_1.validateRegistration; } });
21
23
  Object.defineProperty(exports, "validateLogin", { enumerable: true, get: function () { return userValidation_1.validateLogin; } });
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,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;AAqBnC,eAAe;AACf,0EAAwE;AAA/D,qHAAA,gBAAgB,OAAA;AAEzB,eAAe;AACf,4CAA0D;AAAjD,2GAAA,mBAAmB,OAAA;AAE5B,kBAAkB;AAClB,+CAAgE;AAAvD,8GAAA,sBAAsB,OAAA;AAE/B,aAAa;AACb,yCAAsD;AAA7C,wGAAA,iBAAiB,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;AAC5B,qGAAgG;AAAvF,gJAAA,4BAA4B,OAAA;AAIrC,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;AAqBnC,eAAe;AACf,0EAAwE;AAA/D,qHAAA,gBAAgB,OAAA;AAEzB,eAAe;AACf,4CAA0D;AAAjD,2GAAA,mBAAmB,OAAA;AAE5B,kBAAkB;AAClB,+CAAgE;AAAvD,8GAAA,sBAAsB,OAAA;AAE/B,aAAa;AACb,yCAAsD;AAA7C,wGAAA,iBAAiB,OAAA"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @fileoverview Adapter that wraps a BrightDb instance to conform to the
3
+ * Mongoose-style DocumentStore / DocumentCollection interfaces.
4
+ *
5
+ * BrightDb.Collection has a direct async API (async findOne → Promise,
6
+ * insertOne, Cursor-based find). DocumentCollection uses QueryBuilder
7
+ * (with .exec(), .select(), .lean(), etc.) and .create(). This adapter
8
+ * bridges the gap so `application.db` returns a proper DocumentStore.
9
+ *
10
+ * @module datastore/bright-db-document-store-adapter
11
+ */
12
+ import type { BrightDb } from '@brightchain/db';
13
+ import type { DocumentCollection, DocumentRecord, DocumentStore } from './document-store';
14
+ /**
15
+ * Wraps a BrightDb instance to implement the Mongoose-style DocumentStore
16
+ * interface. Each collection() call returns a BrightDbCollectionAdapter
17
+ * that bridges BrightDb's Collection API to DocumentCollection.
18
+ */
19
+ export declare class BrightDbDocumentStoreAdapter implements DocumentStore {
20
+ readonly brightDb: BrightDb;
21
+ private readonly _adapters;
22
+ constructor(brightDb: BrightDb);
23
+ collection<T extends DocumentRecord>(name: string): DocumentCollection<T>;
24
+ }
25
+ //# sourceMappingURL=bright-db-document-store-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bright-db-document-store-adapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/bright-db-document-store-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAElB,cAAc,EACd,aAAa,EAGd,MAAM,kBAAkB,CAAC;AA8J1B;;;;GAIG;AACH,qBAAa,4BAA6B,YAAW,aAAa;aAMpC,QAAQ,EAAE,QAAQ;IAL9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;gBAEwB,QAAQ,EAAE,QAAQ;IAE9C,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAU1E"}
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Adapter that wraps a BrightDb instance to conform to the
4
+ * Mongoose-style DocumentStore / DocumentCollection interfaces.
5
+ *
6
+ * BrightDb.Collection has a direct async API (async findOne → Promise,
7
+ * insertOne, Cursor-based find). DocumentCollection uses QueryBuilder
8
+ * (with .exec(), .select(), .lean(), etc.) and .create(). This adapter
9
+ * bridges the gap so `application.db` returns a proper DocumentStore.
10
+ *
11
+ * @module datastore/bright-db-document-store-adapter
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.BrightDbDocumentStoreAdapter = void 0;
15
+ /**
16
+ * Wrap an async function in a QueryBuilder-compatible object that supports
17
+ * .exec(), .select(), .limit(), .sort(), .skip(), .lean(), .populate(),
18
+ * and thenable (.then()).
19
+ */
20
+ function toQueryBuilder(fn) {
21
+ const qb = {
22
+ exec: () => fn(),
23
+ select: () => qb,
24
+ limit: () => qb,
25
+ sort: () => qb,
26
+ skip: () => qb,
27
+ lean: () => qb,
28
+ populate: () => qb,
29
+ collation: () => qb,
30
+ session: () => qb,
31
+ where: () => qb,
32
+ distinct: () => qb,
33
+ then: (onfulfilled, onrejected) => fn().then(onfulfilled, onrejected),
34
+ };
35
+ return qb;
36
+ }
37
+ /**
38
+ * Adapts a single BrightDb Collection to the Mongoose-style
39
+ * DocumentCollection interface.
40
+ */
41
+ class BrightDbCollectionAdapter {
42
+ _col;
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ constructor(_col) {
45
+ this._col = _col;
46
+ }
47
+ find(filter) {
48
+ return toQueryBuilder(async () => {
49
+ return (await this._col.find(filter ?? {}).toArray());
50
+ });
51
+ }
52
+ findOne(filter) {
53
+ return toQueryBuilder(async () => {
54
+ return (await this._col.findOne(filter ?? {}));
55
+ });
56
+ }
57
+ findById(id) {
58
+ return toQueryBuilder(async () => {
59
+ return (await this._col.findById(id));
60
+ });
61
+ }
62
+ findOneAndUpdate(filter, update) {
63
+ return toQueryBuilder(async () => {
64
+ const doc = await this._col.findOne(filter);
65
+ if (!doc)
66
+ return null;
67
+ await this._col.updateOne(filter, { $set: update });
68
+ return (await this._col.findOne({ _id: doc._id }));
69
+ });
70
+ }
71
+ findOneAndDelete(filter) {
72
+ return toQueryBuilder(async () => {
73
+ const doc = await this._col.findOne(filter);
74
+ if (!doc)
75
+ return null;
76
+ await this._col.deleteOne({ _id: doc._id });
77
+ return doc;
78
+ });
79
+ }
80
+ findByIdAndUpdate(id, update) {
81
+ return this.findOneAndUpdate({ _id: id }, update);
82
+ }
83
+ findByIdAndDelete(id) {
84
+ return this.findOneAndDelete({ _id: id });
85
+ }
86
+ async create(doc) {
87
+ const result = await this._col.insertOne(doc);
88
+ return { ...doc, _id: result.insertedId };
89
+ }
90
+ async insertMany(docs) {
91
+ const result = await this._col.insertMany(docs);
92
+ return docs.map((d, i) => ({
93
+ ...d,
94
+ _id: result.insertedIds[i] ?? d._id,
95
+ }));
96
+ }
97
+ async updateOne(filter, update) {
98
+ const r = await this._col.updateOne(filter, { $set: update });
99
+ return { modifiedCount: r.modifiedCount, matchedCount: r.matchedCount };
100
+ }
101
+ async updateMany(filter, update) {
102
+ const r = await this._col.updateMany(filter, { $set: update });
103
+ return { modifiedCount: r.modifiedCount, matchedCount: r.matchedCount };
104
+ }
105
+ async replaceOne(filter, doc) {
106
+ const r = await this._col.replaceOne(filter, doc);
107
+ return { modifiedCount: r.modifiedCount, matchedCount: r.matchedCount };
108
+ }
109
+ async deleteOne(filter) {
110
+ const r = await this._col.deleteOne(filter);
111
+ return { deletedCount: r.deletedCount };
112
+ }
113
+ async deleteMany(filter) {
114
+ const r = await this._col.deleteMany(filter);
115
+ return { deletedCount: r.deletedCount };
116
+ }
117
+ async countDocuments(filter) {
118
+ return this._col.countDocuments(filter ?? {});
119
+ }
120
+ async estimatedDocumentCount() {
121
+ return this._col.estimatedDocumentCount();
122
+ }
123
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
124
+ aggregate(pipeline) {
125
+ return toQueryBuilder(async () => {
126
+ return (await this._col.aggregate(pipeline));
127
+ });
128
+ }
129
+ distinct(field) {
130
+ return toQueryBuilder(async () => {
131
+ return (await this._col.distinct(field, {}));
132
+ });
133
+ }
134
+ async exists(filter) {
135
+ const doc = await this._col.findOne(filter);
136
+ return doc ? { _id: doc._id } : null;
137
+ }
138
+ }
139
+ /**
140
+ * Wraps a BrightDb instance to implement the Mongoose-style DocumentStore
141
+ * interface. Each collection() call returns a BrightDbCollectionAdapter
142
+ * that bridges BrightDb's Collection API to DocumentCollection.
143
+ */
144
+ class BrightDbDocumentStoreAdapter {
145
+ brightDb;
146
+ _adapters = new Map();
147
+ constructor(brightDb) {
148
+ this.brightDb = brightDb;
149
+ }
150
+ collection(name) {
151
+ if (!this._adapters.has(name)) {
152
+ const rawCol = this.brightDb.collection(name);
153
+ this._adapters.set(name, new BrightDbCollectionAdapter(rawCol));
154
+ }
155
+ return this._adapters.get(name);
156
+ }
157
+ }
158
+ exports.BrightDbDocumentStoreAdapter = BrightDbDocumentStoreAdapter;
159
+ //# sourceMappingURL=bright-db-document-store-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bright-db-document-store-adapter.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/bright-db-document-store-adapter.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ import type { BrightDb } from '@brightchain/db';
14
14
  import type { PlatformID } from '@digitaldefiance/node-ecies-lib';
15
15
  import type { IApplication, IAuthenticationProvider, IDatabasePlugin } from '@digitaldefiance/node-express-suite';
16
16
  import type { IDatabase } from '@digitaldefiance/suite-core-lib';
17
+ import type { DocumentStore } from '../datastore/document-store';
18
+ import { BrightDbDocumentStoreAdapter } from '../datastore/bright-db-document-store-adapter';
17
19
  import type { BrightDbEnvironment } from '../environment';
18
20
  export interface IBrightDbDatabasePluginOptions {
19
21
  skipAutoSeed?: boolean;
@@ -100,12 +102,13 @@ export declare class BrightDbDatabasePlugin<TID extends PlatformID> implements I
100
102
  * Subclasses override with domain-specific seeding (e.g. full RBAC).
101
103
  */
102
104
  initializeDevStore(): Promise<unknown>;
105
+ protected _documentStoreAdapter: BrightDbDocumentStoreAdapter | null;
103
106
  /**
104
107
  * Raw database connection object (IDatabasePlugin.db).
105
108
  * The upstream Application.get db() delegates to this property so that
106
- * `application.db` returns the BrightDb document store.
109
+ * `application.db` returns a DocumentStore-compatible wrapper around BrightDb.
107
110
  */
108
- get db(): BrightDb | undefined;
111
+ get db(): DocumentStore | undefined;
109
112
  /**
110
113
  * The block store backing the BrightDB database.
111
114
  * @throws Error if the plugin is not connected.
@@ -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,EAAsB,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,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;AAS1D,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;IACpE,wEAAwE;IACxE,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;gBAGzD,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;IASjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjD;;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;;;;;;;;;;;OAWG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IA8C5C;;;;OAIG;IACH,IAAI,EAAE,IAAI,QAAQ,GAAG,SAAS,CAE7B;IAID;;;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,EAAsB,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,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,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAS1D,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;IACpE,wEAAwE;IACxE,SAAS,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAQ;gBAGzD,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;IAUjC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;OAWG;IACG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BjD;;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;;;;;;;;;;;OAWG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4C5C,SAAS,CAAC,qBAAqB,EAAE,4BAA4B,GAAG,IAAI,CAAQ;IAI5E;;;;OAIG;IACH,IAAI,EAAE,IAAI,aAAa,GAAG,SAAS,CAMlC;IAID;;;OAGG;IACH,IAAI,UAAU,IAAI,WAAW,CAO5B;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAOvB;CACF"}
@@ -14,6 +14,7 @@ exports.BrightDbDatabasePlugin = void 0;
14
14
  const brightchain_lib_1 = require("@brightchain/brightchain-lib");
15
15
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
16
16
  const databaseInit_1 = require("../databaseInit");
17
+ const bright_db_document_store_adapter_1 = require("../datastore/bright-db-document-store-adapter");
17
18
  const auth_1 = require("../services/auth");
18
19
  const dev_store_seeder_1 = require("../services/dev-store-seeder");
19
20
  class BrightDbDatabasePlugin {
@@ -79,6 +80,7 @@ class BrightDbDatabasePlugin {
79
80
  this._brightDb = null;
80
81
  this._authProvider = null;
81
82
  this._initMemberStore = null;
83
+ this._documentStoreAdapter = null;
82
84
  this._connected = false;
83
85
  }
84
86
  /**
@@ -175,14 +177,20 @@ class BrightDbDatabasePlugin {
175
177
  }
176
178
  return result;
177
179
  }
180
+ _documentStoreAdapter = null;
178
181
  // ── IDatabasePlugin.db ─────────────────────────────────────────────
179
182
  /**
180
183
  * Raw database connection object (IDatabasePlugin.db).
181
184
  * The upstream Application.get db() delegates to this property so that
182
- * `application.db` returns the BrightDb document store.
185
+ * `application.db` returns a DocumentStore-compatible wrapper around BrightDb.
183
186
  */
184
187
  get db() {
185
- return this._brightDb ?? undefined;
188
+ if (!this._brightDb)
189
+ return undefined;
190
+ if (!this._documentStoreAdapter || this._documentStoreAdapter.brightDb !== this._brightDb) {
191
+ this._documentStoreAdapter = new bright_db_document_store_adapter_1.BrightDbDocumentStoreAdapter(this._brightDb);
192
+ }
193
+ return this._documentStoreAdapter;
186
194
  }
187
195
  // ── Typed accessors ───────────────────────────────────────────────
188
196
  /**
@@ -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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"}