@brightchain/brightchain-api-lib 0.2.1 → 0.6.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 (294) hide show
  1. package/package.json +2 -2
  2. package/src/index.d.ts +10 -75
  3. package/src/index.d.ts.map +1 -1
  4. package/src/index.js +11 -78
  5. package/src/index.js.map +1 -1
  6. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts +1 -2
  7. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.d.ts.map +1 -1
  8. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js +1 -1
  9. package/src/lib/__tests__/fixtures/mock-backend-brightchain-member.js.map +1 -1
  10. package/src/lib/application-base.d.ts +7 -6
  11. package/src/lib/application-base.d.ts.map +1 -1
  12. package/src/lib/application-base.js.map +1 -1
  13. package/src/lib/application.d.ts +7 -2
  14. package/src/lib/application.d.ts.map +1 -1
  15. package/src/lib/application.js +30 -0
  16. package/src/lib/application.js.map +1 -1
  17. package/src/lib/controllers/api/blocks.d.ts +246 -0
  18. package/src/lib/controllers/api/blocks.d.ts.map +1 -0
  19. package/src/lib/controllers/api/blocks.js +414 -0
  20. package/src/lib/controllers/api/blocks.js.map +1 -0
  21. package/src/lib/controllers/api/cbl.d.ts +88 -0
  22. package/src/lib/controllers/api/cbl.d.ts.map +1 -0
  23. package/src/lib/controllers/api/cbl.js +222 -0
  24. package/src/lib/controllers/api/cbl.js.map +1 -0
  25. package/src/lib/controllers/api/energy.d.ts +18 -0
  26. package/src/lib/controllers/api/energy.d.ts.map +1 -0
  27. package/src/lib/controllers/api/energy.js +96 -0
  28. package/src/lib/controllers/api/energy.js.map +1 -0
  29. package/src/lib/controllers/api/i18n.d.ts +19 -0
  30. package/src/lib/controllers/api/i18n.d.ts.map +1 -0
  31. package/src/lib/controllers/api/i18n.js +27 -0
  32. package/src/lib/controllers/api/i18n.js.map +1 -0
  33. package/src/lib/controllers/api/index.d.ts +9 -0
  34. package/src/lib/controllers/api/index.d.ts.map +1 -0
  35. package/src/lib/controllers/api/index.js +12 -0
  36. package/src/lib/controllers/api/index.js.map +1 -0
  37. package/src/lib/controllers/api/members.d.ts +19 -0
  38. package/src/lib/controllers/api/members.d.ts.map +1 -0
  39. package/src/lib/controllers/api/members.js +27 -0
  40. package/src/lib/controllers/api/members.js.map +1 -0
  41. package/src/lib/controllers/api/quorum.d.ts +369 -0
  42. package/src/lib/controllers/api/quorum.d.ts.map +1 -0
  43. package/src/lib/controllers/api/quorum.js +592 -0
  44. package/src/lib/controllers/api/quorum.js.map +1 -0
  45. package/src/lib/controllers/api/sessions.d.ts +21 -0
  46. package/src/lib/controllers/api/sessions.d.ts.map +1 -0
  47. package/src/lib/controllers/api/sessions.js +32 -0
  48. package/src/lib/controllers/api/sessions.js.map +1 -0
  49. package/src/lib/controllers/api/user.d.ts +20 -0
  50. package/src/lib/controllers/api/user.d.ts.map +1 -0
  51. package/src/lib/controllers/api/user.js +109 -0
  52. package/src/lib/controllers/api/user.js.map +1 -0
  53. package/src/lib/controllers/base.d.ts +6 -48
  54. package/src/lib/controllers/base.d.ts.map +1 -1
  55. package/src/lib/controllers/base.js +2 -225
  56. package/src/lib/controllers/base.js.map +1 -1
  57. package/src/lib/controllers/index.d.ts +3 -0
  58. package/src/lib/controllers/index.d.ts.map +1 -0
  59. package/src/lib/controllers/index.js +6 -0
  60. package/src/lib/controllers/index.js.map +1 -0
  61. package/src/lib/datastore/block-document-store.d.ts.map +1 -1
  62. package/src/lib/datastore/block-document-store.js +22 -18
  63. package/src/lib/datastore/block-document-store.js.map +1 -1
  64. package/src/lib/datastore/document-store.d.ts +1 -2
  65. package/src/lib/datastore/document-store.d.ts.map +1 -1
  66. package/src/lib/datastore/index.d.ts +6 -0
  67. package/src/lib/datastore/index.d.ts.map +1 -0
  68. package/src/lib/datastore/index.js +8 -0
  69. package/src/lib/datastore/index.js.map +1 -0
  70. package/src/lib/datastore/memory-document-store.d.ts.map +1 -1
  71. package/src/lib/datastore/memory-document-store.js.map +1 -1
  72. package/src/lib/documents/base.d.ts +3 -2
  73. package/src/lib/documents/base.d.ts.map +1 -1
  74. package/src/lib/enumerations/index.d.ts +5 -0
  75. package/src/lib/enumerations/index.d.ts.map +1 -0
  76. package/src/lib/enumerations/index.js +8 -0
  77. package/src/lib/enumerations/index.js.map +1 -0
  78. package/src/lib/enumerations/websocketMessageType.d.ts +44 -0
  79. package/src/lib/enumerations/websocketMessageType.d.ts.map +1 -0
  80. package/src/lib/enumerations/websocketMessageType.js +47 -0
  81. package/src/lib/enumerations/websocketMessageType.js.map +1 -0
  82. package/src/lib/environment.d.ts +4 -2
  83. package/src/lib/environment.d.ts.map +1 -1
  84. package/src/lib/environment.js.map +1 -1
  85. package/src/lib/errors/index.d.ts +20 -0
  86. package/src/lib/errors/index.d.ts.map +1 -0
  87. package/src/lib/errors/index.js +23 -0
  88. package/src/lib/errors/index.js.map +1 -0
  89. package/src/lib/interfaces/application.d.ts +19 -7
  90. package/src/lib/interfaces/application.d.ts.map +1 -1
  91. package/src/lib/interfaces/auth-credentials.d.ts +6 -0
  92. package/src/lib/interfaces/auth-credentials.d.ts.map +1 -0
  93. package/src/lib/interfaces/{server-init-result.js → auth-credentials.js} +1 -1
  94. package/src/lib/interfaces/auth-credentials.js.map +1 -0
  95. package/src/lib/interfaces/auth-token.d.ts +6 -0
  96. package/src/lib/interfaces/auth-token.d.ts.map +1 -0
  97. package/src/lib/interfaces/{ecies-consts.js → auth-token.js} +1 -1
  98. package/src/lib/interfaces/auth-token.js.map +1 -0
  99. package/src/lib/interfaces/backend-objects/index.d.ts +5 -0
  100. package/src/lib/interfaces/backend-objects/index.d.ts.map +1 -0
  101. package/src/lib/interfaces/backend-objects/index.js +8 -0
  102. package/src/lib/interfaces/backend-objects/index.js.map +1 -0
  103. package/src/lib/interfaces/bases/index.d.ts +5 -0
  104. package/src/lib/interfaces/bases/index.d.ts.map +1 -0
  105. package/src/lib/interfaces/bases/index.js +8 -0
  106. package/src/lib/interfaces/bases/index.js.map +1 -0
  107. package/src/lib/interfaces/blockRequest.d.ts +40 -0
  108. package/src/lib/interfaces/blockRequest.d.ts.map +1 -0
  109. package/src/lib/interfaces/{mongo-errors.js → blockRequest.js} +1 -1
  110. package/src/lib/interfaces/blockRequest.js.map +1 -0
  111. package/src/lib/interfaces/blockResponses.d.ts +32 -0
  112. package/src/lib/interfaces/blockResponses.d.ts.map +1 -0
  113. package/src/lib/interfaces/blockResponses.js +3 -0
  114. package/src/lib/interfaces/blockResponses.js.map +1 -0
  115. package/src/lib/interfaces/blockService.d.ts +16 -0
  116. package/src/lib/interfaces/blockService.d.ts.map +1 -0
  117. package/src/lib/interfaces/{pbkdf2-result.js → blockService.js} +1 -1
  118. package/src/lib/interfaces/blockService.js.map +1 -0
  119. package/src/lib/interfaces/blockStore.d.ts +7 -0
  120. package/src/lib/interfaces/blockStore.d.ts.map +1 -0
  121. package/src/lib/interfaces/blockStore.js +3 -0
  122. package/src/lib/interfaces/blockStore.js.map +1 -0
  123. package/src/lib/interfaces/blocksHandlers.d.ts +7 -0
  124. package/src/lib/interfaces/blocksHandlers.d.ts.map +1 -0
  125. package/src/lib/interfaces/blocksHandlers.js +3 -0
  126. package/src/lib/interfaces/blocksHandlers.js.map +1 -0
  127. package/src/lib/interfaces/cblHandlers.d.ts +7 -0
  128. package/src/lib/interfaces/cblHandlers.d.ts.map +1 -0
  129. package/src/lib/interfaces/cblHandlers.js +3 -0
  130. package/src/lib/interfaces/cblHandlers.js.map +1 -0
  131. package/src/lib/interfaces/environment.d.ts +4 -2
  132. package/src/lib/interfaces/environment.d.ts.map +1 -1
  133. package/src/lib/interfaces/index.d.ts +33 -0
  134. package/src/lib/interfaces/index.d.ts.map +1 -0
  135. package/src/lib/interfaces/index.js +36 -0
  136. package/src/lib/interfaces/index.js.map +1 -0
  137. package/src/lib/interfaces/member/index.d.ts +3 -0
  138. package/src/lib/interfaces/member/index.d.ts.map +1 -0
  139. package/src/lib/interfaces/member/index.js +6 -0
  140. package/src/lib/interfaces/member/index.js.map +1 -0
  141. package/src/lib/interfaces/member/operational.d.ts +1 -2
  142. package/src/lib/interfaces/member/operational.d.ts.map +1 -1
  143. package/src/lib/interfaces/membersResponse.d.ts +12 -0
  144. package/src/lib/interfaces/membersResponse.d.ts.map +1 -0
  145. package/src/lib/interfaces/membersResponse.js +3 -0
  146. package/src/lib/interfaces/membersResponse.js.map +1 -0
  147. package/src/lib/interfaces/responses/index.d.ts +0 -1
  148. package/src/lib/interfaces/responses/index.d.ts.map +1 -1
  149. package/src/lib/interfaces/token-payload.d.ts +9 -0
  150. package/src/lib/interfaces/token-payload.d.ts.map +1 -0
  151. package/src/lib/interfaces/token-payload.js +3 -0
  152. package/src/lib/interfaces/token-payload.js.map +1 -0
  153. package/src/lib/interfaces/websocketMessages.d.ts +222 -0
  154. package/src/lib/interfaces/websocketMessages.d.ts.map +1 -0
  155. package/src/lib/interfaces/websocketMessages.js +6 -0
  156. package/src/lib/interfaces/websocketMessages.js.map +1 -0
  157. package/src/lib/routers/api.d.ts +9 -4
  158. package/src/lib/routers/api.d.ts.map +1 -1
  159. package/src/lib/routers/api.js +18 -6
  160. package/src/lib/routers/api.js.map +1 -1
  161. package/src/lib/routers/app.d.ts +3 -2
  162. package/src/lib/routers/app.d.ts.map +1 -1
  163. package/src/lib/routers/app.js +5 -4
  164. package/src/lib/routers/app.js.map +1 -1
  165. package/src/lib/routers/base.d.ts +6 -4
  166. package/src/lib/routers/base.d.ts.map +1 -1
  167. package/src/lib/routers/base.js.map +1 -1
  168. package/src/lib/routers/index.d.ts +5 -0
  169. package/src/lib/routers/index.d.ts.map +1 -0
  170. package/src/lib/routers/index.js +8 -0
  171. package/src/lib/routers/index.js.map +1 -0
  172. package/src/lib/services/auth.d.ts +23 -0
  173. package/src/lib/services/auth.d.ts.map +1 -0
  174. package/src/lib/services/auth.js +93 -0
  175. package/src/lib/services/auth.js.map +1 -0
  176. package/src/lib/services/base.d.ts +12 -0
  177. package/src/lib/services/base.d.ts.map +1 -0
  178. package/src/lib/services/base.js +15 -0
  179. package/src/lib/services/base.js.map +1 -0
  180. package/src/lib/services/blockServiceFactory.d.ts +29 -0
  181. package/src/lib/services/blockServiceFactory.d.ts.map +1 -0
  182. package/src/lib/services/blockServiceFactory.js +42 -0
  183. package/src/lib/services/blockServiceFactory.js.map +1 -0
  184. package/src/lib/services/blockStore.d.ts +52 -0
  185. package/src/lib/services/blockStore.d.ts.map +1 -0
  186. package/src/lib/services/blockStore.js +105 -0
  187. package/src/lib/services/blockStore.js.map +1 -0
  188. package/src/lib/services/blocks.d.ts +26 -0
  189. package/src/lib/services/blocks.d.ts.map +1 -0
  190. package/src/lib/services/blocks.js +35 -0
  191. package/src/lib/services/blocks.js.map +1 -0
  192. package/src/lib/services/diskQuorumService.d.ts.map +1 -1
  193. package/src/lib/services/diskQuorumService.js.map +1 -1
  194. package/src/lib/services/email.d.ts +4 -3
  195. package/src/lib/services/email.d.ts.map +1 -1
  196. package/src/lib/services/email.js +4 -3
  197. package/src/lib/services/email.js.map +1 -1
  198. package/src/lib/services/index.d.ts +21 -0
  199. package/src/lib/services/index.d.ts.map +1 -0
  200. package/src/lib/services/index.js +26 -0
  201. package/src/lib/services/index.js.map +1 -0
  202. package/src/lib/services/messagePassingService.d.ts.map +1 -1
  203. package/src/lib/services/messagePassingService.js +1 -1
  204. package/src/lib/services/messagePassingService.js.map +1 -1
  205. package/src/lib/services/quorum.d.ts +44 -0
  206. package/src/lib/services/quorum.d.ts.map +1 -0
  207. package/src/lib/services/quorum.js +83 -0
  208. package/src/lib/services/quorum.js.map +1 -0
  209. package/src/lib/services/requestUser.d.ts +18 -0
  210. package/src/lib/services/requestUser.d.ts.map +1 -0
  211. package/src/lib/services/requestUser.js +22 -0
  212. package/src/lib/services/requestUser.js.map +1 -0
  213. package/src/lib/services/role.d.ts +19 -0
  214. package/src/lib/services/role.d.ts.map +1 -0
  215. package/src/lib/services/role.js +18 -0
  216. package/src/lib/services/role.js.map +1 -0
  217. package/src/lib/services/websocketHandler.d.ts +95 -0
  218. package/src/lib/services/websocketHandler.d.ts.map +1 -0
  219. package/src/lib/services/websocketHandler.js +269 -0
  220. package/src/lib/services/websocketHandler.js.map +1 -0
  221. package/src/lib/shared-types.d.ts +2 -1
  222. package/src/lib/shared-types.d.ts.map +1 -1
  223. package/src/lib/stores/availabilityAwareBlockStore.d.ts +45 -1
  224. package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
  225. package/src/lib/stores/availabilityAwareBlockStore.js +109 -0
  226. package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
  227. package/src/lib/stores/diskBlockAsyncStore.d.ts +82 -4
  228. package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
  229. package/src/lib/stores/diskBlockAsyncStore.js +403 -64
  230. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  231. package/src/lib/stores/diskBlockMetadataStore.d.ts +1 -1
  232. package/src/lib/stores/diskBlockMetadataStore.d.ts.map +1 -1
  233. package/src/lib/stores/diskBlockMetadataStore.js +1 -1
  234. package/src/lib/stores/diskBlockMetadataStore.js.map +1 -1
  235. package/src/lib/stores/diskBlockStore.d.ts +5 -4
  236. package/src/lib/stores/diskBlockStore.d.ts.map +1 -1
  237. package/src/lib/stores/diskBlockStore.js +9 -8
  238. package/src/lib/stores/diskBlockStore.js.map +1 -1
  239. package/src/lib/stores/diskBlockSyncStore.d.ts.map +1 -1
  240. package/src/lib/stores/diskBlockSyncStore.js +23 -23
  241. package/src/lib/stores/diskBlockSyncStore.js.map +1 -1
  242. package/src/lib/transforms/index.d.ts +4 -0
  243. package/src/lib/transforms/index.d.ts.map +1 -0
  244. package/src/lib/transforms/index.js +7 -0
  245. package/src/lib/transforms/index.js.map +1 -0
  246. package/src/lib/utils/errorResponse.d.ts +180 -0
  247. package/src/lib/utils/errorResponse.d.ts.map +1 -0
  248. package/src/lib/utils/errorResponse.js +313 -0
  249. package/src/lib/utils/errorResponse.js.map +1 -0
  250. package/src/lib/controllers/user.d.ts +0 -9
  251. package/src/lib/controllers/user.d.ts.map +0 -1
  252. package/src/lib/controllers/user.js +0 -21
  253. package/src/lib/controllers/user.js.map +0 -1
  254. package/src/lib/interfaces/api-express-validation-error-response.d.ts +0 -7
  255. package/src/lib/interfaces/api-express-validation-error-response.d.ts.map +0 -1
  256. package/src/lib/interfaces/api-express-validation-error-response.js +0 -3
  257. package/src/lib/interfaces/api-express-validation-error-response.js.map +0 -1
  258. package/src/lib/interfaces/api-mongo-validation-error-response.d.ts +0 -6
  259. package/src/lib/interfaces/api-mongo-validation-error-response.d.ts.map +0 -1
  260. package/src/lib/interfaces/api-mongo-validation-error-response.js +0 -3
  261. package/src/lib/interfaces/api-mongo-validation-error-response.js.map +0 -1
  262. package/src/lib/interfaces/authenticated-cipher.d.ts +0 -10
  263. package/src/lib/interfaces/authenticated-cipher.d.ts.map +0 -1
  264. package/src/lib/interfaces/authenticated-cipher.js +0 -3
  265. package/src/lib/interfaces/authenticated-cipher.js.map +0 -1
  266. package/src/lib/interfaces/authenticated-decipher.d.ts +0 -9
  267. package/src/lib/interfaces/authenticated-decipher.d.ts.map +0 -1
  268. package/src/lib/interfaces/authenticated-decipher.js +0 -3
  269. package/src/lib/interfaces/authenticated-decipher.js.map +0 -1
  270. package/src/lib/interfaces/ecies-consts.d.ts +0 -88
  271. package/src/lib/interfaces/ecies-consts.d.ts.map +0 -1
  272. package/src/lib/interfaces/ecies-consts.js.map +0 -1
  273. package/src/lib/interfaces/mongo-errors.d.ts +0 -9
  274. package/src/lib/interfaces/mongo-errors.d.ts.map +0 -1
  275. package/src/lib/interfaces/mongo-errors.js.map +0 -1
  276. package/src/lib/interfaces/pbkdf2-result.d.ts +0 -6
  277. package/src/lib/interfaces/pbkdf2-result.d.ts.map +0 -1
  278. package/src/lib/interfaces/pbkdf2-result.js.map +0 -1
  279. package/src/lib/interfaces/server-init-result.d.ts +0 -34
  280. package/src/lib/interfaces/server-init-result.d.ts.map +0 -1
  281. package/src/lib/interfaces/server-init-result.js.map +0 -1
  282. package/src/lib/services/keyWrapping.d.ts +0 -61
  283. package/src/lib/services/keyWrapping.d.ts.map +0 -1
  284. package/src/lib/services/keyWrapping.js +0 -297
  285. package/src/lib/services/keyWrapping.js.map +0 -1
  286. package/src/lib/services/pbkdf2.d.ts +0 -6
  287. package/src/lib/services/pbkdf2.d.ts.map +0 -1
  288. package/src/lib/services/pbkdf2.js +0 -31
  289. package/src/lib/services/pbkdf2.js.map +0 -1
  290. package/src/lib/services/user.d.ts +0 -10
  291. package/src/lib/services/user.d.ts.map +0 -1
  292. package/src/lib/services/user.js +0 -11
  293. package/src/lib/services/user.js.map +0 -1
  294. /package/{README.md → brightchain-api-lib/README.md} +0 -0
@@ -0,0 +1,313 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorCode = void 0;
4
+ exports.createErrorResponse = createErrorResponse;
5
+ exports.createApiErrorResult = createApiErrorResult;
6
+ exports.validationError = validationError;
7
+ exports.unauthorizedError = unauthorizedError;
8
+ exports.forbiddenError = forbiddenError;
9
+ exports.notFoundError = notFoundError;
10
+ exports.internalError = internalError;
11
+ exports.notImplementedError = notImplementedError;
12
+ exports.mapStoreError = mapStoreError;
13
+ exports.mapQuorumError = mapQuorumError;
14
+ exports.handleError = handleError;
15
+ exports.isStandardErrorResponse = isStandardErrorResponse;
16
+ exports.validateErrorResponse = validateErrorResponse;
17
+ const brightchain_lib_1 = require("@brightchain/brightchain-lib");
18
+ /**
19
+ * Unified error codes for all API operations.
20
+ * These codes provide consistent error identification across all endpoints.
21
+ */
22
+ var ErrorCode;
23
+ (function (ErrorCode) {
24
+ // Block errors
25
+ ErrorCode["BLOCK_NOT_FOUND"] = "BLOCK_NOT_FOUND";
26
+ ErrorCode["BLOCK_VALIDATION_FAILED"] = "BLOCK_VALIDATION_FAILED";
27
+ ErrorCode["BLOCK_SIZE_MISMATCH"] = "BLOCK_SIZE_MISMATCH";
28
+ ErrorCode["INSUFFICIENT_RANDOM_BLOCKS"] = "INSUFFICIENT_RANDOM_BLOCKS";
29
+ ErrorCode["BLOCK_ALREADY_EXISTS"] = "BLOCK_ALREADY_EXISTS";
30
+ ErrorCode["METADATA_CORRUPTED"] = "METADATA_CORRUPTED";
31
+ // Quorum errors
32
+ ErrorCode["MEMBER_NOT_FOUND"] = "MEMBER_NOT_FOUND";
33
+ ErrorCode["DOCUMENT_NOT_FOUND"] = "DOCUMENT_NOT_FOUND";
34
+ ErrorCode["INSUFFICIENT_SHARES"] = "INSUFFICIENT_SHARES";
35
+ ErrorCode["SHARE_DECRYPTION_FAILED"] = "SHARE_DECRYPTION_FAILED";
36
+ ErrorCode["INVALID_MEMBER_COUNT"] = "INVALID_MEMBER_COUNT";
37
+ ErrorCode["INVALID_THRESHOLD"] = "INVALID_THRESHOLD";
38
+ // CBL errors
39
+ ErrorCode["CBL_NOT_FOUND"] = "CBL_NOT_FOUND";
40
+ ErrorCode["INVALID_CBL_SIGNATURE"] = "INVALID_CBL_SIGNATURE";
41
+ ErrorCode["INVALID_BLOCK_ADDRESSES"] = "INVALID_BLOCK_ADDRESSES";
42
+ ErrorCode["MISSING_BLOCKS"] = "MISSING_BLOCKS";
43
+ // General errors
44
+ ErrorCode["VALIDATION_ERROR"] = "VALIDATION_ERROR";
45
+ ErrorCode["UNAUTHORIZED"] = "UNAUTHORIZED";
46
+ ErrorCode["FORBIDDEN"] = "FORBIDDEN";
47
+ ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
48
+ ErrorCode["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
49
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
50
+ /**
51
+ * Create a standardized error response object.
52
+ *
53
+ * @param code - The error code identifying the type of error
54
+ * @param message - Human-readable error message
55
+ * @param details - Optional additional context about the error
56
+ * @returns A properly formatted ApiErrorResponse
57
+ */
58
+ function createErrorResponse(code, message, details) {
59
+ const response = {
60
+ error: {
61
+ code,
62
+ message,
63
+ },
64
+ };
65
+ if (details) {
66
+ response.error.details = details;
67
+ }
68
+ return response;
69
+ }
70
+ /**
71
+ * Create a standardized API response with status code.
72
+ *
73
+ * @param statusCode - HTTP status code
74
+ * @param code - The error code identifying the type of error
75
+ * @param message - Human-readable error message
76
+ * @param details - Optional additional context about the error
77
+ * @returns Object with statusCode and response
78
+ */
79
+ function createApiErrorResult(statusCode, code, message, details) {
80
+ return {
81
+ statusCode,
82
+ response: createErrorResponse(code, message, details),
83
+ };
84
+ }
85
+ /**
86
+ * Create a validation error response (400).
87
+ *
88
+ * @param message - Description of the validation failure
89
+ * @param details - Optional details about invalid fields
90
+ * @returns Formatted validation error response
91
+ */
92
+ function validationError(message, details) {
93
+ return createApiErrorResult(400, ErrorCode.VALIDATION_ERROR, message, details);
94
+ }
95
+ /**
96
+ * Create an unauthorized error response (401).
97
+ *
98
+ * @param message - Description of the authentication failure
99
+ * @returns Formatted unauthorized error response
100
+ */
101
+ function unauthorizedError(message = 'Invalid or missing authentication token') {
102
+ return createApiErrorResult(401, ErrorCode.UNAUTHORIZED, message);
103
+ }
104
+ /**
105
+ * Create a forbidden error response (403).
106
+ *
107
+ * @param message - Description of the authorization failure
108
+ * @returns Formatted forbidden error response
109
+ */
110
+ function forbiddenError(message = 'You do not have permission to perform this action') {
111
+ return createApiErrorResult(403, ErrorCode.FORBIDDEN, message);
112
+ }
113
+ /**
114
+ * Create a not found error response (404).
115
+ *
116
+ * @param resourceType - Type of resource that was not found
117
+ * @param resourceId - ID of the resource that was not found
118
+ * @returns Formatted not found error response
119
+ */
120
+ function notFoundError(resourceType, resourceId) {
121
+ const code = getNotFoundErrorCode(resourceType);
122
+ return createApiErrorResult(404, code, `${resourceType} with ID ${resourceId} not found`, { resourceType, resourceId });
123
+ }
124
+ /**
125
+ * Create an internal error response (500).
126
+ *
127
+ * @param error - The original error (message will be extracted)
128
+ * @returns Formatted internal error response
129
+ */
130
+ function internalError(error) {
131
+ const message = error instanceof Error ? error.message : error;
132
+ return createApiErrorResult(500, ErrorCode.INTERNAL_ERROR, message);
133
+ }
134
+ /**
135
+ * Create a not implemented error response (501).
136
+ *
137
+ * @param message - Description of what is not implemented
138
+ * @returns Formatted not implemented error response
139
+ */
140
+ function notImplementedError(message) {
141
+ return createApiErrorResult(501, ErrorCode.NOT_IMPLEMENTED, message);
142
+ }
143
+ /**
144
+ * Get the appropriate not found error code based on resource type.
145
+ */
146
+ function getNotFoundErrorCode(resourceType) {
147
+ const resourceTypeLower = resourceType.toLowerCase();
148
+ if (resourceTypeLower === 'block') {
149
+ return ErrorCode.BLOCK_NOT_FOUND;
150
+ }
151
+ if (resourceTypeLower === 'member') {
152
+ return ErrorCode.MEMBER_NOT_FOUND;
153
+ }
154
+ if (resourceTypeLower === 'document') {
155
+ return ErrorCode.DOCUMENT_NOT_FOUND;
156
+ }
157
+ if (resourceTypeLower === 'cbl') {
158
+ return ErrorCode.CBL_NOT_FOUND;
159
+ }
160
+ return ErrorCode.INTERNAL_ERROR;
161
+ }
162
+ /**
163
+ * Map a StoreError to an appropriate API error response.
164
+ *
165
+ * @param error - The StoreError to map
166
+ * @returns Object with statusCode and response
167
+ */
168
+ function mapStoreError(error) {
169
+ const mapping = mapStoreErrorToResult(error);
170
+ return createApiErrorResult(mapping.statusCode, mapping.code, mapping.message, mapping.details);
171
+ }
172
+ /**
173
+ * Map a StoreError to error mapping result.
174
+ */
175
+ function mapStoreErrorToResult(error) {
176
+ switch (error.type) {
177
+ case brightchain_lib_1.StoreErrorType.KeyNotFound:
178
+ return {
179
+ statusCode: 404,
180
+ code: ErrorCode.BLOCK_NOT_FOUND,
181
+ message: error.message,
182
+ };
183
+ case brightchain_lib_1.StoreErrorType.BlockSizeMismatch:
184
+ case brightchain_lib_1.StoreErrorType.BlockFileSizeMismatch:
185
+ return {
186
+ statusCode: 400,
187
+ code: ErrorCode.BLOCK_SIZE_MISMATCH,
188
+ message: error.message,
189
+ };
190
+ case brightchain_lib_1.StoreErrorType.BlockValidationFailed:
191
+ return {
192
+ statusCode: 400,
193
+ code: ErrorCode.BLOCK_VALIDATION_FAILED,
194
+ message: error.message,
195
+ };
196
+ case brightchain_lib_1.StoreErrorType.InsufficientRandomBlocks:
197
+ return {
198
+ statusCode: 400,
199
+ code: ErrorCode.INSUFFICIENT_RANDOM_BLOCKS,
200
+ message: error.message,
201
+ };
202
+ case brightchain_lib_1.StoreErrorType.BlockAlreadyExists:
203
+ case brightchain_lib_1.StoreErrorType.BlockPathAlreadyExists:
204
+ return {
205
+ statusCode: 409,
206
+ code: ErrorCode.BLOCK_ALREADY_EXISTS,
207
+ message: error.message,
208
+ };
209
+ case brightchain_lib_1.StoreErrorType.BlockIdMismatch:
210
+ return {
211
+ statusCode: 400,
212
+ code: ErrorCode.VALIDATION_ERROR,
213
+ message: error.message,
214
+ };
215
+ default:
216
+ return {
217
+ statusCode: 500,
218
+ code: ErrorCode.INTERNAL_ERROR,
219
+ message: error.message,
220
+ };
221
+ }
222
+ }
223
+ /**
224
+ * Map a QuorumError to an appropriate API error response.
225
+ *
226
+ * @param error - The QuorumError to map
227
+ * @returns Object with statusCode and response
228
+ */
229
+ function mapQuorumError(error) {
230
+ const mapping = mapQuorumErrorToResult(error);
231
+ return createApiErrorResult(mapping.statusCode, mapping.code, mapping.message, mapping.details);
232
+ }
233
+ /**
234
+ * Map a QuorumError to error mapping result.
235
+ */
236
+ function mapQuorumErrorToResult(error) {
237
+ switch (error.type) {
238
+ case brightchain_lib_1.QuorumErrorType.MemberNotFound:
239
+ return {
240
+ statusCode: 404,
241
+ code: ErrorCode.MEMBER_NOT_FOUND,
242
+ message: error.message,
243
+ };
244
+ case brightchain_lib_1.QuorumErrorType.DocumentNotFound:
245
+ return {
246
+ statusCode: 404,
247
+ code: ErrorCode.DOCUMENT_NOT_FOUND,
248
+ message: error.message,
249
+ };
250
+ case brightchain_lib_1.QuorumErrorType.NotEnoughMembers:
251
+ return {
252
+ statusCode: 400,
253
+ code: ErrorCode.INVALID_MEMBER_COUNT,
254
+ message: error.message,
255
+ };
256
+ default:
257
+ return {
258
+ statusCode: 500,
259
+ code: ErrorCode.INTERNAL_ERROR,
260
+ message: error.message,
261
+ };
262
+ }
263
+ }
264
+ /**
265
+ * Handle any error and return an appropriate API error response.
266
+ * This is a catch-all handler that can be used in catch blocks.
267
+ *
268
+ * @param error - Any error that was thrown
269
+ * @returns Object with statusCode and response
270
+ */
271
+ function handleError(error) {
272
+ if (error instanceof brightchain_lib_1.StoreError) {
273
+ return mapStoreError(error);
274
+ }
275
+ if (error instanceof brightchain_lib_1.QuorumError) {
276
+ return mapQuorumError(error);
277
+ }
278
+ if (error instanceof Error) {
279
+ return internalError(error);
280
+ }
281
+ return internalError('Unknown error occurred');
282
+ }
283
+ /**
284
+ * Type guard to check if an error response has the standard format.
285
+ *
286
+ * @param response - The response to check
287
+ * @returns True if the response has the standard error format
288
+ */
289
+ function isStandardErrorResponse(response) {
290
+ if (typeof response !== 'object' || response === null) {
291
+ return false;
292
+ }
293
+ const obj = response;
294
+ if (typeof obj['error'] !== 'object' || obj['error'] === null) {
295
+ return false;
296
+ }
297
+ const errorObj = obj['error'];
298
+ return (typeof errorObj['code'] === 'string' &&
299
+ typeof errorObj['message'] === 'string');
300
+ }
301
+ /**
302
+ * Validate that an error response conforms to the standard format.
303
+ * Throws if the response is invalid.
304
+ *
305
+ * @param response - The response to validate
306
+ * @throws Error if the response doesn't conform to the standard format
307
+ */
308
+ function validateErrorResponse(response) {
309
+ if (!isStandardErrorResponse(response)) {
310
+ throw new Error('Response does not conform to standard error format');
311
+ }
312
+ }
313
+ //# sourceMappingURL=errorResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errorResponse.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/utils/errorResponse.ts"],"names":[],"mappings":";;;AAyEA,kDAiBC;AAWD,oDAUC;AASD,0CAUC;AAQD,8CAIC;AAQD,wCAIC;AASD,sCAWC;AAQD,sCAMC;AAQD,kDAKC;AA4BD,sCAWC;AA4DD,wCAWC;AAyCD,kCAcC;AAQD,0DAeC;AASD,sDAIC;AAlZD,kEAKsC;AAGtC;;;GAGG;AACH,IAAY,SA6BX;AA7BD,WAAY,SAAS;IACnB,eAAe;IACf,gDAAmC,CAAA;IACnC,gEAAmD,CAAA;IACnD,wDAA2C,CAAA;IAC3C,sEAAyD,CAAA;IACzD,0DAA6C,CAAA;IAC7C,sDAAyC,CAAA;IAEzC,gBAAgB;IAChB,kDAAqC,CAAA;IACrC,sDAAyC,CAAA;IACzC,wDAA2C,CAAA;IAC3C,gEAAmD,CAAA;IACnD,0DAA6C,CAAA;IAC7C,oDAAuC,CAAA;IAEvC,aAAa;IACb,4CAA+B,CAAA;IAC/B,4DAA+C,CAAA;IAC/C,gEAAmD,CAAA;IACnD,8CAAiC,CAAA;IAEjC,iBAAiB;IACjB,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,8CAAiC,CAAA;IACjC,gDAAmC,CAAA;AACrC,CAAC,EA7BW,SAAS,yBAAT,SAAS,QA6BpB;AAwBD;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,IAAwB,EACxB,OAAe,EACf,OAAiC;IAEjC,MAAM,QAAQ,GAA0B;QACtC,KAAK,EAAE;YACL,IAAI;YACJ,OAAO;SACR;KACF,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACnC,CAAC;IAED,OAAO,QAA4B,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAClC,UAAkB,EAClB,IAAwB,EACxB,OAAe,EACf,OAAiC;IAEjC,OAAO;QACL,UAAU;QACV,QAAQ,EAAE,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,OAAe,EACf,OAAiC;IAEjC,OAAO,oBAAoB,CACzB,GAAG,EACH,SAAS,CAAC,gBAAgB,EAC1B,OAAO,EACP,OAAO,CACR,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,UAAkB,yCAAyC;IAE3D,OAAO,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,UAAkB,mDAAmD;IAErE,OAAO,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,YAAoB,EACpB,UAAkB;IAElB,MAAM,IAAI,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,OAAO,oBAAoB,CACzB,GAAG,EACH,IAAI,EACJ,GAAG,YAAY,YAAY,UAAU,YAAY,EACjD,EAAE,YAAY,EAAE,UAAU,EAAE,CAC7B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAqB;IAIjD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/D,OAAO,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,OAAe;IAIjD,OAAO,oBAAoB,CAAC,GAAG,EAAE,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,YAAoB;IAChD,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;IACrD,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,eAAe,CAAC;IACnC,CAAC;IACD,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC,gBAAgB,CAAC;IACpC,CAAC;IACD,IAAI,iBAAiB,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,SAAS,CAAC,kBAAkB,CAAC;IACtC,CAAC;IACD,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;QAChC,OAAO,SAAS,CAAC,aAAa,CAAC;IACjC,CAAC;IACD,OAAO,SAAS,CAAC,cAAc,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAiB;IAI7C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,oBAAoB,CACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAiB;IAC9C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,gCAAc,CAAC,WAAW;YAC7B,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,eAAe;gBAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,gCAAc,CAAC,iBAAiB,CAAC;QACtC,KAAK,gCAAc,CAAC,qBAAqB;YACvC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,mBAAmB;gBACnC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,gCAAc,CAAC,qBAAqB;YACvC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,uBAAuB;gBACvC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,gCAAc,CAAC,wBAAwB;YAC1C,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,0BAA0B;gBAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,gCAAc,CAAC,kBAAkB,CAAC;QACvC,KAAK,gCAAc,CAAC,sBAAsB;YACxC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,oBAAoB;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,gCAAc,CAAC,eAAe;YACjC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,gBAAgB;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ;YACE,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,cAAc;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,cAAc,CAAC,KAAkB;IAI/C,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,oBAAoB,CACzB,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,KAAkB;IAChD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,iCAAe,CAAC,cAAc;YACjC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,gBAAgB;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,iCAAe,CAAC,gBAAgB;YACnC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,kBAAkB;gBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,KAAK,iCAAe,CAAC,gBAAgB;YACnC,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,oBAAoB;gBACpC,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ;YACE,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,SAAS,CAAC,cAAc;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;IACN,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,KAAc;IAIxC,IAAI,KAAK,YAAY,4BAAU,EAAE,CAAC;QAChC,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,YAAY,6BAAW,EAAE,CAAC;QACjC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,aAAa,CAAC,wBAAwB,CAAC,CAAC;AACjD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,uBAAuB,CACrC,QAAiB;IAEjB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,GAAG,GAAG,QAAmC,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAA4B,CAAC;IACzD,OAAO,CACL,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ;QACpC,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CACxC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,QAAiB;IACrD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC"}
@@ -1,9 +0,0 @@
1
- import { CoreLanguageCode } from '@digitaldefiance/i18n-lib';
2
- import { ECIESService } from '@digitaldefiance/node-ecies-lib';
3
- import { BackupCodeService, IApplication as BaseIApplication, UserController as BaseUserController, JwtService, RoleService, UserService } from '@digitaldefiance/node-express-suite';
4
- import { ITokenRole, ITokenUser, IUserBase } from '@digitaldefiance/suite-core-lib';
5
- import type { DefaultBackendIdType } from '../shared-types';
6
- export declare class UserController<I extends string = DefaultBackendIdType, D extends Date = Date, S extends string = string, A extends string = string, TUser extends IUserBase<I, D, S, A> = IUserBase<I, D, S, A>, TTokenRole extends ITokenRole<I, D> = ITokenRole<I, D>, TTokenUser extends ITokenUser = ITokenUser, TApplication extends BaseIApplication<I> = BaseIApplication<I>, TLanguage extends CoreLanguageCode = CoreLanguageCode> extends BaseUserController<I, D, S, A, TUser, TTokenRole, TTokenUser, TApplication, TLanguage> {
7
- constructor(application: TApplication, jwtService: JwtService<I, D, TTokenRole, TTokenUser, TApplication>, userService: UserService<any, I, D, S, A, any, any, any, TUser, TTokenRole, TApplication>, backupCodeService: BackupCodeService<I, D, TTokenRole, TApplication>, roleService: RoleService<I, D, TTokenRole>, eciesService: ECIESService);
8
- }
9
- //# sourceMappingURL=user.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/controllers/user.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,YAAY,IAAI,gBAAgB,EAChC,cAAc,IAAI,kBAAkB,EAEpC,UAAU,EACV,WAAW,EACX,WAAW,EACZ,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D,qBACa,cAAc,CACzB,CAAC,SAAS,MAAM,GAAG,oBAAoB,EACvC,CAAC,SAAS,IAAI,GAAG,IAAI,EACrB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,KAAK,SAAS,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC3D,UAAU,SAAS,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACtD,UAAU,SAAS,UAAU,GAAG,UAAU,EAC1C,YAAY,SAAS,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAC9D,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,CACrD,SAAQ,kBAAkB,CAC1B,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,KAAK,EACL,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,CACV;gBAEG,WAAW,EAAE,YAAY,EACzB,UAAU,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,EAClE,WAAW,EAAE,WAAW,CACtB,GAAG,EACH,CAAC,EACD,CAAC,EACD,CAAC,EACD,CAAC,EACD,GAAG,EACH,GAAG,EACH,GAAG,EACH,KAAK,EACL,UAAU,EACV,YAAY,CACb,EACD,iBAAiB,EAAE,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EACpE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,EAC1C,YAAY,EAAE,YAAY;CAW7B"}
@@ -1,21 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UserController = void 0;
4
- const tslib_1 = require("tslib");
5
- const node_ecies_lib_1 = require("@digitaldefiance/node-ecies-lib");
6
- const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
7
- let UserController = class UserController extends node_express_suite_1.UserController {
8
- constructor(application, jwtService, userService, backupCodeService, roleService, eciesService) {
9
- super(application, jwtService, userService, backupCodeService, roleService, eciesService);
10
- }
11
- };
12
- exports.UserController = UserController;
13
- exports.UserController = UserController = tslib_1.__decorate([
14
- (0, node_express_suite_1.Controller)(),
15
- tslib_1.__metadata("design:paramtypes", [Object, node_express_suite_1.JwtService,
16
- node_express_suite_1.UserService,
17
- node_express_suite_1.BackupCodeService,
18
- node_express_suite_1.RoleService,
19
- node_ecies_lib_1.ECIESService])
20
- ], UserController);
21
- //# sourceMappingURL=user.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/controllers/user.ts"],"names":[],"mappings":";;;;AAEA,oEAA+D;AAC/D,4EAQ6C;AAStC,IAAM,cAAc,GAApB,MAAM,cAUX,SAAQ,mCAUT;IACC,YACE,WAAyB,EACzB,UAAkE,EAClE,WAYC,EACD,iBAAoE,EACpE,WAA0C,EAC1C,YAA0B;QAE1B,KAAK,CACH,WAAW,EACX,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,YAAY,CACb,CAAC;IACJ,CAAC;CACF,CAAA;AAlDY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,+BAAU,GAAE;qDAwBG,+BAAU;QACT,gCAAW;QAaL,sCAAiB;QACvB,gCAAW;QACV,6BAAY;GAvCjB,cAAc,CAkD1B"}
@@ -1,7 +0,0 @@
1
- import { IApiMessageResponse } from '@digitaldefiance/node-express-suite';
2
- import { Result, ValidationError } from 'express-validator';
3
- export interface IApiExpressValidationErrorResponse extends IApiMessageResponse {
4
- errors: ValidationError[] | Result<ValidationError>;
5
- errorType?: string;
6
- }
7
- //# sourceMappingURL=api-express-validation-error-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-express-validation-error-response.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/api-express-validation-error-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,kCAAmC,SAAQ,mBAAmB;IAC7E,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=api-express-validation-error-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-express-validation-error-response.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/api-express-validation-error-response.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { IApiMessageResponse } from '@digitaldefiance/node-express-suite';
2
- import { IMongoErrors } from './mongo-errors';
3
- export interface IApiMongoValidationErrorResponse extends IApiMessageResponse {
4
- errors: IMongoErrors;
5
- }
6
- //# sourceMappingURL=api-mongo-validation-error-response.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-mongo-validation-error-response.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/api-mongo-validation-error-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,gCAAiC,SAAQ,mBAAmB;IAC3E,MAAM,EAAE,YAAY,CAAC;CACtB"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=api-mongo-validation-error-response.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-mongo-validation-error-response.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/api-mongo-validation-error-response.ts"],"names":[],"mappings":""}
@@ -1,10 +0,0 @@
1
- /**
2
- * Extended Cipher type with auth tag support
3
- */
4
- export interface AuthenticatedCipher {
5
- update(data: Buffer): Buffer;
6
- final(): Buffer;
7
- getAuthTag(): Buffer;
8
- setAutoPadding(autoPadding: boolean): void;
9
- }
10
- //# sourceMappingURL=authenticated-cipher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticated-cipher.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/authenticated-cipher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,IAAI,MAAM,CAAC;IAChB,UAAU,IAAI,MAAM,CAAC;IACrB,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5C"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=authenticated-cipher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticated-cipher.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/authenticated-cipher.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- /**
2
- * Extended Decipher type with auth tag support
3
- */
4
- export interface AuthenticatedDecipher {
5
- update(data: Buffer): Buffer;
6
- final(): Buffer;
7
- setAuthTag(tag: Buffer): void;
8
- }
9
- //# sourceMappingURL=authenticated-decipher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticated-decipher.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/authenticated-decipher.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,IAAI,MAAM,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B"}
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=authenticated-decipher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authenticated-decipher.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/authenticated-decipher.ts"],"names":[],"mappings":""}
@@ -1,88 +0,0 @@
1
- export interface IECIESConsts {
2
- /** The elliptic curve to use for all ECDSA operations */
3
- CURVE_NAME: string;
4
- /** The primary key derivation path for HD wallets */
5
- PRIMARY_KEY_DERIVATION_PATH: string;
6
- /** Length of ECDSA signatures in bytes */
7
- SIGNATURE_SIZE: number;
8
- /** Length of raw public keys in bytes (without 0x04 prefix) */
9
- RAW_PUBLIC_KEY_LENGTH: number;
10
- /** Length of public keys in bytes (with 0x04 prefix) */
11
- PUBLIC_KEY_LENGTH: number;
12
- PUBLIC_KEY_MAGIC: number;
13
- /** Mnemonic strength in bits. This will produce a 32-bit key for ECDSA */
14
- MNEMONIC_STRENGTH: number;
15
- /** Symmetric encryption algorithm configuration */
16
- SYMMETRIC: {
17
- ALGORITHM: string;
18
- KEY_BITS: number;
19
- KEY_SIZE: number;
20
- MODE: string;
21
- };
22
- /**
23
- * Length of the initialization vector
24
- */
25
- IV_SIZE: number;
26
- /**
27
- * Length of the authentication tag
28
- */
29
- AUTH_TAG_SIZE: number;
30
- /**
31
- * Maximum length of the data that can be encrypted
32
- */
33
- MAX_RAW_DATA_SIZE: number;
34
- SIMPLE: {
35
- /**
36
- * Length of the type (1) + public key (65) + IV (16) + auth tag (16)
37
- */
38
- FIXED_OVERHEAD_SIZE: number;
39
- /**
40
- * Length of the data length (0 for simple encryption)
41
- */
42
- DATA_LENGTH_SIZE: number;
43
- };
44
- /**
45
- * ECIES single recipient
46
- */
47
- SINGLE: {
48
- /**
49
- * Length of the IV + auth tag + data length + crc16
50
- */
51
- FIXED_OVERHEAD_SIZE: number;
52
- /**
53
- * Length of the data length
54
- */
55
- DATA_LENGTH_SIZE: number;
56
- };
57
- /**
58
- * ECIES multiple recipient
59
- */
60
- MULTIPLE: {
61
- /**
62
- * Length of the IV + auth tag + data length + recipient count for the overall message
63
- */
64
- FIXED_OVERHEAD_SIZE: number;
65
- /**
66
- * Length of the encrypted key for each recipient
67
- */
68
- ENCRYPTED_KEY_SIZE: number;
69
- /**
70
- * Maximum number of recipients for a single message
71
- * This is limited by the size of the value used to store the recipient count in the header
72
- */
73
- MAX_RECIPIENTS: number;
74
- /**
75
- * Length of the recipient ID
76
- */
77
- RECIPIENT_ID_SIZE: number;
78
- /**
79
- * Length of the recipient count
80
- */
81
- RECIPIENT_COUNT_SIZE: number;
82
- /**
83
- * Length of the data length
84
- */
85
- DATA_LENGTH_SIZE: number;
86
- };
87
- }
88
- //# sourceMappingURL=ecies-consts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ecies-consts.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/ecies-consts.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IAEnB,qDAAqD;IACrD,2BAA2B,EAAE,MAAM,CAAC;IAEpC,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;IAEvB,+DAA+D;IAC/D,qBAAqB,EAAE,MAAM,CAAC;IAE9B,wDAAwD;IACxD,iBAAiB,EAAE,MAAM,CAAC;IAE1B,gBAAgB,EAAE,MAAM,CAAC;IAEzB,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,mDAAmD;IACnD,SAAS,EAAE;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B,MAAM,EAAE;QACN;;WAEG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAC5B;;WAEG;QACH,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE;QACN;;WAEG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAC5B;;WAEG;QACH,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;IAEF;;OAEG;IACH,QAAQ,EAAE;QACR;;WAEG;QACH,mBAAmB,EAAE,MAAM,CAAC;QAC5B;;WAEG;QACH,kBAAkB,EAAE,MAAM,CAAC;QAC3B;;;WAGG;QACH,cAAc,EAAE,MAAM,CAAC;QACvB;;WAEG;QACH,iBAAiB,EAAE,MAAM,CAAC;QAC1B;;WAEG;QACH,oBAAoB,EAAE,MAAM,CAAC;QAC7B;;WAEG;QACH,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ecies-consts.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/ecies-consts.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- export interface IMongoErrors {
2
- [key: string]: {
3
- message: string;
4
- name: string;
5
- path?: string;
6
- value?: any;
7
- };
8
- }
9
- //# sourceMappingURL=mongo-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-errors.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/mongo-errors.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;CAC9E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-errors.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/mongo-errors.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- export interface IPbkdf2Result {
2
- salt: Buffer;
3
- hash: Buffer;
4
- iterations: number;
5
- }
6
- //# sourceMappingURL=pbkdf2-result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pbkdf2-result.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/pbkdf2-result.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pbkdf2-result.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/pbkdf2-result.ts"],"names":[],"mappings":""}
@@ -1,34 +0,0 @@
1
- import { Member } from '@digitaldefiance/ecies-lib';
2
- import { IRoleDocument } from '../documents/role';
3
- import { IUserDocument } from '../documents/user';
4
- import { IUserRoleDocument } from '../documents/user-role';
5
- export interface IServerInitResult {
6
- adminRole: IRoleDocument;
7
- adminUser: IUserDocument;
8
- adminUsername: string;
9
- adminEmail: string;
10
- adminMnemonic: string;
11
- adminPassword: string;
12
- adminBackupCodes: Array<string>;
13
- adminMember: Member;
14
- adminUserRole: IUserRoleDocument;
15
- memberRole: IRoleDocument;
16
- memberUser: IUserDocument;
17
- memberUsername: string;
18
- memberEmail: string;
19
- memberMnemonic: string;
20
- memberPassword: string;
21
- memberBackupCodes: Array<string>;
22
- memberMember: Member;
23
- memberUserRole: IUserRoleDocument;
24
- systemRole: IRoleDocument;
25
- systemUser: IUserDocument;
26
- systemUsername: string;
27
- systemEmail: string;
28
- systemMnemonic: string;
29
- systemPassword: string;
30
- systemBackupCodes: Array<string>;
31
- systemMember: Member;
32
- systemUserRole: IUserRoleDocument;
33
- }
34
- //# sourceMappingURL=server-init-result.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-init-result.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/server-init-result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,aAAa,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,iBAAiB,CAAC;IACjC,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,iBAAiB,CAAC;IAClC,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,iBAAiB,CAAC;CACnC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"server-init-result.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/server-init-result.ts"],"names":[],"mappings":""}