@brightchain/brightchain-api-lib 0.24.1 → 0.26.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 -3
- package/src/lib/application.d.ts +3 -14
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +121 -44
- package/src/lib/application.js.map +1 -1
- package/src/lib/auth/aclDocumentStore.d.ts +90 -0
- package/src/lib/auth/aclDocumentStore.d.ts.map +1 -0
- package/src/lib/auth/aclDocumentStore.js +155 -0
- package/src/lib/auth/aclDocumentStore.js.map +1 -0
- package/src/lib/auth/index.d.ts +4 -0
- package/src/lib/auth/index.d.ts.map +1 -1
- package/src/lib/auth/index.js +4 -0
- package/src/lib/auth/index.js.map +1 -1
- package/src/lib/auth/writeAclApiRouter.d.ts +32 -0
- package/src/lib/auth/writeAclApiRouter.d.ts.map +1 -0
- package/src/lib/auth/writeAclApiRouter.js +348 -0
- package/src/lib/auth/writeAclApiRouter.js.map +1 -0
- package/src/lib/auth/writeAclAuditLogger.d.ts +94 -0
- package/src/lib/auth/writeAclAuditLogger.d.ts.map +1 -0
- package/src/lib/auth/writeAclAuditLogger.js +143 -0
- package/src/lib/auth/writeAclAuditLogger.js.map +1 -0
- package/src/lib/auth/writeProofMiddleware.d.ts +39 -0
- package/src/lib/auth/writeProofMiddleware.d.ts.map +1 -0
- package/src/lib/auth/writeProofMiddleware.js +56 -0
- package/src/lib/auth/writeProofMiddleware.js.map +1 -0
- package/src/lib/availability/aclDocumentSyncHandler.d.ts +39 -0
- package/src/lib/availability/aclDocumentSyncHandler.d.ts.map +1 -0
- package/src/lib/availability/aclDocumentSyncHandler.js +81 -0
- package/src/lib/availability/aclDocumentSyncHandler.js.map +1 -0
- package/src/lib/availability/gossipService.d.ts +4 -1
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +15 -1
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/headUpdateSyncHandler.d.ts +32 -0
- package/src/lib/availability/headUpdateSyncHandler.d.ts.map +1 -0
- package/src/lib/availability/headUpdateSyncHandler.js +78 -0
- package/src/lib/availability/headUpdateSyncHandler.js.map +1 -0
- package/src/lib/availability/index.d.ts +2 -0
- package/src/lib/availability/index.d.ts.map +1 -1
- package/src/lib/availability/index.js +2 -0
- package/src/lib/availability/index.js.map +1 -1
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +2 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/controllers/api/brighthub/connectionController.d.ts +6 -0
- package/src/lib/controllers/api/brighthub/connectionController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/connectionController.js +158 -11
- package/src/lib/controllers/api/brighthub/connectionController.js.map +1 -1
- package/src/lib/controllers/api/brighthub/messagingController.d.ts +6 -0
- package/src/lib/controllers/api/brighthub/messagingController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/messagingController.js +190 -58
- package/src/lib/controllers/api/brighthub/messagingController.js.map +1 -1
- package/src/lib/controllers/api/brighthub/postController.d.ts +12 -3
- package/src/lib/controllers/api/brighthub/postController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/postController.js +60 -0
- package/src/lib/controllers/api/brighthub/postController.js.map +1 -1
- package/src/lib/controllers/api/brighthub/timelineController.d.ts +19 -0
- package/src/lib/controllers/api/brighthub/timelineController.d.ts.map +1 -1
- package/src/lib/controllers/api/brighthub/timelineController.js +133 -0
- package/src/lib/controllers/api/brighthub/timelineController.js.map +1 -1
- package/src/lib/controllers/api/emails.d.ts +4 -1
- package/src/lib/controllers/api/emails.d.ts.map +1 -1
- package/src/lib/controllers/api/emails.js +28 -1
- package/src/lib/controllers/api/emails.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +10 -0
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/databaseInit.d.ts +7 -11
- package/src/lib/databaseInit.d.ts.map +1 -1
- package/src/lib/databaseInit.js +41 -97
- package/src/lib/databaseInit.js.map +1 -1
- package/src/lib/datastore/block-document-store-factory.d.ts +3 -0
- package/src/lib/datastore/block-document-store-factory.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store-factory.js +15 -18
- package/src/lib/datastore/block-document-store-factory.js.map +1 -1
- package/src/lib/datastore/block-document-store.d.ts +2 -191
- package/src/lib/datastore/block-document-store.d.ts.map +1 -1
- package/src/lib/datastore/block-document-store.js +4 -628
- package/src/lib/datastore/block-document-store.js.map +1 -1
- package/src/lib/datastore/document-store.d.ts +1 -62
- package/src/lib/datastore/document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.d.ts +1 -8
- package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
- package/src/lib/datastore/memory-document-store.js +3 -214
- package/src/lib/datastore/memory-document-store.js.map +1 -1
- package/src/lib/environment.d.ts +3 -20
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +2 -45
- package/src/lib/environment.js.map +1 -1
- package/src/lib/factories/blockStoreFactory.d.ts.map +1 -1
- package/src/lib/factories/blockStoreFactory.js +4 -1
- package/src/lib/factories/blockStoreFactory.js.map +1 -1
- package/src/lib/interfaces/environment.d.ts +23 -2
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts +8 -1
- package/src/lib/interfaces/responses/brighthub/api-post-response.d.ts.map +1 -1
- package/src/lib/middleware/index.d.ts +1 -1
- package/src/lib/middleware/index.d.ts.map +1 -1
- package/src/lib/middleware/index.js +3 -2
- package/src/lib/middleware/index.js.map +1 -1
- package/src/lib/middleware/validateBody.d.ts +1 -12
- package/src/lib/middleware/validateBody.d.ts.map +1 -1
- package/src/lib/middleware/validateBody.js +4 -32
- package/src/lib/middleware/validateBody.js.map +1 -1
- package/src/lib/middlewares.d.ts.map +1 -1
- package/src/lib/middlewares.js +7 -1
- package/src/lib/middlewares.js.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.d.ts +27 -79
- package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
- package/src/lib/plugins/brightchain-database-plugin.js +27 -97
- package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
- package/src/lib/routers/api.d.ts +18 -1
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +24 -1
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/routers/app.d.ts.map +1 -1
- package/src/lib/routers/app.js +5 -2
- package/src/lib/routers/app.js.map +1 -1
- package/src/lib/services/auth.d.ts.map +1 -1
- package/src/lib/services/auth.js +37 -3
- package/src/lib/services/auth.js.map +1 -1
- package/src/lib/services/blockStore.d.ts +8 -1
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +19 -7
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightChainBackupCodeService.d.ts +42 -39
- package/src/lib/services/brightChainBackupCodeService.d.ts.map +1 -1
- package/src/lib/services/brightChainBackupCodeService.js +86 -61
- package/src/lib/services/brightChainBackupCodeService.js.map +1 -1
- package/src/lib/services/brighthub/collectionAdapter.d.ts +81 -0
- package/src/lib/services/brighthub/collectionAdapter.d.ts.map +1 -0
- package/src/lib/services/brighthub/collectionAdapter.js +127 -0
- package/src/lib/services/brighthub/collectionAdapter.js.map +1 -0
- package/src/lib/services/brighthub/connectionService.d.ts.map +1 -1
- package/src/lib/services/brighthub/connectionService.js +3 -0
- package/src/lib/services/brighthub/connectionService.js.map +1 -1
- package/src/lib/services/brighthub/messagingService.d.ts +4 -0
- package/src/lib/services/brighthub/messagingService.d.ts.map +1 -1
- package/src/lib/services/brighthub/messagingService.js +25 -4
- package/src/lib/services/brighthub/messagingService.js.map +1 -1
- package/src/lib/services/brighthub/notificationService.d.ts.map +1 -1
- package/src/lib/services/brighthub/notificationService.js +35 -20
- package/src/lib/services/brighthub/notificationService.js.map +1 -1
- package/src/lib/services/brighthub/postService.d.ts +7 -1
- package/src/lib/services/brighthub/postService.d.ts.map +1 -1
- package/src/lib/services/brighthub/postService.js +22 -1
- package/src/lib/services/brighthub/postService.js.map +1 -1
- package/src/lib/services/brighthub/userProfileService.d.ts +19 -1
- package/src/lib/services/brighthub/userProfileService.d.ts.map +1 -1
- package/src/lib/services/brighthub/userProfileService.js +74 -0
- package/src/lib/services/brighthub/userProfileService.js.map +1 -1
- package/src/lib/services/emailGateway/antiSpamFilter.d.ts +229 -0
- package/src/lib/services/emailGateway/antiSpamFilter.d.ts.map +1 -0
- package/src/lib/services/emailGateway/antiSpamFilter.js +325 -0
- package/src/lib/services/emailGateway/antiSpamFilter.js.map +1 -0
- package/src/lib/services/emailGateway/bounceProcessor.d.ts +171 -0
- package/src/lib/services/emailGateway/bounceProcessor.d.ts.map +1 -0
- package/src/lib/services/emailGateway/bounceProcessor.js +378 -0
- package/src/lib/services/emailGateway/bounceProcessor.js.map +1 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.d.ts +99 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.d.ts.map +1 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.js +202 -0
- package/src/lib/services/emailGateway/emailAuthVerifier.js.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.d.ts +73 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.d.ts.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.js +107 -0
- package/src/lib/services/emailGateway/emailGatewayConfig.js.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayService.d.ts +152 -0
- package/src/lib/services/emailGateway/emailGatewayService.d.ts.map +1 -0
- package/src/lib/services/emailGateway/emailGatewayService.js +201 -0
- package/src/lib/services/emailGateway/emailGatewayService.js.map +1 -0
- package/src/lib/services/emailGateway/gatewayObservability.d.ts +123 -0
- package/src/lib/services/emailGateway/gatewayObservability.d.ts.map +1 -0
- package/src/lib/services/emailGateway/gatewayObservability.js +186 -0
- package/src/lib/services/emailGateway/gatewayObservability.js.map +1 -0
- package/src/lib/services/emailGateway/inboundProcessor.d.ts +113 -0
- package/src/lib/services/emailGateway/inboundProcessor.d.ts.map +1 -0
- package/src/lib/services/emailGateway/inboundProcessor.js +298 -0
- package/src/lib/services/emailGateway/inboundProcessor.js.map +1 -0
- package/src/lib/services/emailGateway/index.d.ts +23 -0
- package/src/lib/services/emailGateway/index.d.ts.map +1 -0
- package/src/lib/services/emailGateway/index.js +26 -0
- package/src/lib/services/emailGateway/index.js.map +1 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts +111 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts.map +1 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.js +97 -0
- package/src/lib/services/emailGateway/outboundDeliveryWorker.js.map +1 -0
- package/src/lib/services/emailGateway/outboundQueue.d.ts +135 -0
- package/src/lib/services/emailGateway/outboundQueue.d.ts.map +1 -0
- package/src/lib/services/emailGateway/outboundQueue.js +227 -0
- package/src/lib/services/emailGateway/outboundQueue.js.map +1 -0
- package/src/lib/services/emailGateway/outboundQueueStore.d.ts +110 -0
- package/src/lib/services/emailGateway/outboundQueueStore.d.ts.map +1 -0
- package/src/lib/services/emailGateway/outboundQueueStore.js +131 -0
- package/src/lib/services/emailGateway/outboundQueueStore.js.map +1 -0
- package/src/lib/services/emailGateway/recipientLookupService.d.ts +135 -0
- package/src/lib/services/emailGateway/recipientLookupService.d.ts.map +1 -0
- package/src/lib/services/emailGateway/recipientLookupService.js +294 -0
- package/src/lib/services/emailGateway/recipientLookupService.js.map +1 -0
- package/src/lib/services/emailGateway/retryBackoff.d.ts +79 -0
- package/src/lib/services/emailGateway/retryBackoff.d.ts.map +1 -0
- package/src/lib/services/emailGateway/retryBackoff.js +77 -0
- package/src/lib/services/emailGateway/retryBackoff.js.map +1 -0
- package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
- package/src/lib/services/eventNotificationSystem.js.map +1 -1
- package/src/lib/services/index.d.ts +2 -1
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -1
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts +7 -1
- package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
- package/src/lib/services/quorumDatabaseAdapter.js +83 -0
- package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
- package/src/lib/services/sessionAdapter.d.ts +2 -61
- package/src/lib/services/sessionAdapter.d.ts.map +1 -1
- package/src/lib/services/sessionAdapter.js +2 -102
- package/src/lib/services/sessionAdapter.js.map +1 -1
- package/src/lib/shared-types.d.ts +7 -15
- package/src/lib/shared-types.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.d.ts +4 -3
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +5 -2
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/cloudBlockStoreBase.d.ts +2 -1
- package/src/lib/stores/cloudBlockStoreBase.d.ts.map +1 -1
- package/src/lib/stores/cloudBlockStoreBase.js +34 -13
- package/src/lib/stores/cloudBlockStoreBase.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +21 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +48 -17
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/stores/diskBlockStore.d.ts +10 -2
- package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockStore.js +43 -19
- package/src/lib/stores/diskBlockStore.js.map +1 -1
- package/src/lib/types/backend-id.d.ts +1 -2
- package/src/lib/types/backend-id.d.ts.map +1 -1
- package/src/lib/utils/emailValidation.d.ts.map +1 -1
- package/src/lib/utils/emailValidation.js +2 -1
- package/src/lib/utils/emailValidation.js.map +1 -1
- package/src/lib/validation/userValidation.d.ts +2 -43
- package/src/lib/validation/userValidation.d.ts.map +1 -1
- package/src/lib/validation/userValidation.js +6 -144
- package/src/lib/validation/userValidation.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userProfileService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/userProfileService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EAEpB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"userProfileService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/userProfileService.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,8 @@ class UserProfileService {
|
|
|
23
23
|
followRequestsCollection;
|
|
24
24
|
blocksCollection;
|
|
25
25
|
mutesCollection;
|
|
26
|
+
notificationService;
|
|
27
|
+
connectionService;
|
|
26
28
|
constructor(application) {
|
|
27
29
|
this.userProfilesCollection = application.getModel('brighthub_user_profiles');
|
|
28
30
|
this.followsCollection =
|
|
@@ -32,6 +34,57 @@ class UserProfileService {
|
|
|
32
34
|
application.getModel('brighthub_blocks');
|
|
33
35
|
this.mutesCollection = application.getModel('brighthub_mutes');
|
|
34
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Set the notification service for creating notifications on follow events.
|
|
39
|
+
* Called after construction to avoid circular dependency issues.
|
|
40
|
+
*/
|
|
41
|
+
setNotificationService(service) {
|
|
42
|
+
this.notificationService = service;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Set the connection service for block inheritance on lists.
|
|
46
|
+
* Called after construction to avoid circular dependency issues.
|
|
47
|
+
*/
|
|
48
|
+
setConnectionService(service) {
|
|
49
|
+
this.connectionService = service;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a BrightHub user profile for a newly registered user.
|
|
53
|
+
* Should be called during user registration to ensure the profile exists
|
|
54
|
+
* before any BrightHub social operations are attempted.
|
|
55
|
+
*/
|
|
56
|
+
async createProfileForUser(userId, username) {
|
|
57
|
+
// Check if profile already exists (idempotent)
|
|
58
|
+
const existing = await this.userProfilesCollection
|
|
59
|
+
.findOne({ _id: userId })
|
|
60
|
+
.exec();
|
|
61
|
+
if (existing)
|
|
62
|
+
return;
|
|
63
|
+
const now = new Date().toISOString();
|
|
64
|
+
await this.userProfilesCollection.create({
|
|
65
|
+
_id: userId,
|
|
66
|
+
username,
|
|
67
|
+
displayName: username,
|
|
68
|
+
bio: '',
|
|
69
|
+
followerCount: 0,
|
|
70
|
+
followingCount: 0,
|
|
71
|
+
postCount: 0,
|
|
72
|
+
isVerified: false,
|
|
73
|
+
isProtected: false,
|
|
74
|
+
approveFollowersMode: brighthub_lib_1.ApproveFollowersMode.ApproveNone,
|
|
75
|
+
privacySettings: {
|
|
76
|
+
hideFollowerCount: false,
|
|
77
|
+
hideFollowingCount: false,
|
|
78
|
+
hideFollowersFromNonFollowers: false,
|
|
79
|
+
hideFollowingFromNonFollowers: false,
|
|
80
|
+
allowDmsFromNonFollowers: true,
|
|
81
|
+
showOnlineStatus: true,
|
|
82
|
+
showReadReceipts: true,
|
|
83
|
+
},
|
|
84
|
+
createdAt: now,
|
|
85
|
+
updatedAt: now,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
35
88
|
/**
|
|
36
89
|
* Convert a database record to the API response format
|
|
37
90
|
*/
|
|
@@ -202,6 +255,18 @@ class UserProfileService {
|
|
|
202
255
|
})
|
|
203
256
|
.exec();
|
|
204
257
|
}
|
|
258
|
+
// Create notification for the followed user
|
|
259
|
+
if (this.notificationService) {
|
|
260
|
+
try {
|
|
261
|
+
await this.notificationService.createNotification(followedId, brighthub_lib_1.NotificationType.Follow, followerId, {
|
|
262
|
+
content: 'started following you',
|
|
263
|
+
clickThroughUrl: `/users/${followerId}`,
|
|
264
|
+
});
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
// Non-fatal: notification failure should not break the follow operation
|
|
268
|
+
}
|
|
269
|
+
}
|
|
205
270
|
}
|
|
206
271
|
/**
|
|
207
272
|
* Unfollow a user
|
|
@@ -665,6 +730,15 @@ class UserProfileService {
|
|
|
665
730
|
status: brighthub_lib_1.FollowRequestStatus.Pending,
|
|
666
731
|
})
|
|
667
732
|
.exec();
|
|
733
|
+
// Remove blocked user from all lists owned by the blocker (block inheritance)
|
|
734
|
+
if (this.connectionService) {
|
|
735
|
+
try {
|
|
736
|
+
await this.connectionService.removeBlockedUserFromLists(blockerId, blockedId);
|
|
737
|
+
}
|
|
738
|
+
catch {
|
|
739
|
+
// Non-fatal: list cleanup failure should not break the block operation
|
|
740
|
+
}
|
|
741
|
+
}
|
|
668
742
|
}
|
|
669
743
|
/**
|
|
670
744
|
* Unblock a user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userProfileService.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/userProfileService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"userProfileService.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/brighthub/userProfileService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AntiSpamFilter — milter integration adapter for SpamAssassin/Rspamd
|
|
3
|
+
* score classification of inbound email messages.
|
|
4
|
+
*
|
|
5
|
+
* The filter wraps a configurable spam engine client (SpamAssassin via
|
|
6
|
+
* spamc protocol or Rspamd via HTTP API) and classifies messages as
|
|
7
|
+
* ham, probable-spam, or definite-spam based on configurable score
|
|
8
|
+
* thresholds from `ISpamThresholds`.
|
|
9
|
+
*
|
|
10
|
+
* Integration with Postfix is via the milter protocol (RFC 6008):
|
|
11
|
+
* - Definite-spam → signal rejection (SMFIS_REJECT, 550)
|
|
12
|
+
* - Probable-spam → accept and tag metadata with spam flag and score
|
|
13
|
+
* - Ham → accept without modification
|
|
14
|
+
*
|
|
15
|
+
* @see Requirements 7.1, 7.2, 7.3, 7.4, 7.5
|
|
16
|
+
* @module antiSpamFilter
|
|
17
|
+
*/
|
|
18
|
+
import { type ISpamThresholds, SpamClassification } from '@brightchain/brightchain-lib';
|
|
19
|
+
/**
|
|
20
|
+
* Result returned by a spam engine after scanning a message.
|
|
21
|
+
*/
|
|
22
|
+
export interface ISpamScanResult {
|
|
23
|
+
/** Numeric spam score assigned by the engine */
|
|
24
|
+
score: number;
|
|
25
|
+
/** Whether the engine considers the message spam (engine's own threshold) */
|
|
26
|
+
isSpam: boolean;
|
|
27
|
+
/** Optional human-readable details or rule matches */
|
|
28
|
+
details?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Interface for spam engine clients that communicate with external
|
|
32
|
+
* spam detection services.
|
|
33
|
+
*
|
|
34
|
+
* Implementations handle the protocol-specific communication with
|
|
35
|
+
* SpamAssassin (spamc TCP protocol) or Rspamd (HTTP API).
|
|
36
|
+
*/
|
|
37
|
+
export interface ISpamEngineClient {
|
|
38
|
+
/**
|
|
39
|
+
* Scan a raw email message for spam.
|
|
40
|
+
*
|
|
41
|
+
* @param rawMessage - The raw RFC 5322 message bytes
|
|
42
|
+
* @returns Scan result with score and spam determination
|
|
43
|
+
*/
|
|
44
|
+
scan(rawMessage: Buffer): Promise<ISpamScanResult>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* SpamAssassin engine client — communicates with spamd via the spamc
|
|
48
|
+
* TCP protocol (default port 783).
|
|
49
|
+
*
|
|
50
|
+
* Protocol overview:
|
|
51
|
+
* 1. Connect to spamd TCP socket
|
|
52
|
+
* 2. Send `SYMBOLS SPAMC/1.5\r\nContent-length: <len>\r\n\r\n<message>`
|
|
53
|
+
* 3. Parse response for `Spam: True/False ; <score> / <threshold>` header
|
|
54
|
+
*
|
|
55
|
+
* @see Requirement 7.1
|
|
56
|
+
*/
|
|
57
|
+
export declare class SpamAssassinClient implements ISpamEngineClient {
|
|
58
|
+
private readonly host;
|
|
59
|
+
private readonly port;
|
|
60
|
+
private readonly timeoutMs;
|
|
61
|
+
constructor(host?: string, port?: number, timeoutMs?: number);
|
|
62
|
+
scan(rawMessage: Buffer): Promise<ISpamScanResult>;
|
|
63
|
+
/**
|
|
64
|
+
* Parse the spamd response to extract score and spam determination.
|
|
65
|
+
*
|
|
66
|
+
* Expected header line format:
|
|
67
|
+
* `Spam: True ; 15.3 / 5.0`
|
|
68
|
+
* `Spam: False ; 1.2 / 5.0`
|
|
69
|
+
*/
|
|
70
|
+
static parseResponse(response: string): ISpamScanResult;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Rspamd engine client — communicates with rspamd via its HTTP API
|
|
74
|
+
* (default port 11333).
|
|
75
|
+
*
|
|
76
|
+
* Protocol overview:
|
|
77
|
+
* 1. POST raw message to `http://<host>:<port>/checkv2`
|
|
78
|
+
* 2. Parse JSON response for `score`, `is_spam`/`action`, and `symbols`
|
|
79
|
+
*
|
|
80
|
+
* @see Requirement 7.1
|
|
81
|
+
*/
|
|
82
|
+
export declare class RspamdClient implements ISpamEngineClient {
|
|
83
|
+
private readonly host;
|
|
84
|
+
private readonly port;
|
|
85
|
+
private readonly timeoutMs;
|
|
86
|
+
constructor(host?: string, port?: number, timeoutMs?: number);
|
|
87
|
+
scan(rawMessage: Buffer): Promise<ISpamScanResult>;
|
|
88
|
+
/**
|
|
89
|
+
* Parse the Rspamd JSON response.
|
|
90
|
+
*
|
|
91
|
+
* Expected JSON structure:
|
|
92
|
+
* ```json
|
|
93
|
+
* {
|
|
94
|
+
* "score": 15.3,
|
|
95
|
+
* "required_score": 15.0,
|
|
96
|
+
* "action": "reject" | "add header" | "no action" | ...,
|
|
97
|
+
* "symbols": { ... }
|
|
98
|
+
* }
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
static parseResponse(body: string): ISpamScanResult;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Result of scanning a message through the anti-spam filter.
|
|
105
|
+
*
|
|
106
|
+
* @see Requirements 7.2, 7.3, 7.4
|
|
107
|
+
*/
|
|
108
|
+
export interface IAntiSpamScanResult {
|
|
109
|
+
/** Numeric spam score from the engine */
|
|
110
|
+
score: number;
|
|
111
|
+
/** Classification based on configurable thresholds */
|
|
112
|
+
classification: SpamClassification;
|
|
113
|
+
/** Optional details from the spam engine (rule matches, etc.) */
|
|
114
|
+
details?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Milter protocol actions that the filter can signal to Postfix.
|
|
118
|
+
*
|
|
119
|
+
* Maps to Sendmail milter protocol responses (RFC 6008):
|
|
120
|
+
* - `accept`: SMFIS_ACCEPT — accept the message
|
|
121
|
+
* - `reject`: SMFIS_REJECT — reject with 550
|
|
122
|
+
* - `continue`: SMFIS_CONTINUE — continue processing (accept with modifications)
|
|
123
|
+
*
|
|
124
|
+
* @see Requirement 7.5
|
|
125
|
+
*/
|
|
126
|
+
export type MilterAction = 'accept' | 'reject' | 'continue';
|
|
127
|
+
/**
|
|
128
|
+
* Full milter response including the action and any metadata tags
|
|
129
|
+
* to add to the message.
|
|
130
|
+
*
|
|
131
|
+
* @see Requirements 7.3, 7.4, 7.5
|
|
132
|
+
*/
|
|
133
|
+
export interface IMilterResponse {
|
|
134
|
+
/** Milter action to signal to Postfix */
|
|
135
|
+
action: MilterAction;
|
|
136
|
+
/** SMTP reply code (e.g. 550 for rejection) */
|
|
137
|
+
replyCode?: number;
|
|
138
|
+
/** SMTP reply text */
|
|
139
|
+
replyText?: string;
|
|
140
|
+
/** Headers to add to the message (for probable-spam tagging) */
|
|
141
|
+
addHeaders?: Record<string, string>;
|
|
142
|
+
/** The scan result that produced this response */
|
|
143
|
+
scanResult: IAntiSpamScanResult;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Interface for the anti-spam filter adapter.
|
|
147
|
+
*
|
|
148
|
+
* @see Requirements 7.1, 7.2, 7.3, 7.4, 7.5
|
|
149
|
+
*/
|
|
150
|
+
export interface IAntiSpamFilter {
|
|
151
|
+
/**
|
|
152
|
+
* Scan a raw email message and return the spam classification result.
|
|
153
|
+
*
|
|
154
|
+
* @param rawMessage - The raw RFC 5322 message bytes
|
|
155
|
+
* @returns Scan result with score, classification, and optional details
|
|
156
|
+
*/
|
|
157
|
+
scan(rawMessage: Buffer): Promise<IAntiSpamScanResult>;
|
|
158
|
+
/**
|
|
159
|
+
* Scan a message and return the milter protocol response that should
|
|
160
|
+
* be sent back to Postfix.
|
|
161
|
+
*
|
|
162
|
+
* This is the primary integration point for the Postfix milter protocol.
|
|
163
|
+
*
|
|
164
|
+
* @param rawMessage - The raw RFC 5322 message bytes
|
|
165
|
+
* @returns Milter response with action, optional reply code, and headers
|
|
166
|
+
*/
|
|
167
|
+
milterCheck(rawMessage: Buffer): Promise<IMilterResponse>;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Milter integration adapter for SpamAssassin/Rspamd score classification.
|
|
171
|
+
*
|
|
172
|
+
* Wraps a configurable spam engine client and classifies messages based
|
|
173
|
+
* on `ISpamThresholds`:
|
|
174
|
+
* - score < probableSpamScore → Ham (accept)
|
|
175
|
+
* - probableSpamScore ≤ score < definiteSpamScore → ProbableSpam (tag metadata)
|
|
176
|
+
* - score ≥ definiteSpamScore → DefiniteSpam (reject 550)
|
|
177
|
+
*
|
|
178
|
+
* @see Requirements 7.1, 7.2, 7.3, 7.4, 7.5
|
|
179
|
+
*/
|
|
180
|
+
export declare class AntiSpamFilter implements IAntiSpamFilter {
|
|
181
|
+
private readonly engineClient;
|
|
182
|
+
private readonly thresholds;
|
|
183
|
+
/**
|
|
184
|
+
* Create an AntiSpamFilter with the specified engine and thresholds.
|
|
185
|
+
*
|
|
186
|
+
* @param engine - Which spam engine to use: `'spamassassin'` or `'rspamd'`
|
|
187
|
+
* @param thresholds - Score thresholds for classification
|
|
188
|
+
* @param engineClient - Optional pre-configured engine client (for testing / DI)
|
|
189
|
+
* @param engineHost - Host for the spam engine (default: localhost)
|
|
190
|
+
* @param enginePort - Port for the spam engine (default: engine-specific)
|
|
191
|
+
*/
|
|
192
|
+
constructor(engine: 'spamassassin' | 'rspamd', thresholds: ISpamThresholds, engineClient?: ISpamEngineClient, engineHost?: string, enginePort?: number);
|
|
193
|
+
/**
|
|
194
|
+
* Classify a spam score against the configured thresholds.
|
|
195
|
+
*
|
|
196
|
+
* @param score - Numeric spam score from the engine
|
|
197
|
+
* @returns The spam classification
|
|
198
|
+
*
|
|
199
|
+
* @see Requirement 7.2
|
|
200
|
+
*/
|
|
201
|
+
classify(score: number): SpamClassification;
|
|
202
|
+
/**
|
|
203
|
+
* Scan a raw email message and return the spam classification result.
|
|
204
|
+
*
|
|
205
|
+
* Delegates to the configured spam engine client, then classifies
|
|
206
|
+
* the returned score against the configured thresholds.
|
|
207
|
+
*
|
|
208
|
+
* @param rawMessage - The raw RFC 5322 message bytes
|
|
209
|
+
* @returns Scan result with score, classification, and optional details
|
|
210
|
+
*
|
|
211
|
+
* @see Requirements 7.1, 7.2
|
|
212
|
+
*/
|
|
213
|
+
scan(rawMessage: Buffer): Promise<IAntiSpamScanResult>;
|
|
214
|
+
/**
|
|
215
|
+
* Scan a message and return the milter protocol response for Postfix.
|
|
216
|
+
*
|
|
217
|
+
* Maps classification to milter actions:
|
|
218
|
+
* - DefiniteSpam → reject (SMFIS_REJECT, 550)
|
|
219
|
+
* - ProbableSpam → continue with X-Spam-Flag / X-Spam-Score headers
|
|
220
|
+
* - Ham → accept
|
|
221
|
+
*
|
|
222
|
+
* @param rawMessage - The raw RFC 5322 message bytes
|
|
223
|
+
* @returns Milter response with action, optional reply code, and headers
|
|
224
|
+
*
|
|
225
|
+
* @see Requirements 7.3, 7.4, 7.5
|
|
226
|
+
*/
|
|
227
|
+
milterCheck(rawMessage: Buffer): Promise<IMilterResponse>;
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=antiSpamFilter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"antiSpamFilter.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/services/emailGateway/antiSpamFilter.ts"],"names":[],"mappings":"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"}
|