@brightchain/brightchain-api-lib 0.25.0 → 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 +89 -34
- package/src/lib/application.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 -107
- 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 +4 -47
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +2 -136
- package/src/lib/environment.js.map +1 -1
- package/src/lib/interfaces/environment.d.ts +3 -25
- package/src/lib/interfaces/environment.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/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/index.d.ts +1 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +1 -0
- 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/types/backend-id.d.ts +1 -2
- package/src/lib/types/backend-id.d.ts.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,147 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Validation utilities for user endpoint request bodies.
|
|
4
|
-
*
|
|
5
|
-
* Requirements: 9.1, 9.2, 9.3, 9.4
|
|
6
|
-
*/
|
|
7
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.validateRegistration =
|
|
9
|
-
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
* - username: non-empty, alphanumeric/hyphens/underscores only
|
|
15
|
-
* - email: valid email format
|
|
16
|
-
* - password: minimum 8 characters
|
|
17
|
-
*/
|
|
18
|
-
function validateRegistration(body) {
|
|
19
|
-
const errors = [];
|
|
20
|
-
const data = body;
|
|
21
|
-
const username = data['username'];
|
|
22
|
-
const email = data['email'];
|
|
23
|
-
const password = data['password'];
|
|
24
|
-
if (!username ||
|
|
25
|
-
typeof username !== 'string' ||
|
|
26
|
-
username.trim().length === 0) {
|
|
27
|
-
errors.push({ field: 'username', message: 'Username is required' });
|
|
28
|
-
}
|
|
29
|
-
else if (!/^[a-zA-Z0-9_-]+$/.test(username)) {
|
|
30
|
-
errors.push({
|
|
31
|
-
field: 'username',
|
|
32
|
-
message: 'Username must contain only alphanumeric characters, hyphens, and underscores',
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
if (!email || typeof email !== 'string') {
|
|
36
|
-
errors.push({ field: 'email', message: 'Email is required' });
|
|
37
|
-
}
|
|
38
|
-
else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
|
|
39
|
-
errors.push({ field: 'email', message: 'Email format is invalid' });
|
|
40
|
-
}
|
|
41
|
-
if (!password || typeof password !== 'string') {
|
|
42
|
-
errors.push({ field: 'password', message: 'Password is required' });
|
|
43
|
-
}
|
|
44
|
-
else if (password.length < 8) {
|
|
45
|
-
errors.push({
|
|
46
|
-
field: 'password',
|
|
47
|
-
message: 'Password must be at least 8 characters',
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
return { valid: errors.length === 0, errors };
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Validates a login request body.
|
|
54
|
-
* - username: non-empty
|
|
55
|
-
* - password: non-empty
|
|
56
|
-
*/
|
|
57
|
-
function validateLogin(body) {
|
|
58
|
-
const errors = [];
|
|
59
|
-
const data = body;
|
|
60
|
-
const username = data['username'];
|
|
61
|
-
const password = data['password'];
|
|
62
|
-
if (!username ||
|
|
63
|
-
typeof username !== 'string' ||
|
|
64
|
-
username.trim().length === 0) {
|
|
65
|
-
errors.push({ field: 'username', message: 'Username is required' });
|
|
66
|
-
}
|
|
67
|
-
if (!password || typeof password !== 'string') {
|
|
68
|
-
errors.push({ field: 'password', message: 'Password is required' });
|
|
69
|
-
}
|
|
70
|
-
return { valid: errors.length === 0, errors };
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Validates a password change request body.
|
|
74
|
-
* - currentPassword: non-empty string
|
|
75
|
-
* - newPassword: minimum 8 characters
|
|
76
|
-
*
|
|
77
|
-
* Requirements: 1.3, 5.7
|
|
78
|
-
*/
|
|
79
|
-
function validatePasswordChange(body) {
|
|
80
|
-
const errors = [];
|
|
81
|
-
const data = body;
|
|
82
|
-
const currentPassword = data['currentPassword'];
|
|
83
|
-
const newPassword = data['newPassword'];
|
|
84
|
-
if (!currentPassword ||
|
|
85
|
-
typeof currentPassword !== 'string' ||
|
|
86
|
-
currentPassword.trim().length === 0) {
|
|
87
|
-
errors.push({
|
|
88
|
-
field: 'currentPassword',
|
|
89
|
-
message: 'Current password is required',
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
if (!newPassword || typeof newPassword !== 'string') {
|
|
93
|
-
errors.push({
|
|
94
|
-
field: 'newPassword',
|
|
95
|
-
message: 'New password is required',
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
else if (newPassword.length < 8) {
|
|
99
|
-
errors.push({
|
|
100
|
-
field: 'newPassword',
|
|
101
|
-
message: 'New password must be at least 8 characters',
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
return { valid: errors.length === 0, errors };
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Validates a mnemonic recovery request body.
|
|
108
|
-
* - email: valid email format
|
|
109
|
-
* - mnemonic: non-empty string
|
|
110
|
-
* - newPassword (optional): if present, minimum 8 characters
|
|
111
|
-
*
|
|
112
|
-
* Requirements: 5.7
|
|
113
|
-
*/
|
|
114
|
-
function validateRecovery(body) {
|
|
115
|
-
const errors = [];
|
|
116
|
-
const data = body;
|
|
117
|
-
const email = data['email'];
|
|
118
|
-
const mnemonic = data['mnemonic'];
|
|
119
|
-
const newPassword = data['newPassword'];
|
|
120
|
-
if (!email || typeof email !== 'string') {
|
|
121
|
-
errors.push({ field: 'email', message: 'Email is required' });
|
|
122
|
-
}
|
|
123
|
-
else if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) {
|
|
124
|
-
errors.push({ field: 'email', message: 'Email format is invalid' });
|
|
125
|
-
}
|
|
126
|
-
if (!mnemonic ||
|
|
127
|
-
typeof mnemonic !== 'string' ||
|
|
128
|
-
mnemonic.trim().length === 0) {
|
|
129
|
-
errors.push({ field: 'mnemonic', message: 'Mnemonic is required' });
|
|
130
|
-
}
|
|
131
|
-
if (newPassword !== undefined && newPassword !== null) {
|
|
132
|
-
if (typeof newPassword !== 'string') {
|
|
133
|
-
errors.push({
|
|
134
|
-
field: 'newPassword',
|
|
135
|
-
message: 'New password must be a string',
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
else if (newPassword.length < 8) {
|
|
139
|
-
errors.push({
|
|
140
|
-
field: 'newPassword',
|
|
141
|
-
message: 'New password must be at least 8 characters',
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return { valid: errors.length === 0, errors };
|
|
146
|
-
}
|
|
3
|
+
exports.validateRecovery = exports.validatePasswordChange = exports.validateLogin = exports.validateRegistration = void 0;
|
|
4
|
+
var node_express_suite_1 = require("@brightchain/node-express-suite");
|
|
5
|
+
Object.defineProperty(exports, "validateRegistration", { enumerable: true, get: function () { return node_express_suite_1.validateRegistration; } });
|
|
6
|
+
Object.defineProperty(exports, "validateLogin", { enumerable: true, get: function () { return node_express_suite_1.validateLogin; } });
|
|
7
|
+
Object.defineProperty(exports, "validatePasswordChange", { enumerable: true, get: function () { return node_express_suite_1.validatePasswordChange; } });
|
|
8
|
+
Object.defineProperty(exports, "validateRecovery", { enumerable: true, get: function () { return node_express_suite_1.validateRecovery; } });
|
|
147
9
|
//# sourceMappingURL=userValidation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userValidation.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/validation/userValidation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"userValidation.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/validation/userValidation.ts"],"names":[],"mappings":";;;AAEA,sEAKyC;AAJvC,0HAAA,oBAAoB,OAAA;AACpB,mHAAA,aAAa,OAAA;AACb,4HAAA,sBAAsB,OAAA;AACtB,sHAAA,gBAAgB,OAAA"}
|