@brightchain/brightchain-api-lib 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/browser.d.ts +1 -1
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js.map +1 -1
- package/src/index.d.ts +5 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +7 -1
- package/src/index.js.map +1 -1
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts +24 -0
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts.map +1 -0
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js +53 -0
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js.map +1 -0
- package/src/lib/application.d.ts +20 -0
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +59 -13
- package/src/lib/application.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +20 -1
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +59 -0
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/index.d.ts +1 -0
- package/src/lib/availability/index.d.ts.map +1 -1
- package/src/lib/availability/index.js +1 -0
- package/src/lib/availability/index.js.map +1 -1
- package/src/lib/availability/poolDiscoveryService.d.ts +117 -0
- package/src/lib/availability/poolDiscoveryService.d.ts.map +1 -0
- package/src/lib/availability/poolDiscoveryService.js +218 -0
- package/src/lib/availability/poolDiscoveryService.js.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -1
- package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -1
- package/src/lib/controllers/api/blocks.d.ts.map +1 -1
- package/src/lib/controllers/api/blocks.js.map +1 -1
- package/src/lib/controllers/api/brightpass.d.ts.map +1 -1
- package/src/lib/controllers/api/brightpass.js +4 -8
- package/src/lib/controllers/api/brightpass.js.map +1 -1
- package/src/lib/controllers/api/energy.d.ts.map +1 -1
- package/src/lib/controllers/api/energy.js.map +1 -1
- package/src/lib/controllers/api/health.d.ts +4 -4
- package/src/lib/controllers/api/health.d.ts.map +1 -1
- package/src/lib/controllers/api/health.js.map +1 -1
- package/src/lib/controllers/api/i18n.d.ts.map +1 -1
- package/src/lib/controllers/api/i18n.js.map +1 -1
- package/src/lib/controllers/api/index.d.ts +1 -0
- package/src/lib/controllers/api/index.d.ts.map +1 -1
- package/src/lib/controllers/api/index.js +1 -0
- package/src/lib/controllers/api/index.js.map +1 -1
- package/src/lib/controllers/api/introspection.d.ts +60 -0
- package/src/lib/controllers/api/introspection.d.ts.map +1 -0
- package/src/lib/controllers/api/introspection.js +375 -0
- package/src/lib/controllers/api/introspection.js.map +1 -0
- package/src/lib/controllers/api/nodes.d.ts +7 -6
- package/src/lib/controllers/api/nodes.d.ts.map +1 -1
- package/src/lib/controllers/api/nodes.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/controllers/api/sessions.d.ts.map +1 -1
- package/src/lib/controllers/api/sessions.js.map +1 -1
- package/src/lib/controllers/api/sync.d.ts +6 -5
- package/src/lib/controllers/api/sync.d.ts.map +1 -1
- package/src/lib/controllers/api/sync.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +130 -50
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/controllers/base.d.ts +1 -2
- package/src/lib/controllers/base.d.ts.map +1 -1
- package/src/lib/controllers/base.js +0 -1
- package/src/lib/controllers/base.js.map +1 -1
- package/src/lib/databaseInit.d.ts +28 -0
- package/src/lib/databaseInit.d.ts.map +1 -0
- package/src/lib/databaseInit.js +107 -0
- package/src/lib/databaseInit.js.map +1 -0
- package/src/lib/enumerations/brightChainApiStrings.d.ts +4 -0
- package/src/lib/enumerations/brightChainApiStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainApiStrings.js +4 -0
- package/src/lib/enumerations/brightChainApiStrings.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +1 -0
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +1 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/websocketMessageType.d.ts +5 -1
- package/src/lib/enumerations/websocketMessageType.d.ts.map +1 -1
- package/src/lib/enumerations/websocketMessageType.js +4 -0
- package/src/lib/enumerations/websocketMessageType.js.map +1 -1
- package/src/lib/environment.d.ts +5 -0
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +7 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/errors/index.d.ts +1 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +1 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/memberIndexSchemaValidationError.d.ts +6 -0
- package/src/lib/errors/memberIndexSchemaValidationError.d.ts.map +1 -0
- package/src/lib/errors/memberIndexSchemaValidationError.js +15 -0
- package/src/lib/errors/memberIndexSchemaValidationError.js.map +1 -0
- package/src/lib/factories/blockStoreFactory.d.ts +2 -13
- package/src/lib/factories/blockStoreFactory.d.ts.map +1 -1
- package/src/lib/factories/blockStoreFactory.js +5 -10
- package/src/lib/factories/blockStoreFactory.js.map +1 -1
- package/src/lib/interfaces/blocksHandlers.d.ts +3 -3
- package/src/lib/interfaces/blocksHandlers.d.ts.map +1 -1
- package/src/lib/interfaces/cblHandlers.d.ts +3 -2
- package/src/lib/interfaces/cblHandlers.d.ts.map +1 -1
- package/src/lib/interfaces/environment.d.ts +4 -0
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +5 -1
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/introspectionApiResponses.d.ts +66 -0
- package/src/lib/interfaces/introspectionApiResponses.d.ts.map +1 -0
- package/src/lib/interfaces/introspectionApiResponses.js +3 -0
- package/src/lib/interfaces/introspectionApiResponses.js.map +1 -0
- package/src/lib/interfaces/members-handlers.d.ts +11 -0
- package/src/lib/interfaces/members-handlers.d.ts.map +1 -0
- package/src/lib/interfaces/members-handlers.js +3 -0
- package/src/lib/interfaces/members-handlers.js.map +1 -0
- package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +2 -5
- package/src/lib/interfaces/responses/api-backup-codes-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-challenge-response.d.ts +2 -5
- package/src/lib/interfaces/responses/api-challenge-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-code-count-response.d.ts +2 -5
- package/src/lib/interfaces/responses/api-code-count-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-detailed-health-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-detailed-health-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-detailed-health-response.js +3 -0
- package/src/lib/interfaces/responses/api-detailed-health-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-discover-block-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-discover-block-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-discover-block-response.js +3 -0
- package/src/lib/interfaces/responses/api-discover-block-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-error.d.ts +5 -0
- package/src/lib/interfaces/responses/api-error.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-error.js +3 -0
- package/src/lib/interfaces/responses/api-error.js.map +1 -0
- package/src/lib/interfaces/responses/api-express-validation-error.d.ts +7 -0
- package/src/lib/interfaces/responses/api-express-validation-error.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-express-validation-error.js +3 -0
- package/src/lib/interfaces/responses/api-express-validation-error.js.map +1 -0
- package/src/lib/interfaces/responses/api-get-block-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-get-block-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-get-block-response.js +3 -0
- package/src/lib/interfaces/responses/api-get-block-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-get-node-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-get-node-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-get-node-response.js +3 -0
- package/src/lib/interfaces/responses/api-get-node-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-health-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-health-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-health-response.js +3 -0
- package/src/lib/interfaces/responses/api-health-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-list-nodes-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-list-nodes-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-list-nodes-response.js +3 -0
- package/src/lib/interfaces/responses/api-list-nodes-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-login-response.d.ts +2 -14
- package/src/lib/interfaces/responses/api-login-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-members-response.d.ts +8 -0
- package/src/lib/interfaces/responses/api-members-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-members-response.js +3 -0
- package/src/lib/interfaces/responses/api-members-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-mnemonic-response.d.ts +2 -5
- package/src/lib/interfaces/responses/api-mnemonic-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-reconcile-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-reconcile-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-reconcile-response.js +3 -0
- package/src/lib/interfaces/responses/api-reconcile-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-register-node-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-register-node-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-register-node-response.js +3 -0
- package/src/lib/interfaces/responses/api-register-node-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-registration-response.d.ts +2 -10
- package/src/lib/interfaces/responses/api-registration-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-replicate-block-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-replicate-block-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-replicate-block-response.js +3 -0
- package/src/lib/interfaces/responses/api-replicate-block-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-request-user-response.d.ts +2 -6
- package/src/lib/interfaces/responses/api-request-user-response.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-status-code-response.d.ts +7 -0
- package/src/lib/interfaces/responses/api-status-code-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-status-code-response.js +3 -0
- package/src/lib/interfaces/responses/api-status-code-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-store-block-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-store-block-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-store-block-response.js +3 -0
- package/src/lib/interfaces/responses/api-store-block-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-store-cbl-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-store-cbl-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-store-cbl-response.js +3 -0
- package/src/lib/interfaces/responses/api-store-cbl-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-sync-request-response.d.ts +5 -0
- package/src/lib/interfaces/responses/api-sync-request-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-sync-request-response.js +3 -0
- package/src/lib/interfaces/responses/api-sync-request-response.js.map +1 -0
- package/src/lib/interfaces/responses/block-data-response.d.ts +11 -0
- package/src/lib/interfaces/responses/block-data-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/block-data-response.js +3 -0
- package/src/lib/interfaces/responses/block-data-response.js.map +1 -0
- package/src/lib/interfaces/responses/block-location-response.d.ts +11 -0
- package/src/lib/interfaces/responses/block-location-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/block-location-response.js +3 -0
- package/src/lib/interfaces/responses/block-location-response.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +18 -0
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/status-code-response.d.ts +1 -6
- package/src/lib/interfaces/status-code-response.d.ts.map +1 -1
- package/src/lib/interfaces/storage/client-session.d.ts +8 -0
- package/src/lib/interfaces/storage/client-session.d.ts.map +1 -0
- package/src/lib/interfaces/storage/client-session.js +3 -0
- package/src/lib/interfaces/storage/client-session.js.map +1 -0
- package/src/lib/interfaces/storage/collection.d.ts +9 -0
- package/src/lib/interfaces/storage/collection.d.ts.map +1 -0
- package/src/lib/interfaces/storage/collection.js +3 -0
- package/src/lib/interfaces/storage/collection.js.map +1 -0
- package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts +8 -0
- package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -0
- package/src/lib/interfaces/storage/database-lifecycle-hooks.js +3 -0
- package/src/lib/interfaces/storage/database-lifecycle-hooks.js.map +1 -0
- package/src/lib/interfaces/storage/database.d.ts +9 -0
- package/src/lib/interfaces/storage/database.d.ts.map +1 -0
- package/src/lib/interfaces/storage/database.js +3 -0
- package/src/lib/interfaces/storage/database.js.map +1 -0
- package/src/lib/interfaces/storage/document-types.d.ts +9 -0
- package/src/lib/interfaces/storage/document-types.d.ts.map +1 -0
- package/src/lib/interfaces/storage/document-types.js +10 -0
- package/src/lib/interfaces/storage/document-types.js.map +1 -0
- package/src/lib/interfaces/storage/index.d.ts +7 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -0
- package/src/lib/interfaces/storage/index.js +7 -0
- package/src/lib/interfaces/storage/index.js.map +1 -0
- package/src/lib/interfaces/storage/memberIndexSchema.d.ts +11 -0
- package/src/lib/interfaces/storage/memberIndexSchema.d.ts.map +1 -0
- package/src/lib/interfaces/storage/memberIndexSchema.js +26 -0
- package/src/lib/interfaces/storage/memberIndexSchema.js.map +1 -0
- package/src/lib/interfaces/userApiResponse.d.ts +17 -0
- package/src/lib/interfaces/userApiResponse.d.ts.map +1 -0
- package/src/lib/interfaces/userApiResponse.js +3 -0
- package/src/lib/interfaces/userApiResponse.js.map +1 -0
- package/src/lib/interfaces/websocketMessages.d.ts +64 -1
- package/src/lib/interfaces/websocketMessages.d.ts.map +1 -1
- 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/authentication.d.ts +2 -0
- package/src/lib/middlewares/authentication.d.ts.map +1 -1
- package/src/lib/middlewares/authentication.js.map +1 -1
- package/src/lib/routers/api.d.ts +27 -0
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +44 -0
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/services/auth.d.ts +3 -1
- package/src/lib/services/auth.d.ts.map +1 -1
- package/src/lib/services/auth.js +51 -4
- package/src/lib/services/auth.js.map +1 -1
- package/src/lib/services/brightchain-member-init.service.d.ts +66 -0
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -0
- package/src/lib/services/brightchain-member-init.service.js +152 -0
- package/src/lib/services/brightchain-member-init.service.js.map +1 -0
- package/src/lib/services/clientWebSocketServer.d.ts +147 -0
- package/src/lib/services/clientWebSocketServer.d.ts.map +1 -0
- package/src/lib/services/clientWebSocketServer.js +437 -0
- package/src/lib/services/clientWebSocketServer.js.map +1 -0
- package/src/lib/services/index.d.ts +2 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +4 -4
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts +82 -17
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +787 -19
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockSyncStore.d.ts +24 -5
- package/src/lib/stores/diskBlockSyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockSyncStore.js +30 -13
- package/src/lib/stores/diskBlockSyncStore.js.map +1 -1
- package/src/lib/validation/userValidation.d.ts +27 -0
- package/src/lib/validation/userValidation.d.ts.map +1 -0
- package/src/lib/validation/userValidation.js +70 -0
- package/src/lib/validation/userValidation.js.map +1 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IAuthResponse, IUserProfile } from '@brightchain/brightchain-lib';
|
|
2
|
+
import { IApiMessageResponse } from '@digitaldefiance/node-express-suite';
|
|
3
|
+
/**
|
|
4
|
+
* API response for user profile retrieval.
|
|
5
|
+
* Wraps the shared IUserProfile DTO with the standard API message envelope.
|
|
6
|
+
*/
|
|
7
|
+
export interface IUserProfileApiResponse extends IApiMessageResponse {
|
|
8
|
+
data: IUserProfile<string>;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* API response for authentication operations (login/register).
|
|
12
|
+
* Wraps the shared IAuthResponse DTO with the standard API message envelope.
|
|
13
|
+
*/
|
|
14
|
+
export interface IAuthApiResponse extends IApiMessageResponse {
|
|
15
|
+
data: IAuthResponse<string>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=userApiResponse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userApiResponse.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/userApiResponse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,mBAAmB;IAC3D,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userApiResponse.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/userApiResponse.ts"],"names":[],"mappings":""}
|
|
@@ -114,6 +114,69 @@ export interface IBlockRemovalMessage {
|
|
|
114
114
|
};
|
|
115
115
|
timestamp: string;
|
|
116
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Pool gossip announcement payload carried inside gossip batches.
|
|
119
|
+
* Used for pool creation/update and pool removal announcements.
|
|
120
|
+
*
|
|
121
|
+
* @see Requirements 8.1, 8.2, 8.4
|
|
122
|
+
*/
|
|
123
|
+
export interface IPoolGossipAnnouncement {
|
|
124
|
+
type: 'pool_announce' | 'pool_remove';
|
|
125
|
+
poolId: string;
|
|
126
|
+
nodeId: string;
|
|
127
|
+
blockCount: number;
|
|
128
|
+
totalSize: number;
|
|
129
|
+
encrypted: boolean;
|
|
130
|
+
encryptedMetadata?: string;
|
|
131
|
+
ttl: number;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Pool announcement message
|
|
135
|
+
*
|
|
136
|
+
* @see Requirements 8.1, 8.2
|
|
137
|
+
*/
|
|
138
|
+
export interface IPoolAnnouncementMessage {
|
|
139
|
+
type: GossipMessageType.POOL_ANNOUNCEMENT;
|
|
140
|
+
payload: IPoolGossipAnnouncement;
|
|
141
|
+
timestamp: string;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Pool removal message
|
|
145
|
+
*
|
|
146
|
+
* @see Requirements 8.4
|
|
147
|
+
*/
|
|
148
|
+
export interface IPoolRemovalMessage {
|
|
149
|
+
type: GossipMessageType.POOL_REMOVAL;
|
|
150
|
+
payload: IPoolGossipAnnouncement;
|
|
151
|
+
timestamp: string;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Pool list request message for discovery queries
|
|
155
|
+
*
|
|
156
|
+
* @see Requirements 7.1
|
|
157
|
+
*/
|
|
158
|
+
export interface IPoolListRequestMessage {
|
|
159
|
+
type: GossipMessageType.POOL_LIST_REQUEST;
|
|
160
|
+
payload: {
|
|
161
|
+
requestingNodeId: string;
|
|
162
|
+
};
|
|
163
|
+
timestamp: string;
|
|
164
|
+
requestId: string;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Pool list response message for discovery queries
|
|
168
|
+
*
|
|
169
|
+
* @see Requirements 7.1
|
|
170
|
+
*/
|
|
171
|
+
export interface IPoolListResponseMessage {
|
|
172
|
+
type: GossipMessageType.POOL_LIST_RESPONSE;
|
|
173
|
+
payload: {
|
|
174
|
+
nodeId: string;
|
|
175
|
+
pools: IPoolGossipAnnouncement[];
|
|
176
|
+
};
|
|
177
|
+
timestamp: string;
|
|
178
|
+
requestId: string;
|
|
179
|
+
}
|
|
117
180
|
/**
|
|
118
181
|
* Announcement batch message
|
|
119
182
|
*/
|
|
@@ -247,5 +310,5 @@ export interface IEventSubscribeMessage {
|
|
|
247
310
|
/**
|
|
248
311
|
* Union type of all WebSocket messages
|
|
249
312
|
*/
|
|
250
|
-
export type WebSocketMessage = IBloomFilterRequest | IBloomFilterResponse | IBlockQueryMessage | IBlockQueryResponse | IManifestRequest | IManifestResponse | IBlockAnnouncementMessage | IBlockRemovalMessage | IAnnouncementBatchMessage | IPingMessage | IPongMessage | IMessageSendMessage | IMessageReceivedMessage | IMessageAckMessage | IMessageQueryMessage | IEventSubscribeMessage;
|
|
313
|
+
export type WebSocketMessage = IBloomFilterRequest | IBloomFilterResponse | IBlockQueryMessage | IBlockQueryResponse | IManifestRequest | IManifestResponse | IBlockAnnouncementMessage | IBlockRemovalMessage | IAnnouncementBatchMessage | IPoolAnnouncementMessage | IPoolRemovalMessage | IPoolListRequestMessage | IPoolListResponseMessage | IPingMessage | IPongMessage | IMessageSendMessage | IMessageReceivedMessage | IMessageAckMessage | IMessageQueryMessage | IEventSubscribeMessage;
|
|
251
314
|
//# sourceMappingURL=websocketMessages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocketMessages.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/websocketMessages.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocketMessages.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/websocketMessages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateBody = void 0;
|
|
4
|
+
var validateBody_1 = require("./validateBody");
|
|
5
|
+
Object.defineProperty(exports, "validateBody", { enumerable: true, get: function () { return validateBody_1.validateBody; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BrandedInterfaceDefinition } from '@digitaldefiance/branded-interface';
|
|
2
|
+
import type { NextFunction, Request, Response } from 'express';
|
|
3
|
+
/**
|
|
4
|
+
* Express middleware factory that validates the request body against a
|
|
5
|
+
* BrandedInterfaceDefinition using safeParseInterface().
|
|
6
|
+
*
|
|
7
|
+
* On success: attaches the branded instance to `req.brandedBody` and calls `next()`.
|
|
8
|
+
* On failure: responds with HTTP 400 and a JSON error body.
|
|
9
|
+
*
|
|
10
|
+
* Requirements: 6.1, 6.2, 6.3, 6.4, 6.5
|
|
11
|
+
*/
|
|
12
|
+
export declare function validateBody<T extends Record<string, unknown>>(definition: BrandedInterfaceDefinition<T>): (req: Request, res: Response, next: NextFunction) => void;
|
|
13
|
+
//# sourceMappingURL=validateBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateBody.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/validateBody.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAE3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,UAAU,EAAE,0BAA0B,CAAC,CAAC,CAAC,IAEjC,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,KAAG,IAAI,CAmB/D"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateBody = validateBody;
|
|
4
|
+
const branded_interface_1 = require("@digitaldefiance/branded-interface");
|
|
5
|
+
/**
|
|
6
|
+
* Express middleware factory that validates the request body against a
|
|
7
|
+
* BrandedInterfaceDefinition using safeParseInterface().
|
|
8
|
+
*
|
|
9
|
+
* On success: attaches the branded instance to `req.brandedBody` and calls `next()`.
|
|
10
|
+
* On failure: responds with HTTP 400 and a JSON error body.
|
|
11
|
+
*
|
|
12
|
+
* Requirements: 6.1, 6.2, 6.3, 6.4, 6.5
|
|
13
|
+
*/
|
|
14
|
+
function validateBody(definition) {
|
|
15
|
+
return (req, res, next) => {
|
|
16
|
+
if (!req.body || typeof req.body !== 'object' || Array.isArray(req.body)) {
|
|
17
|
+
res
|
|
18
|
+
.status(400)
|
|
19
|
+
.json({ error: 'Request body is missing or not an object' });
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
const result = (0, branded_interface_1.safeParseInterface)(req.body, definition);
|
|
23
|
+
if (!result.success) {
|
|
24
|
+
res.status(400).json({
|
|
25
|
+
error: result.error.message,
|
|
26
|
+
code: result.error.code,
|
|
27
|
+
fieldErrors: result.error.fieldErrors ?? [],
|
|
28
|
+
});
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
req.brandedBody = result.value;
|
|
32
|
+
next();
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=validateBody.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateBody.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middleware/validateBody.ts"],"names":[],"mappings":";;AAeA,oCAsBC;AArCD,0EAG4C;AAG5C;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,UAAyC;IAEzC,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAQ,EAAE;QAC/D,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzE,GAAG;iBACA,MAAM,CAAC,GAAG,CAAC;iBACX,IAAI,CAAC,EAAE,KAAK,EAAE,0CAA0C,EAAE,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,sCAAkB,EAAC,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO;gBAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI;gBACvB,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE;aAC5C,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACA,GAA0C,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;QACvE,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -18,6 +18,8 @@ export interface IMemberContext {
|
|
|
18
18
|
*/
|
|
19
19
|
export interface IAuthenticatedRequest extends Request {
|
|
20
20
|
memberContext?: IMemberContext;
|
|
21
|
+
/** Request ID (UUID v4) set by requestIdMiddleware */
|
|
22
|
+
requestId?: string;
|
|
21
23
|
}
|
|
22
24
|
/**
|
|
23
25
|
* Configuration options for the JWT authentication middleware.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAS1D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,OAAO;IACpD,aAAa,CAAC,EAAE,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAS1D;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,qBAAsB,SAAQ,OAAO;IACpD,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAaxD;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,IAE1D,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAAI,CAsER;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,IAEpD,KAAK,qBAAqB,EAC1B,KAAK,QAAQ,EACb,MAAM,YAAY,KACjB,IAAI,CAqDR;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,SAvJpC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAsJR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,SAnKrC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAkKR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SA1FtC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAyFR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,SAtGzC,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAqGR;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,UAAU,EAAE,SAlHhD,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,CAiHR;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,UApNjE,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,IAmNR;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EACjB,GAAG,KAAK,EAAE,UAAU,EAAE,UAnOf,qBAAqB,OACrB,QAAQ,QACP,YAAY,KACjB,IAAI,IAmOR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/middlewares/authentication.ts"],"names":[],"mappings":"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"}
|
package/src/lib/routers/api.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { ConversationService } from '@brightchain/brightchain-lib/lib/services/c
|
|
|
4
4
|
import { GroupService } from '@brightchain/brightchain-lib/lib/services/communication/groupService';
|
|
5
5
|
import { PermissionService } from '@brightchain/brightchain-lib/lib/services/communication/permissionService';
|
|
6
6
|
import { PlatformID } from '@digitaldefiance/node-ecies-lib';
|
|
7
|
+
import { PoolDiscoveryService } from '../availability/poolDiscoveryService';
|
|
8
|
+
import { IntrospectionController, IntrospectionControllerConfig } from '../controllers/api/introspection';
|
|
7
9
|
import { NodesController } from '../controllers/api/nodes';
|
|
8
10
|
import { SyncController } from '../controllers/api/sync';
|
|
9
11
|
import { IBrightChainApplication } from '../interfaces';
|
|
@@ -31,6 +33,8 @@ export declare class ApiRouter<TID extends PlatformID = DefaultBackendIdType> ex
|
|
|
31
33
|
private readonly scblController;
|
|
32
34
|
private readonly syncController;
|
|
33
35
|
private readonly userController;
|
|
36
|
+
private introspectionController;
|
|
37
|
+
private readonly brightchainApplication;
|
|
34
38
|
private readonly jwtService;
|
|
35
39
|
private readonly emailService;
|
|
36
40
|
private readonly roleService;
|
|
@@ -137,5 +141,28 @@ export declare class ApiRouter<TID extends PlatformID = DefaultBackendIdType> ex
|
|
|
137
141
|
* Get the ChannelController instance.
|
|
138
142
|
*/
|
|
139
143
|
getChannelController(): typeof this.channelController;
|
|
144
|
+
/**
|
|
145
|
+
* Initialize the IntrospectionController with its full config.
|
|
146
|
+
* Called once all dependencies are available.
|
|
147
|
+
* Mounts routes at `/introspection`.
|
|
148
|
+
* @requirements 1.1, 1.4, 1.5
|
|
149
|
+
*/
|
|
150
|
+
initIntrospectionController(config: IntrospectionControllerConfig): void;
|
|
151
|
+
/**
|
|
152
|
+
* Update the IntrospectionController config after initialization.
|
|
153
|
+
* Useful when individual dependencies become available incrementally.
|
|
154
|
+
* @requirements 1.4, 1.5
|
|
155
|
+
*/
|
|
156
|
+
setIntrospectionConfig(config: IntrospectionControllerConfig): void;
|
|
157
|
+
/**
|
|
158
|
+
* Set the PoolDiscoveryService on the IntrospectionController.
|
|
159
|
+
* Called by App.setPoolDiscoveryService after the service is wired.
|
|
160
|
+
* @requirements 7.1, 8.3
|
|
161
|
+
*/
|
|
162
|
+
setIntrospectionPoolDiscoveryService(service: PoolDiscoveryService): void;
|
|
163
|
+
/**
|
|
164
|
+
* Get the IntrospectionController instance.
|
|
165
|
+
*/
|
|
166
|
+
getIntrospectionController(): IntrospectionController<TID> | null;
|
|
140
167
|
}
|
|
141
168
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
|
package/src/lib/routers/api.js
CHANGED
|
@@ -14,6 +14,7 @@ const energy_1 = require("../controllers/api/energy");
|
|
|
14
14
|
const groups_1 = require("../controllers/api/groups");
|
|
15
15
|
const health_1 = require("../controllers/api/health");
|
|
16
16
|
const i18n_1 = require("../controllers/api/i18n");
|
|
17
|
+
const introspection_1 = require("../controllers/api/introspection");
|
|
17
18
|
const messages_1 = require("../controllers/api/messages");
|
|
18
19
|
const nodes_1 = require("../controllers/api/nodes");
|
|
19
20
|
const quorum_1 = require("../controllers/api/quorum");
|
|
@@ -31,6 +32,8 @@ class ApiRouter extends base_1.BaseRouter {
|
|
|
31
32
|
*/
|
|
32
33
|
constructor(application) {
|
|
33
34
|
super(application);
|
|
35
|
+
this.introspectionController = null;
|
|
36
|
+
this.brightchainApplication = application;
|
|
34
37
|
this.jwtService = new node_express_suite_1.JwtService(application);
|
|
35
38
|
this.roleService = new node_express_suite_1.RoleService(application);
|
|
36
39
|
this.emailService = new email_1.EmailService(application);
|
|
@@ -210,6 +213,47 @@ class ApiRouter extends base_1.BaseRouter {
|
|
|
210
213
|
getChannelController() {
|
|
211
214
|
return this.channelController;
|
|
212
215
|
}
|
|
216
|
+
// ─── Introspection controller wiring ────────────────────────────────
|
|
217
|
+
/**
|
|
218
|
+
* Initialize the IntrospectionController with its full config.
|
|
219
|
+
* Called once all dependencies are available.
|
|
220
|
+
* Mounts routes at `/introspection`.
|
|
221
|
+
* @requirements 1.1, 1.4, 1.5
|
|
222
|
+
*/
|
|
223
|
+
initIntrospectionController(config) {
|
|
224
|
+
this.introspectionController = new introspection_1.IntrospectionController(this.brightchainApplication, config);
|
|
225
|
+
this.router.use('/introspection', this.introspectionController.router);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Update the IntrospectionController config after initialization.
|
|
229
|
+
* Useful when individual dependencies become available incrementally.
|
|
230
|
+
* @requirements 1.4, 1.5
|
|
231
|
+
*/
|
|
232
|
+
setIntrospectionConfig(config) {
|
|
233
|
+
if (this.introspectionController) {
|
|
234
|
+
this.introspectionController.setConfig(config);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* Set the PoolDiscoveryService on the IntrospectionController.
|
|
239
|
+
* Called by App.setPoolDiscoveryService after the service is wired.
|
|
240
|
+
* @requirements 7.1, 8.3
|
|
241
|
+
*/
|
|
242
|
+
setIntrospectionPoolDiscoveryService(service) {
|
|
243
|
+
if (this.introspectionController) {
|
|
244
|
+
const currentConfig = this.introspectionController.getConfig();
|
|
245
|
+
this.introspectionController.setConfig({
|
|
246
|
+
...currentConfig,
|
|
247
|
+
poolDiscoveryService: service,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Get the IntrospectionController instance.
|
|
253
|
+
*/
|
|
254
|
+
getIntrospectionController() {
|
|
255
|
+
return this.introspectionController;
|
|
256
|
+
}
|
|
213
257
|
}
|
|
214
258
|
exports.ApiRouter = ApiRouter;
|
|
215
259
|
//# sourceMappingURL=api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,12 @@ export declare class AuthService<TID extends PlatformID = DefaultBackendIdType>
|
|
|
14
14
|
private emailService;
|
|
15
15
|
private jwtSecret;
|
|
16
16
|
constructor(application: IBrightChainApplication<TID>, memberStore: MemberStore, energyStore: EnergyAccountStore, emailService: EmailService<TID>, jwtSecret: string);
|
|
17
|
-
register(username: string, email: string, _mnemonic?: SecureString): Promise<IAuthToken>;
|
|
17
|
+
register(username: string, email: string, password: SecureString, _mnemonic?: SecureString): Promise<IAuthToken>;
|
|
18
18
|
login(credentials: IAuthCredentials): Promise<IAuthToken>;
|
|
19
19
|
signToken(memberId: string, username: string, type: MemberType): string;
|
|
20
20
|
verifyToken(token: string): Promise<ITokenPayload>;
|
|
21
|
+
storePasswordHash(memberId: Uint8Array, hash: string): Promise<void>;
|
|
22
|
+
getPasswordHash(memberId: Uint8Array): Promise<string>;
|
|
21
23
|
private sendWelcomeEmail;
|
|
22
24
|
}
|
|
23
25
|
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,kBAAkB,EAClB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAG7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,WAAW,CAAC,GAAG,CAAC;IACxB,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAS;gBAGxB,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC,EACzC,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,kBAAkB,EAC/B,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,EAC/B,SAAS,EAAE,MAAM;IASb,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,EACtB,SAAS,CAAC,EAAE,YAAY,GACvB,OAAO,CAAC,UAAU,CAAC;IA0ChB,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IA4C/D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAYjE,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IASlD,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,eAAe,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;YAS9C,gBAAgB;CA2B/B"}
|
package/src/lib/services/auth.js
CHANGED
|
@@ -4,8 +4,10 @@ exports.AuthService = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
6
6
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
7
|
+
const bcrypt = tslib_1.__importStar(require("bcrypt"));
|
|
7
8
|
const jwt = tslib_1.__importStar(require("jsonwebtoken"));
|
|
8
9
|
const base_1 = require("./base");
|
|
10
|
+
const BCRYPT_ROUNDS = 12;
|
|
9
11
|
class AuthService extends base_1.BaseService {
|
|
10
12
|
constructor(application, memberStore, energyStore, emailService, jwtSecret) {
|
|
11
13
|
super(application);
|
|
@@ -14,14 +16,28 @@ class AuthService extends base_1.BaseService {
|
|
|
14
16
|
this.emailService = emailService;
|
|
15
17
|
this.jwtSecret = jwtSecret;
|
|
16
18
|
}
|
|
17
|
-
async register(username, email, _mnemonic) {
|
|
19
|
+
async register(username, email, password, _mnemonic) {
|
|
20
|
+
// Check for duplicate email
|
|
21
|
+
const existing = await this.memberStore.queryIndex({ email });
|
|
22
|
+
if (existing.length > 0) {
|
|
23
|
+
throw new Error('Email already registered');
|
|
24
|
+
}
|
|
25
|
+
// Hash password before member creation
|
|
26
|
+
const passwordValue = password.value;
|
|
27
|
+
if (!passwordValue) {
|
|
28
|
+
throw new Error('Password value is empty');
|
|
29
|
+
}
|
|
30
|
+
const passwordHash = await bcrypt.hash(passwordValue, BCRYPT_ROUNDS);
|
|
18
31
|
const { reference } = await this.memberStore.createMember({
|
|
19
32
|
type: ecies_lib_1.MemberType.User,
|
|
20
33
|
name: username,
|
|
21
34
|
contactEmail: new brightchain_lib_1.EmailString(email),
|
|
22
35
|
});
|
|
23
36
|
const memberId = reference.id.toString();
|
|
24
|
-
const
|
|
37
|
+
const idBytes = reference.id;
|
|
38
|
+
const memberChecksum = brightchain_lib_1.ServiceProvider.getInstance().checksumService.calculateChecksum(idBytes);
|
|
39
|
+
// Store password hash in member's private profile
|
|
40
|
+
await this.storePasswordHash(reference.id, passwordHash);
|
|
25
41
|
const energyAccount = brightchain_lib_1.EnergyAccount.createWithTrialCredits(memberChecksum);
|
|
26
42
|
await this.energyStore.set(memberChecksum, energyAccount);
|
|
27
43
|
await this.sendWelcomeEmail(email, username);
|
|
@@ -33,13 +49,28 @@ class AuthService extends base_1.BaseService {
|
|
|
33
49
|
};
|
|
34
50
|
}
|
|
35
51
|
async login(credentials) {
|
|
36
|
-
|
|
52
|
+
// Look up member by username
|
|
53
|
+
const results = await this.memberStore.queryIndex({
|
|
54
|
+
name: credentials.username,
|
|
55
|
+
limit: 1,
|
|
56
|
+
});
|
|
37
57
|
if (results.length === 0) {
|
|
38
58
|
throw new Error('Invalid credentials');
|
|
39
59
|
}
|
|
40
60
|
const reference = results[0];
|
|
61
|
+
// Retrieve stored password hash and verify
|
|
62
|
+
const storedHash = await this.getPasswordHash(reference.id);
|
|
63
|
+
const passwordValue = credentials.password.value;
|
|
64
|
+
if (!passwordValue) {
|
|
65
|
+
throw new Error('Password value is empty');
|
|
66
|
+
}
|
|
67
|
+
const isValid = await bcrypt.compare(passwordValue, storedHash);
|
|
68
|
+
if (!isValid) {
|
|
69
|
+
throw new Error('Invalid credentials');
|
|
70
|
+
}
|
|
41
71
|
const memberId = reference.id.toString();
|
|
42
|
-
const
|
|
72
|
+
const idBytes = reference.id;
|
|
73
|
+
const memberChecksum = brightchain_lib_1.ServiceProvider.getInstance().checksumService.calculateChecksum(idBytes);
|
|
43
74
|
const energyAccount = await this.energyStore.getOrCreate(memberChecksum);
|
|
44
75
|
const token = this.signToken(memberId, credentials.username, reference.type);
|
|
45
76
|
return {
|
|
@@ -67,6 +98,22 @@ class AuthService extends base_1.BaseService {
|
|
|
67
98
|
throw new Error('Invalid token');
|
|
68
99
|
}
|
|
69
100
|
}
|
|
101
|
+
async storePasswordHash(memberId, hash) {
|
|
102
|
+
await this.memberStore.updateMember(memberId, {
|
|
103
|
+
id: memberId,
|
|
104
|
+
privateChanges: {
|
|
105
|
+
passwordHash: hash,
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
async getPasswordHash(memberId) {
|
|
110
|
+
const profile = await this.memberStore.getMemberProfile(memberId);
|
|
111
|
+
const passwordHash = profile.privateProfile?.passwordHash;
|
|
112
|
+
if (!passwordHash) {
|
|
113
|
+
throw new Error('No password hash found for member');
|
|
114
|
+
}
|
|
115
|
+
return passwordHash;
|
|
116
|
+
}
|
|
70
117
|
async sendWelcomeEmail(email, username) {
|
|
71
118
|
if (!this.emailService) {
|
|
72
119
|
console.log(`[EmailService disabled] Would send welcome email to ${email}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":";;;;AAAA,kEAMsC;AACtC,0DAAsE;AAEtE,0DAAoC;AAMpC,iCAAqC;AAGrC,MAAa,WAEX,SAAQ,kBAAgB;IAMxB,YACE,WAAyC,EACzC,WAAwB,EACxB,WAA+B,EAC/B,YAA+B,EAC/B,SAAiB;QAEjB,KAAK,CAAC,WAAW,CAAC,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,KAAa,EACb,SAAwB;QAExB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;YACxD,IAAI,EAAE,sBAAU,CAAC,IAAI;YACrB,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,IAAI,6BAAW,CAAC,KAAK,CAAC;SACrC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview BrightChainMemberInitService — initialises BrightChainDb and
|
|
3
|
+
* persists system/admin/member users as IMemberIndexDocument entries.
|
|
4
|
+
*
|
|
5
|
+
* Design constraints:
|
|
6
|
+
* - NO imports from @digitaldefiance/node-express-suite (no Mongoose, no Express)
|
|
7
|
+
* - NO `any` / `unknown` in the public API surface
|
|
8
|
+
* - NO `as any` / `as unknown` casts
|
|
9
|
+
* - All writes go through BrightChainDb.withTransaction exclusively
|
|
10
|
+
*/
|
|
11
|
+
import { BlockSize, IBrightChainInitResult, IBrightChainMemberInitInput } from '@brightchain/brightchain-lib';
|
|
12
|
+
import { BrightChainDb, CBLIndex } from '@brightchain/db';
|
|
13
|
+
/**
|
|
14
|
+
* BrightChain-native configuration for BrightChainMemberInitService.
|
|
15
|
+
* Contains only what the service needs — no Mongoose, no Express.
|
|
16
|
+
*/
|
|
17
|
+
export interface IBrightChainMemberInitConfig {
|
|
18
|
+
/** Pool name used as the BrightChainDb name and poolId */
|
|
19
|
+
memberPoolName: string;
|
|
20
|
+
/**
|
|
21
|
+
* Filesystem path for the disk block store.
|
|
22
|
+
* When set (and useMemoryStore is false), a DiskBlockStore and
|
|
23
|
+
* PersistentHeadRegistry are used so data survives process restarts.
|
|
24
|
+
*/
|
|
25
|
+
blockStorePath?: string;
|
|
26
|
+
/** Force in-memory store even when blockStorePath is set */
|
|
27
|
+
useMemoryStore?: boolean;
|
|
28
|
+
/** Block size for the store (defaults to BlockSize.Small) */
|
|
29
|
+
blockSize?: BlockSize;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initialises a BrightChainDb instance and persists system/admin/member users
|
|
33
|
+
* as IMemberIndexDocument entries in the member index collection.
|
|
34
|
+
*
|
|
35
|
+
* The service is idempotent: calling initialize() multiple times with the same
|
|
36
|
+
* users will not create duplicate entries.
|
|
37
|
+
*/
|
|
38
|
+
export declare class BrightChainMemberInitService {
|
|
39
|
+
private _db;
|
|
40
|
+
private _memberCblIndex;
|
|
41
|
+
/**
|
|
42
|
+
* The initialised BrightChainDb instance.
|
|
43
|
+
* @throws Error if initialize() has not been called yet.
|
|
44
|
+
*/
|
|
45
|
+
get db(): BrightChainDb;
|
|
46
|
+
/**
|
|
47
|
+
* The member pool CBLIndex.
|
|
48
|
+
* @throws Error if initialize() has not been called yet.
|
|
49
|
+
*/
|
|
50
|
+
get memberCblIndex(): CBLIndex;
|
|
51
|
+
/**
|
|
52
|
+
* Initialise the block store and BrightChainDb, then persist any missing
|
|
53
|
+
* member index entries.
|
|
54
|
+
*
|
|
55
|
+
* Steps:
|
|
56
|
+
* 1. Build the appropriate block store (disk or memory)
|
|
57
|
+
* 2. Create and connect BrightChainDb (with PersistentHeadRegistry when disk)
|
|
58
|
+
* 3. Create CBLIndex for the member pool
|
|
59
|
+
* 4. Build candidate IMemberIndexDocument entries
|
|
60
|
+
* 5. Validate all candidates against MEMBER_INDEX_SCHEMA (pre-transaction)
|
|
61
|
+
* 6. Check which candidates are already present (idempotency)
|
|
62
|
+
* 7. Insert missing entries in a single withTransaction call
|
|
63
|
+
*/
|
|
64
|
+
initialize(config: IBrightChainMemberInitConfig, input: IBrightChainMemberInitInput): Promise<IBrightChainInitResult<BrightChainDb>>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=brightchain-member-init.service.d.ts.map
|