@brightchain/node-express-suite 0.25.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/MIGRATION.md +131 -0
- package/README.md +11 -0
- package/package.json +18 -0
- package/src/index.d.ts +46 -0
- package/src/index.d.ts.map +1 -0
- package/src/index.js +73 -0
- package/src/index.js.map +1 -0
- package/src/lib/application.d.ts +35 -0
- package/src/lib/application.d.ts.map +1 -0
- package/src/lib/application.js +38 -0
- package/src/lib/application.js.map +1 -0
- package/src/lib/bright-db-model-registry.d.ts +56 -0
- package/src/lib/bright-db-model-registry.d.ts.map +1 -0
- package/src/lib/bright-db-model-registry.js +71 -0
- package/src/lib/bright-db-model-registry.js.map +1 -0
- package/src/lib/brightchain-lib.d.ts +7 -0
- package/src/lib/brightchain-lib.d.ts.map +1 -0
- package/src/lib/brightchain-lib.js +12 -0
- package/src/lib/brightchain-lib.js.map +1 -0
- package/src/lib/brightdb.d.ts +7 -0
- package/src/lib/brightdb.d.ts.map +1 -0
- package/src/lib/brightdb.js +11 -0
- package/src/lib/brightdb.js.map +1 -0
- package/src/lib/constants.d.ts +6 -0
- package/src/lib/constants.d.ts.map +1 -0
- package/src/lib/constants.js +12 -0
- package/src/lib/constants.js.map +1 -0
- package/src/lib/create-test-app.d.ts +22 -0
- package/src/lib/create-test-app.d.ts.map +1 -0
- package/src/lib/create-test-app.js +49 -0
- package/src/lib/create-test-app.js.map +1 -0
- package/src/lib/databaseInit.d.ts +53 -0
- package/src/lib/databaseInit.d.ts.map +1 -0
- package/src/lib/databaseInit.js +114 -0
- package/src/lib/databaseInit.js.map +1 -0
- package/src/lib/datastore/block-document-store-factory.d.ts +31 -0
- package/src/lib/datastore/block-document-store-factory.d.ts.map +1 -0
- package/src/lib/datastore/block-document-store-factory.js +35 -0
- package/src/lib/datastore/block-document-store-factory.js.map +1 -0
- package/src/lib/datastore/block-document-store.d.ts +201 -0
- package/src/lib/datastore/block-document-store.d.ts.map +1 -0
- package/src/lib/datastore/block-document-store.js +649 -0
- package/src/lib/datastore/block-document-store.js.map +1 -0
- package/src/lib/datastore/document-store.d.ts +83 -0
- package/src/lib/datastore/document-store.d.ts.map +1 -0
- package/src/lib/datastore/document-store.js +3 -0
- package/src/lib/datastore/document-store.js.map +1 -0
- package/src/lib/datastore/index.d.ts +6 -0
- package/src/lib/datastore/index.d.ts.map +1 -0
- package/src/lib/datastore/index.js +11 -0
- package/src/lib/datastore/index.js.map +1 -0
- package/src/lib/datastore/memory-document-store.d.ts +9 -0
- package/src/lib/datastore/memory-document-store.d.ts.map +1 -0
- package/src/lib/datastore/memory-document-store.js +218 -0
- package/src/lib/datastore/memory-document-store.js.map +1 -0
- package/src/lib/environment.d.ts +64 -0
- package/src/lib/environment.d.ts.map +1 -0
- package/src/lib/environment.js +165 -0
- package/src/lib/environment.js.map +1 -0
- package/src/lib/factories/blockStoreFactory.d.ts +10 -0
- package/src/lib/factories/blockStoreFactory.d.ts.map +1 -0
- package/src/lib/factories/blockStoreFactory.js +14 -0
- package/src/lib/factories/blockStoreFactory.js.map +1 -0
- package/src/lib/interfaces/bright-db-application.d.ts +34 -0
- package/src/lib/interfaces/bright-db-application.d.ts.map +1 -0
- package/src/lib/interfaces/bright-db-application.js +13 -0
- package/src/lib/interfaces/bright-db-application.js.map +1 -0
- package/src/lib/interfaces/environment.d.ts +34 -0
- package/src/lib/interfaces/environment.d.ts.map +1 -0
- package/src/lib/interfaces/environment.js +11 -0
- package/src/lib/interfaces/environment.js.map +1 -0
- package/src/lib/middleware/index.d.ts +2 -0
- package/src/lib/middleware/index.d.ts.map +1 -0
- package/src/lib/middleware/index.js +6 -0
- package/src/lib/middleware/index.js.map +1 -0
- package/src/lib/middleware/validateBody.d.ts +13 -0
- package/src/lib/middleware/validateBody.d.ts.map +1 -0
- package/src/lib/middleware/validateBody.js +35 -0
- package/src/lib/middleware/validateBody.js.map +1 -0
- package/src/lib/middlewares.d.ts +9 -0
- package/src/lib/middlewares.d.ts.map +1 -0
- package/src/lib/middlewares.js +21 -0
- package/src/lib/middlewares.js.map +1 -0
- package/src/lib/plugins/bright-db-database-plugin.d.ts +95 -0
- package/src/lib/plugins/bright-db-database-plugin.d.ts.map +1 -0
- package/src/lib/plugins/bright-db-database-plugin.js +143 -0
- package/src/lib/plugins/bright-db-database-plugin.js.map +1 -0
- package/src/lib/plugins/configure-bright-db-app.d.ts +25 -0
- package/src/lib/plugins/configure-bright-db-app.d.ts.map +1 -0
- package/src/lib/plugins/configure-bright-db-app.js +31 -0
- package/src/lib/plugins/configure-bright-db-app.js.map +1 -0
- package/src/lib/services/bright-db-authentication-provider.d.ts +31 -0
- package/src/lib/services/bright-db-authentication-provider.d.ts.map +1 -0
- package/src/lib/services/bright-db-authentication-provider.js +91 -0
- package/src/lib/services/bright-db-authentication-provider.js.map +1 -0
- package/src/lib/services/bright-db-base-service.d.ts +26 -0
- package/src/lib/services/bright-db-base-service.d.ts.map +1 -0
- package/src/lib/services/bright-db-base-service.js +30 -0
- package/src/lib/services/bright-db-base-service.js.map +1 -0
- package/src/lib/services/bright-db-collection.d.ts +50 -0
- package/src/lib/services/bright-db-collection.d.ts.map +1 -0
- package/src/lib/services/bright-db-collection.js +116 -0
- package/src/lib/services/bright-db-collection.js.map +1 -0
- package/src/lib/services/sessionAdapter.d.ts +62 -0
- package/src/lib/services/sessionAdapter.d.ts.map +1 -0
- package/src/lib/services/sessionAdapter.js +106 -0
- package/src/lib/services/sessionAdapter.js.map +1 -0
- package/src/lib/shared-types.d.ts +41 -0
- package/src/lib/shared-types.d.ts.map +1 -0
- package/src/lib/shared-types.js +3 -0
- package/src/lib/shared-types.js.map +1 -0
- package/src/lib/transactions/bright-db-transaction-manager.d.ts +46 -0
- package/src/lib/transactions/bright-db-transaction-manager.d.ts.map +1 -0
- package/src/lib/transactions/bright-db-transaction-manager.js +81 -0
- package/src/lib/transactions/bright-db-transaction-manager.js.map +1 -0
- package/src/lib/types/backend-id.d.ts +3 -0
- package/src/lib/types/backend-id.d.ts.map +1 -0
- package/src/lib/types/backend-id.js +3 -0
- package/src/lib/types/backend-id.js.map +1 -0
- package/src/lib/upstream.d.ts +8 -0
- package/src/lib/upstream.d.ts.map +1 -0
- package/src/lib/upstream.js +13 -0
- package/src/lib/upstream.js.map +1 -0
- package/src/lib/validation/userValidation.d.ts +44 -0
- package/src/lib/validation/userValidation.d.ts.map +1 -0
- package/src/lib/validation/userValidation.js +147 -0
- package/src/lib/validation/userValidation.js.map +1 -0
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export type DocumentId = string;
|
|
2
|
+
export type DocumentRecord = Record<string, unknown> & {
|
|
3
|
+
_id?: DocumentId;
|
|
4
|
+
};
|
|
5
|
+
export type QueryResultType = DocumentRecord | DocumentRecord[] | unknown[];
|
|
6
|
+
export interface QueryResult<T extends QueryResultType> {
|
|
7
|
+
exec(): Promise<T | null>;
|
|
8
|
+
then<TResult1 = T | null, TResult2 = never>(onfulfilled?: ((value: T | null) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
|
|
9
|
+
}
|
|
10
|
+
export interface QueryBuilder<T extends QueryResultType> extends QueryResult<T> {
|
|
11
|
+
select(_: unknown): QueryBuilder<T>;
|
|
12
|
+
populate(_: unknown): QueryBuilder<T>;
|
|
13
|
+
sort(_: unknown): QueryBuilder<T>;
|
|
14
|
+
limit(_: number): QueryBuilder<T>;
|
|
15
|
+
skip(_: number): QueryBuilder<T>;
|
|
16
|
+
lean(): QueryBuilder<T>;
|
|
17
|
+
collation(_: unknown): QueryBuilder<T>;
|
|
18
|
+
session(_: unknown): QueryBuilder<T>;
|
|
19
|
+
where(_: unknown): QueryBuilder<T>;
|
|
20
|
+
distinct(_: unknown): QueryBuilder<T>;
|
|
21
|
+
}
|
|
22
|
+
export interface DocumentCollection<T extends DocumentRecord> {
|
|
23
|
+
find(filter?: Partial<T>): QueryBuilder<T[]>;
|
|
24
|
+
findOne(filter?: Partial<T>): QueryBuilder<T>;
|
|
25
|
+
findById(id: DocumentId): QueryBuilder<T>;
|
|
26
|
+
findOneAndUpdate(filter: Partial<T>, update: Partial<T>): QueryBuilder<T>;
|
|
27
|
+
findOneAndDelete(filter: Partial<T>): QueryBuilder<T>;
|
|
28
|
+
findByIdAndUpdate(id: DocumentId, update: Partial<T>): QueryBuilder<T>;
|
|
29
|
+
findByIdAndDelete(id: DocumentId): QueryBuilder<T>;
|
|
30
|
+
create(doc: T): Promise<T>;
|
|
31
|
+
insertMany(docs: T[]): Promise<T[]>;
|
|
32
|
+
updateOne(filter: Partial<T>, update: Partial<T>): Promise<{
|
|
33
|
+
modifiedCount: number;
|
|
34
|
+
matchedCount: number;
|
|
35
|
+
}>;
|
|
36
|
+
updateMany(filter: Partial<T>, update: Partial<T>): Promise<{
|
|
37
|
+
modifiedCount: number;
|
|
38
|
+
matchedCount: number;
|
|
39
|
+
}>;
|
|
40
|
+
replaceOne(filter: Partial<T>, doc: T): Promise<{
|
|
41
|
+
modifiedCount: number;
|
|
42
|
+
matchedCount: number;
|
|
43
|
+
}>;
|
|
44
|
+
deleteOne(filter: Partial<T>): Promise<{
|
|
45
|
+
deletedCount: number;
|
|
46
|
+
}>;
|
|
47
|
+
deleteMany(filter: Partial<T>): Promise<{
|
|
48
|
+
deletedCount: number;
|
|
49
|
+
}>;
|
|
50
|
+
countDocuments(filter?: Partial<T>): Promise<number>;
|
|
51
|
+
estimatedDocumentCount(): Promise<number>;
|
|
52
|
+
aggregate<U = unknown>(pipeline: unknown[]): QueryBuilder<U[]>;
|
|
53
|
+
distinct(field: keyof T): QueryBuilder<T[keyof T][]>;
|
|
54
|
+
exists(filter: Partial<T>): Promise<{
|
|
55
|
+
_id: DocumentId;
|
|
56
|
+
} | null>;
|
|
57
|
+
watch?(): void;
|
|
58
|
+
startSession?(): unknown;
|
|
59
|
+
}
|
|
60
|
+
export interface DocumentStore {
|
|
61
|
+
collection<T extends DocumentRecord>(name: string): DocumentCollection<T>;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Extended document store interface with lifecycle methods.
|
|
65
|
+
* Parallel to upstream's IDocumentStore but without Mongoose dependencies.
|
|
66
|
+
* Implementations should provide connect/disconnect lifecycle and
|
|
67
|
+
* model retrieval via getModel().
|
|
68
|
+
*/
|
|
69
|
+
export interface IBrightDbDocumentStore extends DocumentStore {
|
|
70
|
+
/** Connect to the backing store. URI may be ignored by non-network stores. */
|
|
71
|
+
connect(uri?: string): Promise<void>;
|
|
72
|
+
/** Disconnect from the backing store. */
|
|
73
|
+
disconnect(): Promise<void>;
|
|
74
|
+
/** Whether the store is currently connected and ready for operations. */
|
|
75
|
+
isConnected(): boolean;
|
|
76
|
+
/** Retrieve a collection by model name (alias for collection()). */
|
|
77
|
+
getModel<T extends DocumentRecord>(modelName: string): DocumentCollection<T>;
|
|
78
|
+
/** Optional: provision a dev/test database. */
|
|
79
|
+
setupDevStore?(): Promise<string | void>;
|
|
80
|
+
/** Optional: seed the dev database with initial data. */
|
|
81
|
+
initializeDevStore?(): Promise<unknown>;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=document-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-store.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/document-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-store.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/document-store.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type { CreateDocumentOptions, RetrieveDocumentOptions, } from './block-document-store';
|
|
2
|
+
export { BlockDocumentStore, CollectionHeadRegistry } from './block-document-store';
|
|
3
|
+
export * from './block-document-store-factory';
|
|
4
|
+
export * from './document-store';
|
|
5
|
+
export * from './memory-document-store';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACpF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollectionHeadRegistry = exports.BlockDocumentStore = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var block_document_store_1 = require("./block-document-store");
|
|
6
|
+
Object.defineProperty(exports, "BlockDocumentStore", { enumerable: true, get: function () { return block_document_store_1.BlockDocumentStore; } });
|
|
7
|
+
Object.defineProperty(exports, "CollectionHeadRegistry", { enumerable: true, get: function () { return block_document_store_1.CollectionHeadRegistry; } });
|
|
8
|
+
tslib_1.__exportStar(require("./block-document-store-factory"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./document-store"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./memory-document-store"), exports);
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/index.ts"],"names":[],"mappings":";;;;AAIA,+DAAoF;AAA3E,0HAAA,kBAAkB,OAAA;AAAE,8HAAA,sBAAsB,OAAA;AACnD,yEAA+C;AAC/C,2DAAiC;AACjC,kEAAwC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IIdProvider, PlatformID } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
import { DocumentCollection, DocumentRecord, DocumentStore } from './document-store';
|
|
3
|
+
export declare class MemoryDocumentStore implements DocumentStore {
|
|
4
|
+
private readonly collections;
|
|
5
|
+
private readonly generateId;
|
|
6
|
+
constructor(idProvider?: IIdProvider<PlatformID>);
|
|
7
|
+
collection<T extends DocumentRecord>(name: string): DocumentCollection<T>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=memory-document-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-document-store.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/memory-document-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EACL,kBAAkB,EAElB,cAAc,EACd,aAAa,EAGd,MAAM,kBAAkB,CAAC;AA4P1B,qBAAa,mBAAoB,YAAW,aAAa;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAGxB;IACJ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;gBAE9B,UAAU,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC;IAIhD,UAAU,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAS1E"}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MemoryDocumentStore = void 0;
|
|
4
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
5
|
+
const crypto_1 = require("crypto");
|
|
6
|
+
/**
|
|
7
|
+
* Resolve an ID generator function from the given provider, or fall back
|
|
8
|
+
* to the global ServiceProvider, or finally to crypto.randomUUID().
|
|
9
|
+
*/
|
|
10
|
+
function resolveIdGenerator(idProvider) {
|
|
11
|
+
if (idProvider) {
|
|
12
|
+
return () => idProvider.serialize(idProvider.generate());
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
const provider = brightchain_lib_1.ServiceProvider.getInstance().idProvider;
|
|
16
|
+
return () => provider.serialize(provider.generate());
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return () => (0, crypto_1.randomUUID)();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// In-memory implementation of QueryBuilder for document queries
|
|
23
|
+
class MemoryQuery {
|
|
24
|
+
resolveValue;
|
|
25
|
+
constructor(resolveValue) {
|
|
26
|
+
this.resolveValue = resolveValue;
|
|
27
|
+
}
|
|
28
|
+
self() {
|
|
29
|
+
return this;
|
|
30
|
+
}
|
|
31
|
+
select() {
|
|
32
|
+
return this.self();
|
|
33
|
+
}
|
|
34
|
+
populate() {
|
|
35
|
+
return this.self();
|
|
36
|
+
}
|
|
37
|
+
sort() {
|
|
38
|
+
return this.self();
|
|
39
|
+
}
|
|
40
|
+
limit() {
|
|
41
|
+
return this.self();
|
|
42
|
+
}
|
|
43
|
+
skip() {
|
|
44
|
+
return this.self();
|
|
45
|
+
}
|
|
46
|
+
lean() {
|
|
47
|
+
return this.self();
|
|
48
|
+
}
|
|
49
|
+
collation() {
|
|
50
|
+
return this.self();
|
|
51
|
+
}
|
|
52
|
+
session() {
|
|
53
|
+
return this.self();
|
|
54
|
+
}
|
|
55
|
+
where() {
|
|
56
|
+
return this.self();
|
|
57
|
+
}
|
|
58
|
+
distinct() {
|
|
59
|
+
return this.self();
|
|
60
|
+
}
|
|
61
|
+
async exec() {
|
|
62
|
+
return this.resolveValue();
|
|
63
|
+
}
|
|
64
|
+
then(onfulfilled, onrejected) {
|
|
65
|
+
return this.exec().then(onfulfilled, onrejected);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function matchFilter(doc, filter = {}) {
|
|
69
|
+
return Object.entries(filter).every(([key, value]) => {
|
|
70
|
+
if (value === undefined)
|
|
71
|
+
return true;
|
|
72
|
+
return doc[key] === value;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function ensureId(doc, generateId) {
|
|
76
|
+
if (!doc._id) {
|
|
77
|
+
doc._id = generateId();
|
|
78
|
+
}
|
|
79
|
+
return doc;
|
|
80
|
+
}
|
|
81
|
+
class MemoryCollection {
|
|
82
|
+
generateId;
|
|
83
|
+
data = [];
|
|
84
|
+
constructor(generateId) {
|
|
85
|
+
this.generateId = generateId;
|
|
86
|
+
}
|
|
87
|
+
querySingle(filter) {
|
|
88
|
+
return new MemoryQuery(async () => {
|
|
89
|
+
const found = this.data.find((doc) => matchFilter(doc, filter));
|
|
90
|
+
return found ?? null;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
queryMany(filter) {
|
|
94
|
+
return new MemoryQuery(async () => this.data.filter((doc) => matchFilter(doc, filter)));
|
|
95
|
+
}
|
|
96
|
+
find(filter) {
|
|
97
|
+
return this.queryMany(filter);
|
|
98
|
+
}
|
|
99
|
+
findOne(filter) {
|
|
100
|
+
return this.querySingle(filter);
|
|
101
|
+
}
|
|
102
|
+
findById(id) {
|
|
103
|
+
return this.querySingle({ _id: id });
|
|
104
|
+
}
|
|
105
|
+
findOneAndUpdate(filter, update) {
|
|
106
|
+
return new MemoryQuery(async () => {
|
|
107
|
+
const doc = this.data.find((d) => matchFilter(d, filter));
|
|
108
|
+
if (!doc)
|
|
109
|
+
return null;
|
|
110
|
+
Object.assign(doc, update);
|
|
111
|
+
return doc;
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
findOneAndDelete(filter) {
|
|
115
|
+
return new MemoryQuery(async () => {
|
|
116
|
+
const idx = this.data.findIndex((d) => matchFilter(d, filter));
|
|
117
|
+
if (idx === -1)
|
|
118
|
+
return null;
|
|
119
|
+
const [removed] = this.data.splice(idx, 1);
|
|
120
|
+
return removed ?? null;
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
findByIdAndUpdate(id, update) {
|
|
124
|
+
return this.findOneAndUpdate({ _id: id }, update);
|
|
125
|
+
}
|
|
126
|
+
findByIdAndDelete(id) {
|
|
127
|
+
return this.findOneAndDelete({ _id: id });
|
|
128
|
+
}
|
|
129
|
+
async create(doc) {
|
|
130
|
+
const withId = ensureId({ ...doc }, this.generateId);
|
|
131
|
+
this.data.push(withId);
|
|
132
|
+
return withId;
|
|
133
|
+
}
|
|
134
|
+
async insertMany(docs) {
|
|
135
|
+
const inserted = docs.map((d) => ensureId({ ...d }, this.generateId));
|
|
136
|
+
this.data.push(...inserted);
|
|
137
|
+
return inserted;
|
|
138
|
+
}
|
|
139
|
+
async updateOne(filter, update) {
|
|
140
|
+
const doc = this.data.find((d) => matchFilter(d, filter));
|
|
141
|
+
if (!doc)
|
|
142
|
+
return { modifiedCount: 0, matchedCount: 0 };
|
|
143
|
+
Object.assign(doc, update);
|
|
144
|
+
return { modifiedCount: 1, matchedCount: 1 };
|
|
145
|
+
}
|
|
146
|
+
async updateMany(filter, update) {
|
|
147
|
+
const matches = this.data.filter((d) => matchFilter(d, filter));
|
|
148
|
+
matches.forEach((doc) => Object.assign(doc, update));
|
|
149
|
+
return { modifiedCount: matches.length, matchedCount: matches.length };
|
|
150
|
+
}
|
|
151
|
+
async replaceOne(filter, doc) {
|
|
152
|
+
const idx = this.data.findIndex((d) => matchFilter(d, filter));
|
|
153
|
+
if (idx === -1)
|
|
154
|
+
return { modifiedCount: 0, matchedCount: 0 };
|
|
155
|
+
this.data[idx] = ensureId({ ...doc }, this.generateId);
|
|
156
|
+
return { modifiedCount: 1, matchedCount: 1 };
|
|
157
|
+
}
|
|
158
|
+
async deleteOne(filter) {
|
|
159
|
+
const idx = this.data.findIndex((d) => matchFilter(d, filter));
|
|
160
|
+
if (idx === -1)
|
|
161
|
+
return { deletedCount: 0 };
|
|
162
|
+
this.data.splice(idx, 1);
|
|
163
|
+
return { deletedCount: 1 };
|
|
164
|
+
}
|
|
165
|
+
async deleteMany(filter) {
|
|
166
|
+
const before = this.data.length;
|
|
167
|
+
const remaining = this.data.filter((d) => !matchFilter(d, filter));
|
|
168
|
+
const deletedCount = before - remaining.length;
|
|
169
|
+
this.data.length = 0;
|
|
170
|
+
this.data.push(...remaining);
|
|
171
|
+
return { deletedCount };
|
|
172
|
+
}
|
|
173
|
+
async countDocuments(filter) {
|
|
174
|
+
return this.data.filter((d) => matchFilter(d, filter)).length;
|
|
175
|
+
}
|
|
176
|
+
async estimatedDocumentCount() {
|
|
177
|
+
return this.data.length;
|
|
178
|
+
}
|
|
179
|
+
aggregate(_pipeline) {
|
|
180
|
+
return new MemoryQuery(async () => []);
|
|
181
|
+
}
|
|
182
|
+
distinct(field) {
|
|
183
|
+
return new MemoryQuery(async () => {
|
|
184
|
+
const values = new Set();
|
|
185
|
+
for (const doc of this.data) {
|
|
186
|
+
const value = doc[field];
|
|
187
|
+
if (value !== undefined)
|
|
188
|
+
values.add(value);
|
|
189
|
+
}
|
|
190
|
+
return Array.from(values);
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
async exists(filter) {
|
|
194
|
+
const doc = this.data.find((d) => matchFilter(d, filter));
|
|
195
|
+
return doc ? { _id: doc._id } : null;
|
|
196
|
+
}
|
|
197
|
+
watch() {
|
|
198
|
+
/* noop */
|
|
199
|
+
}
|
|
200
|
+
startSession() {
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
class MemoryDocumentStore {
|
|
205
|
+
collections = new Map();
|
|
206
|
+
generateId;
|
|
207
|
+
constructor(idProvider) {
|
|
208
|
+
this.generateId = resolveIdGenerator(idProvider);
|
|
209
|
+
}
|
|
210
|
+
collection(name) {
|
|
211
|
+
if (!this.collections.has(name)) {
|
|
212
|
+
this.collections.set(name, new MemoryCollection(this.generateId));
|
|
213
|
+
}
|
|
214
|
+
return this.collections.get(name);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
exports.MemoryDocumentStore = MemoryDocumentStore;
|
|
218
|
+
//# sourceMappingURL=memory-document-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-document-store.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/datastore/memory-document-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview BrightDbEnvironment — generic BrightDB-specific environment configuration.
|
|
3
|
+
*
|
|
4
|
+
* Extends the upstream BaseEnvironment with BrightDB block store configuration:
|
|
5
|
+
* block store path, block sizes, store type, cloud configs (Azure, S3),
|
|
6
|
+
* dev database pool name, and memory document store flag.
|
|
7
|
+
*
|
|
8
|
+
* Domain-specific env vars (UPnP, FontAwesome, AWS credentials, etc.)
|
|
9
|
+
* remain in api-lib's Environment subclass.
|
|
10
|
+
*
|
|
11
|
+
* @module environment
|
|
12
|
+
*/
|
|
13
|
+
import { Environment as BaseEnvironment, IConstants } from '@digitaldefiance/node-express-suite';
|
|
14
|
+
import { BlockSize, BlockStoreType } from '@brightchain/brightchain-lib';
|
|
15
|
+
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
16
|
+
import { IAzureEnvironmentConfig, IS3EnvironmentConfig } from './interfaces/environment';
|
|
17
|
+
import { DefaultBackendIdType } from './shared-types';
|
|
18
|
+
export declare class BrightDbEnvironment<TID extends PlatformID = DefaultBackendIdType> extends BaseEnvironment<TID> {
|
|
19
|
+
protected _blockStorePath?: string;
|
|
20
|
+
protected _blockStoreBlockSizes: BlockSize[];
|
|
21
|
+
protected _useMemoryDocumentStore: boolean;
|
|
22
|
+
protected _devDatabasePoolName: string | undefined;
|
|
23
|
+
protected _blockStoreType: BlockStoreType;
|
|
24
|
+
protected _azureConfig?: IAzureEnvironmentConfig;
|
|
25
|
+
protected _s3Config?: IS3EnvironmentConfig;
|
|
26
|
+
protected _memberPoolName: string;
|
|
27
|
+
constructor(path?: string, initialization?: boolean, override?: boolean, constants?: IConstants);
|
|
28
|
+
get blockStorePath(): string | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Configured block sizes for block-backed document store (plural).
|
|
31
|
+
* Parsed from the comma-separated `BRIGHTCHAIN_BLOCKSIZE_BYTES` env var.
|
|
32
|
+
*/
|
|
33
|
+
get blockStoreBlockSizes(): readonly BlockSize[];
|
|
34
|
+
/**
|
|
35
|
+
* @deprecated Use `blockStoreBlockSizes` instead. Returns the first configured block size.
|
|
36
|
+
*/
|
|
37
|
+
get blockStoreBlockSize(): BlockSize;
|
|
38
|
+
get useMemoryDocumentStore(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Pool name for the in-memory dev database.
|
|
41
|
+
* Set when `DEV_DATABASE` env var is a non-empty string; `undefined` otherwise.
|
|
42
|
+
*/
|
|
43
|
+
get devDatabasePoolName(): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* The active block store backend type.
|
|
46
|
+
* Defaults to `BlockStoreType.Disk` when `BRIGHTCHAIN_BLOCKSTORE_TYPE` is unset.
|
|
47
|
+
*/
|
|
48
|
+
get blockStoreType(): BlockStoreType;
|
|
49
|
+
/**
|
|
50
|
+
* Azure Blob Storage configuration.
|
|
51
|
+
* Only populated when `blockStoreType` is `BlockStoreType.AzureBlob`.
|
|
52
|
+
*/
|
|
53
|
+
get azureConfig(): IAzureEnvironmentConfig | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Amazon S3 configuration.
|
|
56
|
+
* Only populated when `blockStoreType` is `BlockStoreType.S3`.
|
|
57
|
+
*/
|
|
58
|
+
get s3Config(): IS3EnvironmentConfig | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* Member pool name (e.g. 'BrightChain')
|
|
61
|
+
*/
|
|
62
|
+
get memberPoolName(): string;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=environment.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview BrightDbEnvironment — generic BrightDB-specific environment configuration.
|
|
4
|
+
*
|
|
5
|
+
* Extends the upstream BaseEnvironment with BrightDB block store configuration:
|
|
6
|
+
* block store path, block sizes, store type, cloud configs (Azure, S3),
|
|
7
|
+
* dev database pool name, and memory document store flag.
|
|
8
|
+
*
|
|
9
|
+
* Domain-specific env vars (UPnP, FontAwesome, AWS credentials, etc.)
|
|
10
|
+
* remain in api-lib's Environment subclass.
|
|
11
|
+
*
|
|
12
|
+
* @module environment
|
|
13
|
+
*/
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.BrightDbEnvironment = void 0;
|
|
16
|
+
const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
|
|
17
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
18
|
+
class BrightDbEnvironment extends node_express_suite_1.Environment {
|
|
19
|
+
_blockStorePath;
|
|
20
|
+
_blockStoreBlockSizes;
|
|
21
|
+
_useMemoryDocumentStore;
|
|
22
|
+
_devDatabasePoolName;
|
|
23
|
+
_blockStoreType;
|
|
24
|
+
_azureConfig;
|
|
25
|
+
_s3Config;
|
|
26
|
+
_memberPoolName;
|
|
27
|
+
constructor(path, initialization = false, override = true, constants) {
|
|
28
|
+
super(path, initialization, override, constants);
|
|
29
|
+
const envObj = this.getObject();
|
|
30
|
+
// --- Block store path ---
|
|
31
|
+
this._blockStorePath =
|
|
32
|
+
envObj['BRIGHTCHAIN_BLOCKSTORE_PATH'] ?? envObj['BLOCKSTORE_PATH'];
|
|
33
|
+
// --- Block sizes ---
|
|
34
|
+
const rawBlockSizes = envObj['BRIGHTCHAIN_BLOCKSIZE_BYTES'];
|
|
35
|
+
if (rawBlockSizes) {
|
|
36
|
+
const parsed = rawBlockSizes
|
|
37
|
+
.split(',')
|
|
38
|
+
.map((s) => s.trim())
|
|
39
|
+
.filter((s) => s.length > 0)
|
|
40
|
+
.map((s) => Number.parseInt(s, 10));
|
|
41
|
+
// Validate each parsed value is a known BlockSize
|
|
42
|
+
const validated = parsed.filter((bs) => brightchain_lib_1.validBlockSizes.includes(bs));
|
|
43
|
+
this._blockStoreBlockSizes =
|
|
44
|
+
validated.length > 0 ? validated : [brightchain_lib_1.BlockSize.Medium];
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this._blockStoreBlockSizes = [brightchain_lib_1.BlockSize.Medium];
|
|
48
|
+
}
|
|
49
|
+
// --- Memory document store ---
|
|
50
|
+
this._useMemoryDocumentStore = Boolean(envObj['USE_MEMORY_DOCSTORE']);
|
|
51
|
+
// --- Dev database pool name ---
|
|
52
|
+
const devDatabase = envObj['DEV_DATABASE'];
|
|
53
|
+
this._devDatabasePoolName =
|
|
54
|
+
devDatabase && devDatabase.trim() !== '' ? devDatabase.trim() : undefined;
|
|
55
|
+
if (this._devDatabasePoolName !== undefined) {
|
|
56
|
+
this._useMemoryDocumentStore = true;
|
|
57
|
+
}
|
|
58
|
+
// --- Member pool name ---
|
|
59
|
+
this._memberPoolName = envObj['MEMBER_POOL_NAME'] ?? 'BrightChain';
|
|
60
|
+
// --- Block store type ---
|
|
61
|
+
const rawStoreType = (envObj['BRIGHTCHAIN_BLOCKSTORE_TYPE'] ?? 'disk').toLowerCase();
|
|
62
|
+
if (!Object.values(brightchain_lib_1.BlockStoreType).includes(rawStoreType)) {
|
|
63
|
+
throw new Error(`Invalid BRIGHTCHAIN_BLOCKSTORE_TYPE "${rawStoreType}". ` +
|
|
64
|
+
`Valid values: ${Object.values(brightchain_lib_1.BlockStoreType).join(', ')}`);
|
|
65
|
+
}
|
|
66
|
+
this._blockStoreType = rawStoreType;
|
|
67
|
+
// --- Azure Blob Storage config ---
|
|
68
|
+
if (this._blockStoreType === brightchain_lib_1.BlockStoreType.AzureBlob) {
|
|
69
|
+
const connectionString = envObj['AZURE_STORAGE_CONNECTION_STRING'];
|
|
70
|
+
const accountName = envObj['AZURE_STORAGE_ACCOUNT_NAME'];
|
|
71
|
+
const containerName = envObj['AZURE_STORAGE_CONTAINER_NAME'];
|
|
72
|
+
const missing = [];
|
|
73
|
+
if (!connectionString && !accountName) {
|
|
74
|
+
missing.push('AZURE_STORAGE_CONNECTION_STRING or AZURE_STORAGE_ACCOUNT_NAME');
|
|
75
|
+
}
|
|
76
|
+
if (!containerName) {
|
|
77
|
+
missing.push('AZURE_STORAGE_CONTAINER_NAME');
|
|
78
|
+
}
|
|
79
|
+
if (missing.length > 0) {
|
|
80
|
+
throw new Error(`Missing required environment variables for Azure block store: ${missing.join(', ')}`);
|
|
81
|
+
}
|
|
82
|
+
this._azureConfig = {
|
|
83
|
+
region: envObj['AWS_REGION'] ?? 'eastus',
|
|
84
|
+
containerOrBucketName: containerName,
|
|
85
|
+
supportedBlockSizes: this._blockStoreBlockSizes,
|
|
86
|
+
connectionString: connectionString,
|
|
87
|
+
accountName: accountName,
|
|
88
|
+
accountKey: envObj['AZURE_STORAGE_ACCOUNT_KEY'],
|
|
89
|
+
useManagedIdentity: !connectionString && !envObj['AZURE_STORAGE_ACCOUNT_KEY'],
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
// --- S3 config ---
|
|
93
|
+
if (this._blockStoreType === brightchain_lib_1.BlockStoreType.S3) {
|
|
94
|
+
const bucketName = envObj['AWS_S3_BUCKET_NAME'];
|
|
95
|
+
if (!bucketName) {
|
|
96
|
+
throw new Error('Missing required environment variable for S3 block store: AWS_S3_BUCKET_NAME');
|
|
97
|
+
}
|
|
98
|
+
this._s3Config = {
|
|
99
|
+
region: envObj['AWS_REGION'] ?? 'us-east-1',
|
|
100
|
+
containerOrBucketName: bucketName,
|
|
101
|
+
supportedBlockSizes: this._blockStoreBlockSizes,
|
|
102
|
+
keyPrefix: envObj['AWS_S3_KEY_PREFIX'],
|
|
103
|
+
accessKeyId: envObj['AWS_ACCESS_KEY_ID'],
|
|
104
|
+
secretAccessKey: envObj['AWS_SECRET_ACCESS_KEY'],
|
|
105
|
+
useIamRole: !envObj['AWS_ACCESS_KEY_ID'] && !envObj['AWS_SECRET_ACCESS_KEY'],
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
// ── Accessors ──────────────────────────────────────────────────────
|
|
110
|
+
get blockStorePath() {
|
|
111
|
+
return this._blockStorePath;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Configured block sizes for block-backed document store (plural).
|
|
115
|
+
* Parsed from the comma-separated `BRIGHTCHAIN_BLOCKSIZE_BYTES` env var.
|
|
116
|
+
*/
|
|
117
|
+
get blockStoreBlockSizes() {
|
|
118
|
+
return this._blockStoreBlockSizes;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* @deprecated Use `blockStoreBlockSizes` instead. Returns the first configured block size.
|
|
122
|
+
*/
|
|
123
|
+
get blockStoreBlockSize() {
|
|
124
|
+
return this._blockStoreBlockSizes[0];
|
|
125
|
+
}
|
|
126
|
+
get useMemoryDocumentStore() {
|
|
127
|
+
return this._useMemoryDocumentStore || !this._blockStorePath;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Pool name for the in-memory dev database.
|
|
131
|
+
* Set when `DEV_DATABASE` env var is a non-empty string; `undefined` otherwise.
|
|
132
|
+
*/
|
|
133
|
+
get devDatabasePoolName() {
|
|
134
|
+
return this._devDatabasePoolName;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The active block store backend type.
|
|
138
|
+
* Defaults to `BlockStoreType.Disk` when `BRIGHTCHAIN_BLOCKSTORE_TYPE` is unset.
|
|
139
|
+
*/
|
|
140
|
+
get blockStoreType() {
|
|
141
|
+
return this._blockStoreType;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Azure Blob Storage configuration.
|
|
145
|
+
* Only populated when `blockStoreType` is `BlockStoreType.AzureBlob`.
|
|
146
|
+
*/
|
|
147
|
+
get azureConfig() {
|
|
148
|
+
return this._azureConfig;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Amazon S3 configuration.
|
|
152
|
+
* Only populated when `blockStoreType` is `BlockStoreType.S3`.
|
|
153
|
+
*/
|
|
154
|
+
get s3Config() {
|
|
155
|
+
return this._s3Config;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Member pool name (e.g. 'BrightChain')
|
|
159
|
+
*/
|
|
160
|
+
get memberPoolName() {
|
|
161
|
+
return this._memberPoolName;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
exports.BrightDbEnvironment = BrightDbEnvironment;
|
|
165
|
+
//# sourceMappingURL=environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../brightchain-node-express-suite/src/lib/environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Re-export BlockStoreFactory from brightchain-lib.
|
|
3
|
+
*
|
|
4
|
+
* The new library does NOT register any disk store factory — that's the
|
|
5
|
+
* responsibility of api-lib (which imports DiskBlockAsyncStore, a Node.js-
|
|
6
|
+
* specific implementation). This module simply provides a convenient
|
|
7
|
+
* import path for consumers.
|
|
8
|
+
*/
|
|
9
|
+
export { BlockStoreFactory } from '@brightchain/brightchain-lib';
|
|
10
|
+
//# sourceMappingURL=blockStoreFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockStoreFactory.d.ts","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/factories/blockStoreFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BlockStoreFactory = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Re-export BlockStoreFactory from brightchain-lib.
|
|
6
|
+
*
|
|
7
|
+
* The new library does NOT register any disk store factory — that's the
|
|
8
|
+
* responsibility of api-lib (which imports DiskBlockAsyncStore, a Node.js-
|
|
9
|
+
* specific implementation). This module simply provides a convenient
|
|
10
|
+
* import path for consumers.
|
|
11
|
+
*/
|
|
12
|
+
var brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
13
|
+
Object.defineProperty(exports, "BlockStoreFactory", { enumerable: true, get: function () { return brightchain_lib_1.BlockStoreFactory; } });
|
|
14
|
+
//# sourceMappingURL=blockStoreFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockStoreFactory.js","sourceRoot":"","sources":["../../../../../brightchain-node-express-suite/src/lib/factories/blockStoreFactory.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,gEAAiE;AAAxD,oHAAA,iBAAiB,OAAA"}
|