@brightchain/brightchain-api-lib 0.18.2 → 0.21.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 +8 -3
- package/src/index.d.ts +0 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +0 -1
- package/src/index.js.map +1 -1
- package/src/lib/application.d.ts +12 -3
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +153 -7
- package/src/lib/application.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +59 -1
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +125 -1
- 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/quorumGossipHandler.d.ts +126 -0
- package/src/lib/availability/quorumGossipHandler.d.ts.map +1 -0
- package/src/lib/availability/quorumGossipHandler.js +246 -0
- package/src/lib/availability/quorumGossipHandler.js.map +1 -0
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +4 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts +110 -2
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js +389 -0
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts +12 -15
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +312 -94
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/databaseInit.d.ts +3 -2
- package/src/lib/databaseInit.d.ts.map +1 -1
- package/src/lib/databaseInit.js +24 -12
- package/src/lib/databaseInit.js.map +1 -1
- package/src/lib/datastore/index.d.ts +0 -1
- package/src/lib/datastore/index.d.ts.map +1 -1
- package/src/lib/datastore/index.js +0 -1
- package/src/lib/datastore/index.js.map +1 -1
- package/src/lib/environment.d.ts +6 -0
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +14 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/hydration/energyAccountHydration.d.ts +17 -0
- package/src/lib/hydration/energyAccountHydration.d.ts.map +1 -0
- package/src/lib/hydration/energyAccountHydration.js +24 -0
- package/src/lib/hydration/energyAccountHydration.js.map +1 -0
- package/src/lib/hydration/index.d.ts +13 -0
- package/src/lib/hydration/index.d.ts.map +1 -0
- package/src/lib/hydration/index.js +21 -0
- package/src/lib/hydration/index.js.map +1 -0
- package/src/lib/hydration/rbacHydration.d.ts +28 -0
- package/src/lib/hydration/rbacHydration.d.ts.map +1 -0
- package/src/lib/hydration/rbacHydration.js +56 -0
- package/src/lib/hydration/rbacHydration.js.map +1 -0
- package/src/lib/interfaces/environment.d.ts +7 -1
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/responses/api-backup-codes-response.d.ts +1 -1
- package/src/lib/interfaces/responses/api-code-count-response.d.ts +1 -1
- package/src/lib/interfaces/responses/api-password-change-response.d.ts +9 -0
- package/src/lib/interfaces/responses/api-password-change-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-password-change-response.js +3 -0
- package/src/lib/interfaces/responses/api-password-change-response.js.map +1 -0
- package/src/lib/interfaces/responses/api-recovery-response.d.ts +9 -0
- package/src/lib/interfaces/responses/api-recovery-response.d.ts.map +1 -0
- package/src/lib/interfaces/responses/api-recovery-response.js +3 -0
- package/src/lib/interfaces/responses/api-recovery-response.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +2 -0
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/client-session.d.ts +1 -1
- package/src/lib/interfaces/storage/client-session.d.ts.map +1 -1
- package/src/lib/interfaces/storage/collection.d.ts +1 -1
- package/src/lib/interfaces/storage/collection.d.ts.map +1 -1
- package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts +1 -1
- package/src/lib/interfaces/storage/database-lifecycle-hooks.d.ts.map +1 -1
- package/src/lib/interfaces/storage/database.d.ts +1 -1
- package/src/lib/interfaces/storage/database.d.ts.map +1 -1
- package/src/lib/interfaces/storage/document-types.d.ts +1 -1
- package/src/lib/interfaces/storage/document-types.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +1 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/storedDocumentTypes.d.ts +73 -0
- package/src/lib/interfaces/storage/storedDocumentTypes.d.ts.map +1 -0
- package/src/lib/interfaces/storage/storedDocumentTypes.js +15 -0
- package/src/lib/interfaces/storage/storedDocumentTypes.js.map +1 -0
- package/src/lib/plugins/brightchain-database-plugin.d.ts +31 -21
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.js +103 -53
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
- package/src/lib/plugins/configure-brightchain-app.d.ts.map +1 -1
- package/src/lib/plugins/configure-brightchain-app.js +5 -0
- package/src/lib/plugins/configure-brightchain-app.js.map +1 -1
- package/src/lib/services/auth.d.ts +6 -2
- package/src/lib/services/auth.d.ts.map +1 -1
- package/src/lib/services/auth.js +43 -7
- package/src/lib/services/auth.js.map +1 -1
- package/src/lib/services/backupCodeService.d.ts +35 -0
- package/src/lib/services/backupCodeService.d.ts.map +1 -0
- package/src/lib/services/backupCodeService.js +109 -0
- package/src/lib/services/backupCodeService.js.map +1 -0
- package/src/lib/services/brightchain-authentication-provider.d.ts.map +1 -1
- package/src/lib/services/brightchain-authentication-provider.js +28 -9
- package/src/lib/services/brightchain-authentication-provider.js.map +1 -1
- package/src/lib/services/brightchain-member-init.service.d.ts +39 -20
- package/src/lib/services/brightchain-member-init.service.d.ts.map +1 -1
- package/src/lib/services/brightchain-member-init.service.js +139 -53
- package/src/lib/services/brightchain-member-init.service.js.map +1 -1
- package/src/lib/services/cliOperatorPrompt.d.ts +81 -0
- package/src/lib/services/cliOperatorPrompt.d.ts.map +1 -0
- package/src/lib/services/cliOperatorPrompt.js +177 -0
- package/src/lib/services/cliOperatorPrompt.js.map +1 -0
- package/src/lib/services/contentAwareBlocksService.d.ts +92 -0
- package/src/lib/services/contentAwareBlocksService.d.ts.map +1 -0
- package/src/lib/services/contentAwareBlocksService.js +102 -0
- package/src/lib/services/contentAwareBlocksService.js.map +1 -0
- package/src/lib/services/contentIngestionService.d.ts +68 -0
- package/src/lib/services/contentIngestionService.d.ts.map +1 -0
- package/src/lib/services/contentIngestionService.js +139 -0
- package/src/lib/services/contentIngestionService.js.map +1 -0
- package/src/lib/services/identityExpirationScheduler.d.ts +77 -0
- package/src/lib/services/identityExpirationScheduler.d.ts.map +1 -0
- package/src/lib/services/identityExpirationScheduler.js +157 -0
- package/src/lib/services/identityExpirationScheduler.js.map +1 -0
- package/src/lib/services/index.d.ts +7 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +7 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts +60 -0
- package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -0
- package/src/lib/services/quorumDatabaseAdapter.js +652 -0
- package/src/lib/services/quorumDatabaseAdapter.js.map +1 -0
- package/src/lib/services/secureKeyStorage.js +3 -3
- package/src/lib/services/secureKeyStorage.js.map +1 -1
- 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 +105 -0
- package/src/lib/services/sessionAdapter.js.map +1 -0
- package/src/lib/utils/rehydration.d.ts +31 -0
- package/src/lib/utils/rehydration.d.ts.map +1 -0
- package/src/lib/utils/rehydration.js +111 -0
- package/src/lib/utils/rehydration.js.map +1 -0
- package/src/lib/utils/serialization.d.ts +21 -0
- package/src/lib/utils/serialization.d.ts.map +1 -0
- package/src/lib/utils/serialization.js +41 -0
- package/src/lib/utils/serialization.js.map +1 -0
- package/src/lib/validation/userValidation.d.ts +17 -0
- package/src/lib/validation/userValidation.d.ts.map +1 -1
- package/src/lib/validation/userValidation.js +77 -0
- package/src/lib/validation/userValidation.js.map +1 -1
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts +0 -24
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.d.ts.map +0 -1
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js +0 -53
- package/src/lib/adapters/brightChainDbDocumentStoreAdapter.js.map +0 -1
- package/src/lib/datastore/document-model-adapter.d.ts +0 -48
- package/src/lib/datastore/document-model-adapter.d.ts.map +0 -1
- package/src/lib/datastore/document-model-adapter.js +0 -178
- package/src/lib/datastore/document-model-adapter.js.map +0 -1
- /package/{brightchain-api-lib/README.md → README.md} +0 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IdentityExpirationScheduler — Periodic background task that purges expired
|
|
3
|
+
* IdentityRecoveryRecord entries, implementing the digital statute of limitations.
|
|
4
|
+
*
|
|
5
|
+
* Runs in brightchain-api-lib as a Node.js-specific service.
|
|
6
|
+
*
|
|
7
|
+
* @see Requirements 17
|
|
8
|
+
* @see Design: Expiration Scheduler Design
|
|
9
|
+
*/
|
|
10
|
+
import { AuditLogService, ExpirationResult, ExpirationSchedulerConfig, IExpirationScheduler, IQuorumDatabase, StatuteOfLimitationsConfig } from '@brightchain/brightchain-lib';
|
|
11
|
+
import { PlatformID } from '@digitaldefiance/ecies-lib';
|
|
12
|
+
/**
|
|
13
|
+
* IdentityExpirationScheduler periodically purges expired IdentityRecoveryRecord
|
|
14
|
+
* entries from the quorum database.
|
|
15
|
+
*
|
|
16
|
+
* For each expired record:
|
|
17
|
+
* 1. Deletes the identity recovery shards from the database
|
|
18
|
+
* 2. Appends a chained audit log entry (identity_shards_expired)
|
|
19
|
+
* 3. Does NOT modify the associated content in the block store
|
|
20
|
+
*
|
|
21
|
+
* @template TID - Platform ID type for frontend/backend DTO compatibility
|
|
22
|
+
*/
|
|
23
|
+
export declare class IdentityExpirationScheduler<TID extends PlatformID = Uint8Array> implements IExpirationScheduler {
|
|
24
|
+
private readonly db;
|
|
25
|
+
private readonly auditLogService?;
|
|
26
|
+
private readonly intervalMs;
|
|
27
|
+
private readonly batchSize;
|
|
28
|
+
private timer;
|
|
29
|
+
private running;
|
|
30
|
+
constructor(db: IQuorumDatabase<TID>, auditLogService?: AuditLogService<TID> | undefined, config?: Partial<ExpirationSchedulerConfig>);
|
|
31
|
+
/**
|
|
32
|
+
* Start the periodic expiration check.
|
|
33
|
+
* Uses the configured interval from ExpirationSchedulerConfig.
|
|
34
|
+
*/
|
|
35
|
+
start(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Stop the periodic expiration check.
|
|
38
|
+
*/
|
|
39
|
+
stop(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the scheduler is currently running.
|
|
42
|
+
*/
|
|
43
|
+
get isRunning(): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Run a single expiration check immediately.
|
|
46
|
+
*
|
|
47
|
+
* 1. Query expired records via listExpiredIdentityRecords(now, page=0, batchSize)
|
|
48
|
+
* 2. For each expired record:
|
|
49
|
+
* a. Delete the identity recovery shards from the database
|
|
50
|
+
* b. Append a chained audit log entry (identity_shards_expired)
|
|
51
|
+
* c. Do NOT modify the associated content in the block store
|
|
52
|
+
* 3. If the batch was full (count === batchSize), set nextBatchAvailable = true
|
|
53
|
+
* 4. Return { deletedCount, failedIds, nextBatchAvailable }
|
|
54
|
+
*/
|
|
55
|
+
runOnce(): Promise<ExpirationResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Load the statute of limitations configuration from the database.
|
|
58
|
+
* Returns the stored config, or a default config with the 7-year fallback.
|
|
59
|
+
*/
|
|
60
|
+
loadStatuteConfig(): Promise<StatuteOfLimitationsConfig>;
|
|
61
|
+
/**
|
|
62
|
+
* Compute the expiration date for a new IdentityRecoveryRecord.
|
|
63
|
+
*
|
|
64
|
+
* Uses the statute of limitations configuration to determine the duration
|
|
65
|
+
* based on content type, falling back to the default duration.
|
|
66
|
+
*
|
|
67
|
+
* @param contentType - The content type (e.g., 'post', 'message', 'financial_record')
|
|
68
|
+
* @param createdAt - The creation timestamp of the record
|
|
69
|
+
* @returns The computed expiration date
|
|
70
|
+
*/
|
|
71
|
+
computeExpirationDate(contentType: string, createdAt: Date): Promise<Date>;
|
|
72
|
+
/**
|
|
73
|
+
* Emit an audit log entry via the AuditLogService or directly to the database.
|
|
74
|
+
*/
|
|
75
|
+
private emitAuditEntry;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=identityExpirationScheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityExpirationScheduler.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/identityExpirationScheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,eAAe,EAEf,gBAAgB,EAChB,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,EAEf,0BAA0B,EAC3B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,UAAU,EAAgB,MAAM,4BAA4B,CAAC;AAStE;;;;;;;;;;GAUG;AACH,qBAAa,2BAA2B,CACtC,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,oBAAoB;IAO7B,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAPnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,OAAO,CAAS;gBAGL,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,EACxB,eAAe,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,YAAA,EACvD,MAAM,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC;IAM7C;;;OAGG;IACH,KAAK,IAAI,IAAI;IAUb;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;;;;;OAUG;IACG,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAwC1C;;;OAGG;IACG,iBAAiB,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAW9D;;;;;;;;;OASG;IACG,qBAAqB,CACzB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,IAAI,CAAC;IAOhB;;OAEG;YACW,cAAc;CAiB7B"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* IdentityExpirationScheduler — Periodic background task that purges expired
|
|
4
|
+
* IdentityRecoveryRecord entries, implementing the digital statute of limitations.
|
|
5
|
+
*
|
|
6
|
+
* Runs in brightchain-api-lib as a Node.js-specific service.
|
|
7
|
+
*
|
|
8
|
+
* @see Requirements 17
|
|
9
|
+
* @see Design: Expiration Scheduler Design
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.IdentityExpirationScheduler = void 0;
|
|
13
|
+
const brightchain_lib_1 = require("@brightchain/brightchain-lib");
|
|
14
|
+
const uuid_1 = require("uuid");
|
|
15
|
+
/** Default interval: 24 hours in milliseconds */
|
|
16
|
+
const DEFAULT_INTERVAL_MS = 86400000;
|
|
17
|
+
/** Default batch size for processing expired records */
|
|
18
|
+
const DEFAULT_BATCH_SIZE = 100;
|
|
19
|
+
/**
|
|
20
|
+
* IdentityExpirationScheduler periodically purges expired IdentityRecoveryRecord
|
|
21
|
+
* entries from the quorum database.
|
|
22
|
+
*
|
|
23
|
+
* For each expired record:
|
|
24
|
+
* 1. Deletes the identity recovery shards from the database
|
|
25
|
+
* 2. Appends a chained audit log entry (identity_shards_expired)
|
|
26
|
+
* 3. Does NOT modify the associated content in the block store
|
|
27
|
+
*
|
|
28
|
+
* @template TID - Platform ID type for frontend/backend DTO compatibility
|
|
29
|
+
*/
|
|
30
|
+
class IdentityExpirationScheduler {
|
|
31
|
+
constructor(db, auditLogService, config) {
|
|
32
|
+
this.db = db;
|
|
33
|
+
this.auditLogService = auditLogService;
|
|
34
|
+
this.timer = null;
|
|
35
|
+
this.running = false;
|
|
36
|
+
this.intervalMs = config?.intervalMs ?? DEFAULT_INTERVAL_MS;
|
|
37
|
+
this.batchSize = config?.batchSize ?? DEFAULT_BATCH_SIZE;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Start the periodic expiration check.
|
|
41
|
+
* Uses the configured interval from ExpirationSchedulerConfig.
|
|
42
|
+
*/
|
|
43
|
+
start() {
|
|
44
|
+
if (this.running) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this.running = true;
|
|
48
|
+
this.timer = setInterval(() => {
|
|
49
|
+
void this.runOnce();
|
|
50
|
+
}, this.intervalMs);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Stop the periodic expiration check.
|
|
54
|
+
*/
|
|
55
|
+
stop() {
|
|
56
|
+
if (this.timer) {
|
|
57
|
+
clearInterval(this.timer);
|
|
58
|
+
this.timer = null;
|
|
59
|
+
}
|
|
60
|
+
this.running = false;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Whether the scheduler is currently running.
|
|
64
|
+
*/
|
|
65
|
+
get isRunning() {
|
|
66
|
+
return this.running;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Run a single expiration check immediately.
|
|
70
|
+
*
|
|
71
|
+
* 1. Query expired records via listExpiredIdentityRecords(now, page=0, batchSize)
|
|
72
|
+
* 2. For each expired record:
|
|
73
|
+
* a. Delete the identity recovery shards from the database
|
|
74
|
+
* b. Append a chained audit log entry (identity_shards_expired)
|
|
75
|
+
* c. Do NOT modify the associated content in the block store
|
|
76
|
+
* 3. If the batch was full (count === batchSize), set nextBatchAvailable = true
|
|
77
|
+
* 4. Return { deletedCount, failedIds, nextBatchAvailable }
|
|
78
|
+
*/
|
|
79
|
+
async runOnce() {
|
|
80
|
+
const now = new Date();
|
|
81
|
+
const expiredRecords = await this.db.listExpiredIdentityRecords(now, 0, this.batchSize);
|
|
82
|
+
let deletedCount = 0;
|
|
83
|
+
const failedIds = [];
|
|
84
|
+
for (const record of expiredRecords) {
|
|
85
|
+
try {
|
|
86
|
+
// Delete the identity recovery shards
|
|
87
|
+
await this.db.deleteIdentityRecord(record.id);
|
|
88
|
+
// Append chained audit log entry
|
|
89
|
+
await this.emitAuditEntry('identity_shards_expired', {
|
|
90
|
+
identityRecordId: record.id,
|
|
91
|
+
contentId: record.contentId,
|
|
92
|
+
contentType: record.contentType,
|
|
93
|
+
expiresAt: record.expiresAt.toISOString(),
|
|
94
|
+
epochNumber: record.epochNumber,
|
|
95
|
+
});
|
|
96
|
+
deletedCount++;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
failedIds.push(record.id);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const nextBatchAvailable = expiredRecords.length === this.batchSize;
|
|
103
|
+
return {
|
|
104
|
+
deletedCount,
|
|
105
|
+
failedIds,
|
|
106
|
+
nextBatchAvailable,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Load the statute of limitations configuration from the database.
|
|
111
|
+
* Returns the stored config, or a default config with the 7-year fallback.
|
|
112
|
+
*/
|
|
113
|
+
async loadStatuteConfig() {
|
|
114
|
+
const config = await this.db.getStatuteConfig();
|
|
115
|
+
if (config) {
|
|
116
|
+
return config;
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
defaultDurations: new Map(),
|
|
120
|
+
fallbackDurationMs: brightchain_lib_1.DEFAULT_STATUTE_FALLBACK_DURATION_MS,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Compute the expiration date for a new IdentityRecoveryRecord.
|
|
125
|
+
*
|
|
126
|
+
* Uses the statute of limitations configuration to determine the duration
|
|
127
|
+
* based on content type, falling back to the default duration.
|
|
128
|
+
*
|
|
129
|
+
* @param contentType - The content type (e.g., 'post', 'message', 'financial_record')
|
|
130
|
+
* @param createdAt - The creation timestamp of the record
|
|
131
|
+
* @returns The computed expiration date
|
|
132
|
+
*/
|
|
133
|
+
async computeExpirationDate(contentType, createdAt) {
|
|
134
|
+
const config = await this.loadStatuteConfig();
|
|
135
|
+
const durationMs = config.defaultDurations.get(contentType) ?? config.fallbackDurationMs;
|
|
136
|
+
return new Date(createdAt.getTime() + durationMs);
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Emit an audit log entry via the AuditLogService or directly to the database.
|
|
140
|
+
*/
|
|
141
|
+
async emitAuditEntry(eventType, details) {
|
|
142
|
+
const entry = {
|
|
143
|
+
id: (0, uuid_1.v4)(),
|
|
144
|
+
eventType,
|
|
145
|
+
details,
|
|
146
|
+
timestamp: new Date(),
|
|
147
|
+
};
|
|
148
|
+
if (this.auditLogService) {
|
|
149
|
+
await this.auditLogService.appendEntry(entry);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
await this.db.appendAuditEntry(entry);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.IdentityExpirationScheduler = IdentityExpirationScheduler;
|
|
157
|
+
//# sourceMappingURL=identityExpirationScheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identityExpirationScheduler.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/identityExpirationScheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
export * from './auth';
|
|
2
|
+
export * from './backupCodeService';
|
|
2
3
|
export * from './base';
|
|
3
4
|
export * from './blocks';
|
|
4
5
|
export * from './blockServiceFactory';
|
|
5
6
|
export * from './blockStore';
|
|
6
7
|
export * from './brightchain-member-init.service';
|
|
7
8
|
export * from './clientWebSocketServer';
|
|
9
|
+
export * from './cliOperatorPrompt';
|
|
10
|
+
export * from './contentAwareBlocksService';
|
|
11
|
+
export * from './contentIngestionService';
|
|
8
12
|
export * from './diskQuorumService';
|
|
9
13
|
export * from './email';
|
|
10
14
|
export * from './eventNotificationSystem';
|
|
11
15
|
export { WasmFecService } from './fec';
|
|
12
16
|
export * from './fecServiceFactory';
|
|
13
17
|
export * from './fecUsageExample';
|
|
18
|
+
export * from './identityExpirationScheduler';
|
|
14
19
|
export * from './messageEventsWebSocketHandler';
|
|
15
20
|
export * from './messagePassingService';
|
|
16
21
|
export * from './nativeRsFecService';
|
|
17
22
|
export * from './presenceService';
|
|
18
23
|
export * from './quorum';
|
|
24
|
+
export * from './quorumDatabaseAdapter';
|
|
19
25
|
export * from './requestUser';
|
|
20
26
|
export * from './role';
|
|
21
27
|
export * from './secureKeyStorage';
|
|
28
|
+
export * from './sessionAdapter';
|
|
22
29
|
export * from './websocketHandler';
|
|
23
30
|
export * from './webSocketMessageServer';
|
|
24
31
|
export * from './webSocketPeerProvider';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC"}
|
|
@@ -3,12 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.WasmFecService = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
tslib_1.__exportStar(require("./auth"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./backupCodeService"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./base"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./blocks"), exports);
|
|
8
9
|
tslib_1.__exportStar(require("./blockServiceFactory"), exports);
|
|
9
10
|
tslib_1.__exportStar(require("./blockStore"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./brightchain-member-init.service"), exports);
|
|
11
12
|
tslib_1.__exportStar(require("./clientWebSocketServer"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./cliOperatorPrompt"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./contentAwareBlocksService"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./contentIngestionService"), exports);
|
|
12
16
|
tslib_1.__exportStar(require("./diskQuorumService"), exports);
|
|
13
17
|
tslib_1.__exportStar(require("./email"), exports);
|
|
14
18
|
tslib_1.__exportStar(require("./eventNotificationSystem"), exports);
|
|
@@ -16,14 +20,17 @@ var fec_1 = require("./fec");
|
|
|
16
20
|
Object.defineProperty(exports, "WasmFecService", { enumerable: true, get: function () { return fec_1.WasmFecService; } });
|
|
17
21
|
tslib_1.__exportStar(require("./fecServiceFactory"), exports);
|
|
18
22
|
tslib_1.__exportStar(require("./fecUsageExample"), exports);
|
|
23
|
+
tslib_1.__exportStar(require("./identityExpirationScheduler"), exports);
|
|
19
24
|
tslib_1.__exportStar(require("./messageEventsWebSocketHandler"), exports);
|
|
20
25
|
tslib_1.__exportStar(require("./messagePassingService"), exports);
|
|
21
26
|
tslib_1.__exportStar(require("./nativeRsFecService"), exports);
|
|
22
27
|
tslib_1.__exportStar(require("./presenceService"), exports);
|
|
23
28
|
tslib_1.__exportStar(require("./quorum"), exports);
|
|
29
|
+
tslib_1.__exportStar(require("./quorumDatabaseAdapter"), exports);
|
|
24
30
|
tslib_1.__exportStar(require("./requestUser"), exports);
|
|
25
31
|
tslib_1.__exportStar(require("./role"), exports);
|
|
26
32
|
tslib_1.__exportStar(require("./secureKeyStorage"), exports);
|
|
33
|
+
tslib_1.__exportStar(require("./sessionAdapter"), exports);
|
|
27
34
|
tslib_1.__exportStar(require("./websocketHandler"), exports);
|
|
28
35
|
tslib_1.__exportStar(require("./webSocketMessageServer"), exports);
|
|
29
36
|
tslib_1.__exportStar(require("./webSocketPeerProvider"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAuB;AACvB,iDAAuB;AACvB,mDAAyB;AACzB,gEAAsC;AACtC,uDAA6B;AAC7B,4EAAkD;AAClD,kEAAwC;AACxC,8DAAoC;AACpC,kDAAwB;AACxB,oEAA0C;AAC1C,6BAAuC;AAA9B,qGAAA,cAAc,OAAA;AACvB,8DAAoC;AACpC,4DAAkC;AAClC,0EAAgD;AAChD,kEAAwC;AACxC,+DAAqC;AACrC,4DAAkC;AAClC,mDAAyB;AACzB,wDAA8B;AAC9B,iDAAuB;AACvB,6DAAmC;AACnC,6DAAmC;AACnC,mEAAyC;AACzC,kEAAwC;AACxC,sEAA4C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/index.ts"],"names":[],"mappings":";;;;AAAA,iDAAuB;AACvB,8DAAoC;AACpC,iDAAuB;AACvB,mDAAyB;AACzB,gEAAsC;AACtC,uDAA6B;AAC7B,4EAAkD;AAClD,kEAAwC;AACxC,8DAAoC;AACpC,sEAA4C;AAC5C,oEAA0C;AAC1C,8DAAoC;AACpC,kDAAwB;AACxB,oEAA0C;AAC1C,6BAAuC;AAA9B,qGAAA,cAAc,OAAA;AACvB,8DAAoC;AACpC,4DAAkC;AAClC,wEAA8C;AAC9C,0EAAgD;AAChD,kEAAwC;AACxC,+DAAqC;AACrC,4DAAkC;AAClC,mDAAyB;AACzB,kEAAwC;AACxC,wDAA8B;AAC9B,iDAAuB;AACvB,6DAAmC;AACnC,2DAAiC;AACjC,6DAAmC;AACnC,mEAAyC;AACzC,kEAAwC;AACxC,sEAA4C"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QuorumDatabaseAdapter — BrightChainDb-backed implementation of IQuorumDatabase.
|
|
3
|
+
*
|
|
4
|
+
* Uses a dedicated BrightChainDb instance with pool ID "quorum-system" for
|
|
5
|
+
* isolated storage of all quorum-related data. Each data type is stored in
|
|
6
|
+
* a separate collection.
|
|
7
|
+
*
|
|
8
|
+
* This is a Node.js-specific service that lives in brightchain-api-lib.
|
|
9
|
+
*
|
|
10
|
+
* @see Requirements 9, 10
|
|
11
|
+
*/
|
|
12
|
+
import { AliasRecord, ChainedAuditLogEntry, IdentityRecoveryRecord, IQuorumDatabase, IQuorumMember, OperationalState, Proposal, QuorumAuditLogEntry, QuorumDataRecord, QuorumEpoch, RedistributionJournalEntry, StatuteOfLimitationsConfig, Vote } from '@brightchain/brightchain-lib';
|
|
13
|
+
import type { BrightChainDb } from '@brightchain/db';
|
|
14
|
+
import { PlatformID, ShortHexGuid } from '@digitaldefiance/ecies-lib';
|
|
15
|
+
/** Dedicated pool ID for quorum data isolation */
|
|
16
|
+
export declare const QUORUM_SYSTEM_POOL_ID = "quorum-system";
|
|
17
|
+
/**
|
|
18
|
+
* BrightChainDb-backed implementation of IQuorumDatabase.
|
|
19
|
+
*
|
|
20
|
+
* Uses a dedicated pool ID ("quorum-system") for isolated storage.
|
|
21
|
+
* Each data type is stored in a separate collection.
|
|
22
|
+
*
|
|
23
|
+
* @template TID - Platform ID type for frontend/backend DTO compatibility
|
|
24
|
+
*/
|
|
25
|
+
export declare class QuorumDatabaseAdapter<TID extends PlatformID = Uint8Array> implements IQuorumDatabase<TID> {
|
|
26
|
+
private readonly db;
|
|
27
|
+
constructor(db: BrightChainDb);
|
|
28
|
+
saveEpoch(epoch: QuorumEpoch<TID>): Promise<void>;
|
|
29
|
+
getEpoch(epochNumber: number): Promise<QuorumEpoch<TID> | null>;
|
|
30
|
+
getCurrentEpoch(): Promise<QuorumEpoch<TID>>;
|
|
31
|
+
saveMember(member: IQuorumMember<TID>): Promise<void>;
|
|
32
|
+
getMember(memberId: ShortHexGuid): Promise<IQuorumMember<TID> | null>;
|
|
33
|
+
listActiveMembers(): Promise<IQuorumMember<TID>[]>;
|
|
34
|
+
saveDocument(doc: QuorumDataRecord<TID>): Promise<void>;
|
|
35
|
+
getDocument(docId: ShortHexGuid): Promise<QuorumDataRecord<TID> | null>;
|
|
36
|
+
listDocumentsByEpoch(epochNumber: number, page: number, pageSize: number): Promise<QuorumDataRecord<TID>[]>;
|
|
37
|
+
saveProposal(proposal: Proposal<TID>): Promise<void>;
|
|
38
|
+
getProposal(proposalId: ShortHexGuid): Promise<Proposal<TID> | null>;
|
|
39
|
+
saveVote(vote: Vote<TID>): Promise<void>;
|
|
40
|
+
getVotesForProposal(proposalId: ShortHexGuid): Promise<Vote<TID>[]>;
|
|
41
|
+
saveIdentityRecord(record: IdentityRecoveryRecord<TID>): Promise<void>;
|
|
42
|
+
getIdentityRecord(recordId: ShortHexGuid): Promise<IdentityRecoveryRecord<TID> | null>;
|
|
43
|
+
deleteIdentityRecord(recordId: ShortHexGuid): Promise<void>;
|
|
44
|
+
listExpiredIdentityRecords(before: Date, page: number, pageSize: number): Promise<IdentityRecoveryRecord<TID>[]>;
|
|
45
|
+
saveAlias(alias: AliasRecord<TID>): Promise<void>;
|
|
46
|
+
getAlias(aliasName: string): Promise<AliasRecord<TID> | null>;
|
|
47
|
+
isAliasAvailable(aliasName: string): Promise<boolean>;
|
|
48
|
+
appendAuditEntry(entry: QuorumAuditLogEntry): Promise<void>;
|
|
49
|
+
getLatestAuditEntry(): Promise<ChainedAuditLogEntry | null>;
|
|
50
|
+
saveJournalEntry(entry: RedistributionJournalEntry): Promise<void>;
|
|
51
|
+
getJournalEntries(epochNumber: number): Promise<RedistributionJournalEntry[]>;
|
|
52
|
+
deleteJournalEntries(epochNumber: number): Promise<void>;
|
|
53
|
+
saveStatuteConfig(config: StatuteOfLimitationsConfig): Promise<void>;
|
|
54
|
+
getStatuteConfig(): Promise<StatuteOfLimitationsConfig | null>;
|
|
55
|
+
saveOperationalState(state: OperationalState): Promise<void>;
|
|
56
|
+
getOperationalState(): Promise<OperationalState | null>;
|
|
57
|
+
withTransaction<R>(fn: () => Promise<R>): Promise<R>;
|
|
58
|
+
isAvailable(): Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=quorumDatabaseAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quorumDatabaseAdapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/services/quorumDatabaseAdapter.ts"],"names":[],"mappings":"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"}
|