@brightchain/node-express-suite 0.29.12 → 0.29.14
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 +1 -0
- package/src/index.d.ts.map +1 -1
- package/src/index.js +3 -1
- package/src/index.js.map +1 -1
- package/src/lib/datastore/bright-db-document-store-adapter.d.ts +25 -0
- package/src/lib/datastore/bright-db-document-store-adapter.d.ts.map +1 -0
- package/src/lib/datastore/bright-db-document-store-adapter.js +159 -0
- package/src/lib/datastore/bright-db-document-store-adapter.js.map +1 -0
- package/src/lib/plugins/bright-db-database-plugin.d.ts +5 -2
- package/src/lib/plugins/bright-db-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/bright-db-database-plugin.js +15 -2
- package/src/lib/plugins/bright-db-database-plugin.js.map +1 -1
package/package.json
CHANGED
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';
|
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;
|
|
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;
|
|
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
|
|
109
|
+
* `application.db` returns a DocumentStore-compatible wrapper around BrightDb.
|
|
107
110
|
*/
|
|
108
|
-
get db():
|
|
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;
|
|
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;AAU1D,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;IAkCjD;;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,7 +14,9 @@ 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");
|
|
19
|
+
const bright_db_authentication_provider_1 = require("../services/bright-db-authentication-provider");
|
|
18
20
|
const dev_store_seeder_1 = require("../services/dev-store-seeder");
|
|
19
21
|
class BrightDbDatabasePlugin {
|
|
20
22
|
name = 'brightdb';
|
|
@@ -79,6 +81,7 @@ class BrightDbDatabasePlugin {
|
|
|
79
81
|
this._brightDb = null;
|
|
80
82
|
this._authProvider = null;
|
|
81
83
|
this._initMemberStore = null;
|
|
84
|
+
this._documentStoreAdapter = null;
|
|
82
85
|
this._connected = false;
|
|
83
86
|
}
|
|
84
87
|
/**
|
|
@@ -104,6 +107,10 @@ class BrightDbDatabasePlugin {
|
|
|
104
107
|
// can find them via the service container without requiring the consuming
|
|
105
108
|
// application to wire them manually.
|
|
106
109
|
if (this._blockStore && this._brightDb) {
|
|
110
|
+
// Create the authentication provider so the upstream Application can
|
|
111
|
+
// wire it as application.authProvider (used by authenticate-token
|
|
112
|
+
// middleware for /api/user/verify and other auth: true routes).
|
|
113
|
+
this._authProvider = new bright_db_authentication_provider_1.BrightDbAuthenticationProvider(this._brightDb, app.environment.jwtSecret);
|
|
107
114
|
const memberStore = new brightchain_lib_1.MemberStore(this._blockStore, this._brightDb);
|
|
108
115
|
const energyStore = new brightchain_lib_1.EnergyAccountStore();
|
|
109
116
|
this._initMemberStore = memberStore;
|
|
@@ -175,14 +182,20 @@ class BrightDbDatabasePlugin {
|
|
|
175
182
|
}
|
|
176
183
|
return result;
|
|
177
184
|
}
|
|
185
|
+
_documentStoreAdapter = null;
|
|
178
186
|
// ── IDatabasePlugin.db ─────────────────────────────────────────────
|
|
179
187
|
/**
|
|
180
188
|
* Raw database connection object (IDatabasePlugin.db).
|
|
181
189
|
* The upstream Application.get db() delegates to this property so that
|
|
182
|
-
* `application.db` returns
|
|
190
|
+
* `application.db` returns a DocumentStore-compatible wrapper around BrightDb.
|
|
183
191
|
*/
|
|
184
192
|
get db() {
|
|
185
|
-
|
|
193
|
+
if (!this._brightDb)
|
|
194
|
+
return undefined;
|
|
195
|
+
if (!this._documentStoreAdapter || this._documentStoreAdapter.brightDb !== this._brightDb) {
|
|
196
|
+
this._documentStoreAdapter = new bright_db_document_store_adapter_1.BrightDbDocumentStoreAdapter(this._brightDb);
|
|
197
|
+
}
|
|
198
|
+
return this._documentStoreAdapter;
|
|
186
199
|
}
|
|
187
200
|
// ── Typed accessors ───────────────────────────────────────────────
|
|
188
201
|
/**
|
|
@@ -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;;;AAGH,kEAA+E;AAE/E,0DAA0D;AAQ1D,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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"}
|