@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.
Files changed (116) hide show
  1. package/package.json +4 -3
  2. package/src/lib/application.d.ts +3 -14
  3. package/src/lib/application.d.ts.map +1 -1
  4. package/src/lib/application.js +89 -34
  5. package/src/lib/application.js.map +1 -1
  6. package/src/lib/databaseInit.d.ts +7 -11
  7. package/src/lib/databaseInit.d.ts.map +1 -1
  8. package/src/lib/databaseInit.js +41 -107
  9. package/src/lib/databaseInit.js.map +1 -1
  10. package/src/lib/datastore/block-document-store-factory.d.ts +3 -0
  11. package/src/lib/datastore/block-document-store-factory.d.ts.map +1 -1
  12. package/src/lib/datastore/block-document-store-factory.js +15 -18
  13. package/src/lib/datastore/block-document-store-factory.js.map +1 -1
  14. package/src/lib/datastore/block-document-store.d.ts +2 -191
  15. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  16. package/src/lib/datastore/block-document-store.js +4 -628
  17. package/src/lib/datastore/block-document-store.js.map +1 -1
  18. package/src/lib/datastore/document-store.d.ts +1 -62
  19. package/src/lib/datastore/document-store.d.ts.map +1 -1
  20. package/src/lib/datastore/memory-document-store.d.ts +1 -8
  21. package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
  22. package/src/lib/datastore/memory-document-store.js +3 -214
  23. package/src/lib/datastore/memory-document-store.js.map +1 -1
  24. package/src/lib/environment.d.ts +4 -47
  25. package/src/lib/environment.d.ts.map +1 -1
  26. package/src/lib/environment.js +2 -136
  27. package/src/lib/environment.js.map +1 -1
  28. package/src/lib/interfaces/environment.d.ts +3 -25
  29. package/src/lib/interfaces/environment.d.ts.map +1 -1
  30. package/src/lib/middleware/index.d.ts +1 -1
  31. package/src/lib/middleware/index.d.ts.map +1 -1
  32. package/src/lib/middleware/index.js +3 -2
  33. package/src/lib/middleware/index.js.map +1 -1
  34. package/src/lib/middleware/validateBody.d.ts +1 -12
  35. package/src/lib/middleware/validateBody.d.ts.map +1 -1
  36. package/src/lib/middleware/validateBody.js +4 -32
  37. package/src/lib/middleware/validateBody.js.map +1 -1
  38. package/src/lib/middlewares.d.ts.map +1 -1
  39. package/src/lib/middlewares.js +7 -1
  40. package/src/lib/middlewares.js.map +1 -1
  41. package/src/lib/plugins/brightchain-database-plugin.d.ts +27 -79
  42. package/src/lib/plugins/brightchain-database-plugin.d.ts.map +1 -1
  43. package/src/lib/plugins/brightchain-database-plugin.js +27 -97
  44. package/src/lib/plugins/brightchain-database-plugin.js.map +1 -1
  45. package/src/lib/services/emailGateway/antiSpamFilter.d.ts +229 -0
  46. package/src/lib/services/emailGateway/antiSpamFilter.d.ts.map +1 -0
  47. package/src/lib/services/emailGateway/antiSpamFilter.js +325 -0
  48. package/src/lib/services/emailGateway/antiSpamFilter.js.map +1 -0
  49. package/src/lib/services/emailGateway/bounceProcessor.d.ts +171 -0
  50. package/src/lib/services/emailGateway/bounceProcessor.d.ts.map +1 -0
  51. package/src/lib/services/emailGateway/bounceProcessor.js +378 -0
  52. package/src/lib/services/emailGateway/bounceProcessor.js.map +1 -0
  53. package/src/lib/services/emailGateway/emailAuthVerifier.d.ts +99 -0
  54. package/src/lib/services/emailGateway/emailAuthVerifier.d.ts.map +1 -0
  55. package/src/lib/services/emailGateway/emailAuthVerifier.js +202 -0
  56. package/src/lib/services/emailGateway/emailAuthVerifier.js.map +1 -0
  57. package/src/lib/services/emailGateway/emailGatewayConfig.d.ts +73 -0
  58. package/src/lib/services/emailGateway/emailGatewayConfig.d.ts.map +1 -0
  59. package/src/lib/services/emailGateway/emailGatewayConfig.js +107 -0
  60. package/src/lib/services/emailGateway/emailGatewayConfig.js.map +1 -0
  61. package/src/lib/services/emailGateway/emailGatewayService.d.ts +152 -0
  62. package/src/lib/services/emailGateway/emailGatewayService.d.ts.map +1 -0
  63. package/src/lib/services/emailGateway/emailGatewayService.js +201 -0
  64. package/src/lib/services/emailGateway/emailGatewayService.js.map +1 -0
  65. package/src/lib/services/emailGateway/gatewayObservability.d.ts +123 -0
  66. package/src/lib/services/emailGateway/gatewayObservability.d.ts.map +1 -0
  67. package/src/lib/services/emailGateway/gatewayObservability.js +186 -0
  68. package/src/lib/services/emailGateway/gatewayObservability.js.map +1 -0
  69. package/src/lib/services/emailGateway/inboundProcessor.d.ts +113 -0
  70. package/src/lib/services/emailGateway/inboundProcessor.d.ts.map +1 -0
  71. package/src/lib/services/emailGateway/inboundProcessor.js +298 -0
  72. package/src/lib/services/emailGateway/inboundProcessor.js.map +1 -0
  73. package/src/lib/services/emailGateway/index.d.ts +23 -0
  74. package/src/lib/services/emailGateway/index.d.ts.map +1 -0
  75. package/src/lib/services/emailGateway/index.js +26 -0
  76. package/src/lib/services/emailGateway/index.js.map +1 -0
  77. package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts +111 -0
  78. package/src/lib/services/emailGateway/outboundDeliveryWorker.d.ts.map +1 -0
  79. package/src/lib/services/emailGateway/outboundDeliveryWorker.js +97 -0
  80. package/src/lib/services/emailGateway/outboundDeliveryWorker.js.map +1 -0
  81. package/src/lib/services/emailGateway/outboundQueue.d.ts +135 -0
  82. package/src/lib/services/emailGateway/outboundQueue.d.ts.map +1 -0
  83. package/src/lib/services/emailGateway/outboundQueue.js +227 -0
  84. package/src/lib/services/emailGateway/outboundQueue.js.map +1 -0
  85. package/src/lib/services/emailGateway/outboundQueueStore.d.ts +110 -0
  86. package/src/lib/services/emailGateway/outboundQueueStore.d.ts.map +1 -0
  87. package/src/lib/services/emailGateway/outboundQueueStore.js +131 -0
  88. package/src/lib/services/emailGateway/outboundQueueStore.js.map +1 -0
  89. package/src/lib/services/emailGateway/recipientLookupService.d.ts +135 -0
  90. package/src/lib/services/emailGateway/recipientLookupService.d.ts.map +1 -0
  91. package/src/lib/services/emailGateway/recipientLookupService.js +294 -0
  92. package/src/lib/services/emailGateway/recipientLookupService.js.map +1 -0
  93. package/src/lib/services/emailGateway/retryBackoff.d.ts +79 -0
  94. package/src/lib/services/emailGateway/retryBackoff.d.ts.map +1 -0
  95. package/src/lib/services/emailGateway/retryBackoff.js +77 -0
  96. package/src/lib/services/emailGateway/retryBackoff.js.map +1 -0
  97. package/src/lib/services/index.d.ts +1 -0
  98. package/src/lib/services/index.d.ts.map +1 -1
  99. package/src/lib/services/index.js +1 -0
  100. package/src/lib/services/index.js.map +1 -1
  101. package/src/lib/services/quorumDatabaseAdapter.d.ts +7 -1
  102. package/src/lib/services/quorumDatabaseAdapter.d.ts.map +1 -1
  103. package/src/lib/services/quorumDatabaseAdapter.js +83 -0
  104. package/src/lib/services/quorumDatabaseAdapter.js.map +1 -1
  105. package/src/lib/services/sessionAdapter.d.ts +2 -61
  106. package/src/lib/services/sessionAdapter.d.ts.map +1 -1
  107. package/src/lib/services/sessionAdapter.js +2 -102
  108. package/src/lib/services/sessionAdapter.js.map +1 -1
  109. package/src/lib/shared-types.d.ts +7 -15
  110. package/src/lib/shared-types.d.ts.map +1 -1
  111. package/src/lib/types/backend-id.d.ts +1 -2
  112. package/src/lib/types/backend-id.d.ts.map +1 -1
  113. package/src/lib/validation/userValidation.d.ts +2 -43
  114. package/src/lib/validation/userValidation.d.ts.map +1 -1
  115. package/src/lib/validation/userValidation.js +6 -144
  116. 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 = validateRegistration;
9
- exports.validateLogin = validateLogin;
10
- exports.validatePasswordChange = validatePasswordChange;
11
- exports.validateRecovery = validateRecovery;
12
- /**
13
- * Validates a registration request body.
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":"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"}
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"}