@brightchain/brightchain-api-lib 0.14.0 → 0.16.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 (288) hide show
  1. package/package.json +5 -5
  2. package/src/browser.d.ts +13 -0
  3. package/src/browser.d.ts.map +1 -0
  4. package/src/browser.js +16 -0
  5. package/src/browser.js.map +1 -0
  6. package/src/index.d.ts +4 -1
  7. package/src/index.d.ts.map +1 -1
  8. package/src/index.js +6 -1
  9. package/src/index.js.map +1 -1
  10. package/src/lib/application-base.d.ts +8 -37
  11. package/src/lib/application-base.d.ts.map +1 -1
  12. package/src/lib/application-base.js +8 -80
  13. package/src/lib/application-base.js.map +1 -1
  14. package/src/lib/application.d.ts +37 -7
  15. package/src/lib/application.d.ts.map +1 -1
  16. package/src/lib/application.js +130 -118
  17. package/src/lib/application.js.map +1 -1
  18. package/src/lib/auth/aclEnforcedAvailability.d.ts +57 -0
  19. package/src/lib/auth/aclEnforcedAvailability.d.ts.map +1 -0
  20. package/src/lib/auth/aclEnforcedAvailability.js +87 -0
  21. package/src/lib/auth/aclEnforcedAvailability.js.map +1 -0
  22. package/src/lib/auth/aclEnforcedBlockStore.d.ts +66 -0
  23. package/src/lib/auth/aclEnforcedBlockStore.d.ts.map +1 -0
  24. package/src/lib/auth/aclEnforcedBlockStore.js +83 -0
  25. package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -0
  26. package/src/lib/auth/ecdsaNodeAuthenticator.d.ts +46 -0
  27. package/src/lib/auth/ecdsaNodeAuthenticator.d.ts.map +1 -0
  28. package/src/lib/auth/ecdsaNodeAuthenticator.js +110 -0
  29. package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -0
  30. package/src/lib/auth/index.d.ts +7 -0
  31. package/src/lib/auth/index.d.ts.map +1 -0
  32. package/src/lib/auth/index.js +13 -0
  33. package/src/lib/auth/index.js.map +1 -0
  34. package/src/lib/auth/poolAclBootstrap.d.ts +36 -0
  35. package/src/lib/auth/poolAclBootstrap.d.ts.map +1 -0
  36. package/src/lib/auth/poolAclBootstrap.js +64 -0
  37. package/src/lib/auth/poolAclBootstrap.js.map +1 -0
  38. package/src/lib/auth/poolAclStore.d.ts +77 -0
  39. package/src/lib/auth/poolAclStore.d.ts.map +1 -0
  40. package/src/lib/auth/poolAclStore.js +189 -0
  41. package/src/lib/auth/poolAclStore.js.map +1 -0
  42. package/src/lib/auth/poolAclUpdater.d.ts +79 -0
  43. package/src/lib/auth/poolAclUpdater.d.ts.map +1 -0
  44. package/src/lib/auth/poolAclUpdater.js +144 -0
  45. package/src/lib/auth/poolAclUpdater.js.map +1 -0
  46. package/src/lib/availability/availabilityService.d.ts +2 -2
  47. package/src/lib/availability/availabilityService.d.ts.map +1 -1
  48. package/src/lib/availability/availabilityService.js +12 -5
  49. package/src/lib/availability/availabilityService.js.map +1 -1
  50. package/src/lib/availability/blockRegistry.d.ts +45 -3
  51. package/src/lib/availability/blockRegistry.d.ts.map +1 -1
  52. package/src/lib/availability/blockRegistry.js +123 -5
  53. package/src/lib/availability/blockRegistry.js.map +1 -1
  54. package/src/lib/availability/discoveryProtocol.d.ts +30 -1
  55. package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
  56. package/src/lib/availability/discoveryProtocol.js +76 -0
  57. package/src/lib/availability/discoveryProtocol.js.map +1 -1
  58. package/src/lib/availability/gossipService.d.ts +45 -6
  59. package/src/lib/availability/gossipService.d.ts.map +1 -1
  60. package/src/lib/availability/gossipService.js +177 -5
  61. package/src/lib/availability/gossipService.js.map +1 -1
  62. package/src/lib/availability/reconciliationService.d.ts +88 -1
  63. package/src/lib/availability/reconciliationService.d.ts.map +1 -1
  64. package/src/lib/availability/reconciliationService.js +246 -48
  65. package/src/lib/availability/reconciliationService.js.map +1 -1
  66. package/src/lib/blockFetch/blockFetcher.d.ts +100 -0
  67. package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -0
  68. package/src/lib/blockFetch/blockFetcher.js +279 -0
  69. package/src/lib/blockFetch/blockFetcher.js.map +1 -0
  70. package/src/lib/blockFetch/fetchQueue.d.ts +88 -0
  71. package/src/lib/blockFetch/fetchQueue.d.ts.map +1 -0
  72. package/src/lib/blockFetch/fetchQueue.js +204 -0
  73. package/src/lib/blockFetch/fetchQueue.js.map +1 -0
  74. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts +65 -0
  75. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -0
  76. package/src/lib/blockFetch/httpBlockFetchTransport.js +104 -0
  77. package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -0
  78. package/src/lib/blockFetch/index.d.ts +10 -0
  79. package/src/lib/blockFetch/index.d.ts.map +1 -0
  80. package/src/lib/blockFetch/index.js +13 -0
  81. package/src/lib/blockFetch/index.js.map +1 -0
  82. package/src/lib/constants.js +2 -2
  83. package/src/lib/constants.js.map +1 -1
  84. package/src/lib/controllers/api/blocks.d.ts.map +1 -1
  85. package/src/lib/controllers/api/blocks.js +290 -290
  86. package/src/lib/controllers/api/blocks.js.map +1 -1
  87. package/src/lib/controllers/api/brightpass.d.ts +72 -0
  88. package/src/lib/controllers/api/brightpass.d.ts.map +1 -0
  89. package/src/lib/controllers/api/brightpass.js +577 -0
  90. package/src/lib/controllers/api/brightpass.js.map +1 -0
  91. package/src/lib/controllers/api/channels.d.ts +122 -0
  92. package/src/lib/controllers/api/channels.d.ts.map +1 -0
  93. package/src/lib/controllers/api/channels.js +701 -0
  94. package/src/lib/controllers/api/channels.js.map +1 -0
  95. package/src/lib/controllers/api/conversations.d.ts +89 -0
  96. package/src/lib/controllers/api/conversations.d.ts.map +1 -0
  97. package/src/lib/controllers/api/conversations.js +259 -0
  98. package/src/lib/controllers/api/conversations.js.map +1 -0
  99. package/src/lib/controllers/api/emails.d.ts +122 -0
  100. package/src/lib/controllers/api/emails.d.ts.map +1 -0
  101. package/src/lib/controllers/api/emails.js +494 -0
  102. package/src/lib/controllers/api/emails.js.map +1 -0
  103. package/src/lib/controllers/api/energy.d.ts.map +1 -1
  104. package/src/lib/controllers/api/energy.js +93 -93
  105. package/src/lib/controllers/api/energy.js.map +1 -1
  106. package/src/lib/controllers/api/explodingMessages.d.ts +79 -0
  107. package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -0
  108. package/src/lib/controllers/api/explodingMessages.js +378 -0
  109. package/src/lib/controllers/api/explodingMessages.js.map +1 -0
  110. package/src/lib/controllers/api/groups.d.ts +94 -0
  111. package/src/lib/controllers/api/groups.d.ts.map +1 -0
  112. package/src/lib/controllers/api/groups.js +484 -0
  113. package/src/lib/controllers/api/groups.js.map +1 -0
  114. package/src/lib/controllers/api/i18n.d.ts.map +1 -1
  115. package/src/lib/controllers/api/i18n.js +8 -8
  116. package/src/lib/controllers/api/i18n.js.map +1 -1
  117. package/src/lib/controllers/api/index.d.ts +6 -0
  118. package/src/lib/controllers/api/index.d.ts.map +1 -1
  119. package/src/lib/controllers/api/index.js +6 -0
  120. package/src/lib/controllers/api/index.js.map +1 -1
  121. package/src/lib/controllers/api/messages.d.ts.map +1 -1
  122. package/src/lib/controllers/api/messages.js +2 -1
  123. package/src/lib/controllers/api/messages.js.map +1 -1
  124. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  125. package/src/lib/controllers/api/quorum.js +483 -483
  126. package/src/lib/controllers/api/quorum.js.map +1 -1
  127. package/src/lib/controllers/api/sessions.d.ts.map +1 -1
  128. package/src/lib/controllers/api/sessions.js +8 -8
  129. package/src/lib/controllers/api/sessions.js.map +1 -1
  130. package/src/lib/controllers/api/sync.d.ts +38 -2
  131. package/src/lib/controllers/api/sync.d.ts.map +1 -1
  132. package/src/lib/controllers/api/sync.js +89 -0
  133. package/src/lib/controllers/api/sync.js.map +1 -1
  134. package/src/lib/controllers/api/user.d.ts.map +1 -1
  135. package/src/lib/controllers/api/user.js +180 -180
  136. package/src/lib/controllers/api/user.js.map +1 -1
  137. package/src/lib/controllers/crypto/gitController.d.ts +70 -0
  138. package/src/lib/controllers/crypto/gitController.d.ts.map +1 -0
  139. package/src/lib/controllers/crypto/gitController.js +306 -0
  140. package/src/lib/controllers/crypto/gitController.js.map +1 -0
  141. package/src/lib/controllers/crypto/index.d.ts +3 -0
  142. package/src/lib/controllers/crypto/index.d.ts.map +1 -0
  143. package/src/lib/controllers/crypto/index.js +6 -0
  144. package/src/lib/controllers/crypto/index.js.map +1 -0
  145. package/src/lib/controllers/crypto/walletController.d.ts +64 -0
  146. package/src/lib/controllers/crypto/walletController.d.ts.map +1 -0
  147. package/src/lib/controllers/crypto/walletController.js +260 -0
  148. package/src/lib/controllers/crypto/walletController.js.map +1 -0
  149. package/src/lib/controllers/identity/deviceController.d.ts +96 -0
  150. package/src/lib/controllers/identity/deviceController.d.ts.map +1 -0
  151. package/src/lib/controllers/identity/deviceController.js +355 -0
  152. package/src/lib/controllers/identity/deviceController.js.map +1 -0
  153. package/src/lib/controllers/identity/directoryController.d.ts +75 -0
  154. package/src/lib/controllers/identity/directoryController.d.ts.map +1 -0
  155. package/src/lib/controllers/identity/directoryController.js +288 -0
  156. package/src/lib/controllers/identity/directoryController.js.map +1 -0
  157. package/src/lib/controllers/identity/identityProofController.d.ts +94 -0
  158. package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -0
  159. package/src/lib/controllers/identity/identityProofController.js +454 -0
  160. package/src/lib/controllers/identity/identityProofController.js.map +1 -0
  161. package/src/lib/controllers/identity/index.d.ts +4 -0
  162. package/src/lib/controllers/identity/index.d.ts.map +1 -0
  163. package/src/lib/controllers/identity/index.js +7 -0
  164. package/src/lib/controllers/identity/index.js.map +1 -0
  165. package/src/lib/controllers/index.d.ts +2 -0
  166. package/src/lib/controllers/index.d.ts.map +1 -1
  167. package/src/lib/controllers/index.js +2 -0
  168. package/src/lib/controllers/index.js.map +1 -1
  169. package/src/lib/encryption/encryptedMetadataService.d.ts +87 -0
  170. package/src/lib/encryption/encryptedMetadataService.d.ts.map +1 -0
  171. package/src/lib/encryption/encryptedMetadataService.js +224 -0
  172. package/src/lib/encryption/encryptedMetadataService.js.map +1 -0
  173. package/src/lib/encryption/encryptionAwareReplication.d.ts +76 -0
  174. package/src/lib/encryption/encryptionAwareReplication.d.ts.map +1 -0
  175. package/src/lib/encryption/encryptionAwareReplication.js +116 -0
  176. package/src/lib/encryption/encryptionAwareReplication.js.map +1 -0
  177. package/src/lib/encryption/errors.d.ts +49 -0
  178. package/src/lib/encryption/errors.d.ts.map +1 -0
  179. package/src/lib/encryption/errors.js +80 -0
  180. package/src/lib/encryption/errors.js.map +1 -0
  181. package/src/lib/encryption/index.d.ts +6 -0
  182. package/src/lib/encryption/index.d.ts.map +1 -0
  183. package/src/lib/encryption/index.js +9 -0
  184. package/src/lib/encryption/index.js.map +1 -0
  185. package/src/lib/encryption/poolEncryptionService.d.ts +94 -0
  186. package/src/lib/encryption/poolEncryptionService.d.ts.map +1 -0
  187. package/src/lib/encryption/poolEncryptionService.js +252 -0
  188. package/src/lib/encryption/poolEncryptionService.js.map +1 -0
  189. package/src/lib/encryption/poolKeyManager.d.ts +82 -0
  190. package/src/lib/encryption/poolKeyManager.d.ts.map +1 -0
  191. package/src/lib/encryption/poolKeyManager.js +156 -0
  192. package/src/lib/encryption/poolKeyManager.js.map +1 -0
  193. package/src/lib/environment.d.ts +3 -0
  194. package/src/lib/environment.d.ts.map +1 -1
  195. package/src/lib/environment.js +5 -0
  196. package/src/lib/environment.js.map +1 -1
  197. package/src/lib/interfaces/application.d.ts +7 -1
  198. package/src/lib/interfaces/application.d.ts.map +1 -1
  199. package/src/lib/interfaces/brightchain-init-result.d.ts +17 -0
  200. package/src/lib/interfaces/brightchain-init-result.d.ts.map +1 -0
  201. package/src/lib/interfaces/brightchain-init-result.js +9 -0
  202. package/src/lib/interfaces/brightchain-init-result.js.map +1 -0
  203. package/src/lib/interfaces/environment.d.ts +7 -1
  204. package/src/lib/interfaces/environment.d.ts.map +1 -1
  205. package/src/lib/interfaces/index.d.ts +1 -1
  206. package/src/lib/interfaces/index.d.ts.map +1 -1
  207. package/src/lib/interfaces/requests/getBlockDataRequest.d.ts +12 -0
  208. package/src/lib/interfaces/requests/getBlockDataRequest.d.ts.map +1 -0
  209. package/src/lib/interfaces/{blockStore.js → requests/getBlockDataRequest.js} +1 -1
  210. package/src/lib/interfaces/requests/getBlockDataRequest.js.map +1 -0
  211. package/src/lib/interfaces/requests/index.d.ts +1 -0
  212. package/src/lib/interfaces/requests/index.d.ts.map +1 -1
  213. package/src/lib/routers/api.d.ts +54 -1
  214. package/src/lib/routers/api.d.ts.map +1 -1
  215. package/src/lib/routers/api.js +77 -0
  216. package/src/lib/routers/api.js.map +1 -1
  217. package/src/lib/routers/app.d.ts +22 -14
  218. package/src/lib/routers/app.d.ts.map +1 -1
  219. package/src/lib/routers/app.js +28 -116
  220. package/src/lib/routers/app.js.map +1 -1
  221. package/src/lib/services/blockStore.d.ts +5 -2
  222. package/src/lib/services/blockStore.d.ts.map +1 -1
  223. package/src/lib/services/blockStore.js +4 -0
  224. package/src/lib/services/blockStore.js.map +1 -1
  225. package/src/lib/services/brightpass/auditLogger.d.ts +77 -0
  226. package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
  227. package/src/lib/services/brightpass/auditLogger.js +184 -0
  228. package/src/lib/services/brightpass/auditLogger.js.map +1 -0
  229. package/src/lib/services/brightpass/vaultEncryption.d.ts +82 -0
  230. package/src/lib/services/brightpass/vaultEncryption.d.ts.map +1 -0
  231. package/src/lib/services/brightpass/vaultEncryption.js +144 -0
  232. package/src/lib/services/brightpass/vaultEncryption.js.map +1 -0
  233. package/src/lib/services/brightpass.d.ts +294 -0
  234. package/src/lib/services/brightpass.d.ts.map +1 -0
  235. package/src/lib/services/brightpass.js +1260 -0
  236. package/src/lib/services/brightpass.js.map +1 -0
  237. package/src/lib/services/brightpass.property.helpers.d.ts +23 -0
  238. package/src/lib/services/brightpass.property.helpers.d.ts.map +1 -0
  239. package/src/lib/services/brightpass.property.helpers.js +113 -0
  240. package/src/lib/services/brightpass.property.helpers.js.map +1 -0
  241. package/src/lib/services/eventNotificationSystem.d.ts +69 -3
  242. package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
  243. package/src/lib/services/eventNotificationSystem.js +200 -0
  244. package/src/lib/services/eventNotificationSystem.js.map +1 -1
  245. package/src/lib/services/expirationScheduler.d.ts +90 -0
  246. package/src/lib/services/expirationScheduler.d.ts.map +1 -0
  247. package/src/lib/services/expirationScheduler.js +131 -0
  248. package/src/lib/services/expirationScheduler.js.map +1 -0
  249. package/src/lib/services/fecUsageExample.d.ts +2 -2
  250. package/src/lib/services/index.d.ts +2 -0
  251. package/src/lib/services/index.d.ts.map +1 -1
  252. package/src/lib/services/index.js +2 -0
  253. package/src/lib/services/index.js.map +1 -1
  254. package/src/lib/services/paginationService.d.ts +18 -0
  255. package/src/lib/services/paginationService.d.ts.map +1 -0
  256. package/src/lib/services/paginationService.js +32 -0
  257. package/src/lib/services/paginationService.js.map +1 -0
  258. package/src/lib/services/presenceService.d.ts +76 -0
  259. package/src/lib/services/presenceService.d.ts.map +1 -0
  260. package/src/lib/services/presenceService.js +143 -0
  261. package/src/lib/services/presenceService.js.map +1 -0
  262. package/src/lib/services/wireConversationPromotion.d.ts +23 -0
  263. package/src/lib/services/wireConversationPromotion.d.ts.map +1 -0
  264. package/src/lib/services/wireConversationPromotion.js +26 -0
  265. package/src/lib/services/wireConversationPromotion.js.map +1 -0
  266. package/src/lib/stores/availabilityAwareBlockStore.d.ts +115 -10
  267. package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
  268. package/src/lib/stores/availabilityAwareBlockStore.js +267 -23
  269. package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
  270. package/src/lib/stores/diskBlockAsyncStore.d.ts +81 -2
  271. package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
  272. package/src/lib/stores/diskBlockAsyncStore.js +297 -10
  273. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  274. package/src/lib/upstream-stubs.d.ts +36 -0
  275. package/src/lib/upstream-stubs.d.ts.map +1 -0
  276. package/src/lib/upstream-stubs.js +43 -0
  277. package/src/lib/upstream-stubs.js.map +1 -0
  278. package/src/lib/utils/communicationValidation.d.ts +44 -0
  279. package/src/lib/utils/communicationValidation.d.ts.map +1 -0
  280. package/src/lib/utils/communicationValidation.js +291 -0
  281. package/src/lib/utils/communicationValidation.js.map +1 -0
  282. package/src/lib/utils/emailValidation.d.ts +19 -0
  283. package/src/lib/utils/emailValidation.d.ts.map +1 -0
  284. package/src/lib/utils/emailValidation.js +232 -0
  285. package/src/lib/utils/emailValidation.js.map +1 -0
  286. package/src/lib/interfaces/blockStore.d.ts +0 -7
  287. package/src/lib/interfaces/blockStore.d.ts.map +0 -1
  288. package/src/lib/interfaces/blockStore.js.map +0 -1
@@ -5,6 +5,7 @@ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
5
  const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
6
6
  /* eslint-disable @typescript-eslint/no-explicit-any */
7
7
  const brightchain_lib_1 = require("@brightchain/brightchain-lib");
8
+ const node_express_suite_2 = require("@digitaldefiance/node-express-suite");
8
9
  const path_1 = require("path");
9
10
  const constants_1 = require("./constants");
10
11
  class Environment extends node_express_suite_1.Environment {
@@ -25,6 +26,7 @@ class Environment extends node_express_suite_1.Environment {
25
26
  // Cast Constants to IConstants - they share the same structure
26
27
  super(path, initialization, override, constants_1.Constants);
27
28
  const envObj = this.getObject();
29
+ this._upnp = node_express_suite_2.UpnpConfig.fromEnvironment(envObj);
28
30
  // BrightChain-specific environment variables
29
31
  this._fontAwesomeKitId = envObj['FONTAWESOME_KIT_ID'] ?? '';
30
32
  this._blockStorePath =
@@ -56,6 +58,9 @@ class Environment extends node_express_suite_1.Environment {
56
58
  this.setEnvironment('reactDistDir', (0, path_1.join)(process.cwd(), 'dist', 'brightchain-react'));
57
59
  }
58
60
  }
61
+ get upnp() {
62
+ return this._upnp;
63
+ }
59
64
  get fontAwesomeKitId() {
60
65
  return this._fontAwesomeKitId;
61
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/environment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../../../brightchain-api-lib/src/lib/environment.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,13 @@ import { IApplication } from '@digitaldefiance/node-express-suite';
3
3
  import { Environment } from '../environment';
4
4
  import { DefaultBackendIdType } from '../types/backend-id';
5
5
  /**
6
- * Extended application interface with BrightChain-specific methods
6
+ * Extended application interface with BrightChain-specific methods.
7
+ *
8
+ * Note: BrightChain uses BlockDocumentStore instead of mongoose.
9
+ * The `db` and `getModel` properties inherited from IApplication are
10
+ * overridden at runtime by the App class to return DocumentStore /
11
+ * DocumentCollection types. Consumers that need the BrightChain-specific
12
+ * types should access them via the App class directly.
7
13
  */
8
14
  export interface IBrightChainApplication<TID extends PlatformID = DefaultBackendIdType> extends IApplication<TID> {
9
15
  get environment(): Environment<TID>;
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,uBAAuB,CACtC,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,YAAY,CAAC,GAAG,CAAC;IACzB,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;IAE5C;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CACxD"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,WAAW,uBAAuB,CACtC,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,YAAY,CAAC,GAAG,CAAC;IACzB,IAAI,WAAW,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAEpC;;;;OAIG;IACH,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;IAE5C;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,IAAI,CAAC;CACxD"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @fileoverview Stub init result interface for upstream Application compatibility.
3
+ * BrightChain does not use mongoose init results, so this is a minimal type
4
+ * that satisfies the upstream Application's TInitResults generic parameter.
5
+ * @module interfaces/brightchain-init-result
6
+ */
7
+ import { PlatformID } from '@digitaldefiance/node-ecies-lib';
8
+ import { IServerInitResult } from '@digitaldefiance/node-express-suite';
9
+ /**
10
+ * Stub init result for BrightChain's App extending upstream Application.
11
+ * Since BrightChain uses DocumentStore/BlockDocumentStore instead of mongoose,
12
+ * this type fully satisfies the upstream IServerInitResult constraint
13
+ * while allowing all fields to be uninitialized at runtime (they are never read).
14
+ * @template TID - Platform ID type
15
+ */
16
+ export type IBrightChainInitResult<TID extends PlatformID> = IServerInitResult<TID>;
17
+ //# sourceMappingURL=brightchain-init-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brightchain-init-result.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/brightchain-init-result.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,CAAC,GAAG,SAAS,UAAU,IACvD,iBAAiB,CAAC,GAAG,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Stub init result interface for upstream Application compatibility.
4
+ * BrightChain does not use mongoose init results, so this is a minimal type
5
+ * that satisfies the upstream Application's TInitResults generic parameter.
6
+ * @module interfaces/brightchain-init-result
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=brightchain-init-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brightchain-init-result.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/brightchain-init-result.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -1,11 +1,17 @@
1
1
  import { BlockSize } from '@brightchain/brightchain-lib';
2
2
  import { HexString } from '@digitaldefiance/ecies-lib';
3
3
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
4
- import { IEnvironment as IEnvironmentBase } from '@digitaldefiance/node-express-suite';
4
+ import { IEnvironment as IEnvironmentBase, IUpnpConfig } from '@digitaldefiance/node-express-suite';
5
5
  import { IEnvironmentAws } from './environment-aws';
6
6
  export interface IEnvironment<TID extends PlatformID> extends Omit<IEnvironmentBase<TID>, 'adminId' | 'idAdapter'> {
7
7
  adminId: any;
8
8
  idAdapter(bytes: Uint8Array): HexString;
9
+ /**
10
+ * UPnP Configuration
11
+ * If set, UPnP will be used to automatically configure port forwarding
12
+ * on compatible routers.
13
+ */
14
+ upnp?: IUpnpConfig;
9
15
  /**
10
16
  * The FontAwesome kit ID
11
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/environment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,UAAU,CAAE,SAAQ,IAAI,CAChE,gBAAgB,CAAC,GAAG,CAAC,EACrB,SAAS,GAAG,WAAW,CACxB;IACC,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IACxC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,mBAAmB,EAAE,SAAS,CAAC;IAE/B;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC"}
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/environment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,YAAY,IAAI,gBAAgB,EAChC,WAAW,EACZ,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,YAAY,CAAC,GAAG,SAAS,UAAU,CAAE,SAAQ,IAAI,CAChE,gBAAgB,CAAC,GAAG,CAAC,EACrB,SAAS,GAAG,WAAW,CACxB;IACC,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAExC;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,GAAG,EAAE,eAAe,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,mBAAmB,EAAE,SAAS,CAAC;IAE/B;;OAEG;IACH,sBAAsB,EAAE,OAAO,CAAC;CACjC"}
@@ -1,5 +1,6 @@
1
1
  export type * from './api-constants';
2
2
  export type * from './application';
3
+ export type * from './brightchain-init-result';
3
4
  export type * from './auth-credentials';
4
5
  export type * from './auth-token';
5
6
  export type * from './backend-objects';
@@ -8,7 +9,6 @@ export type * from './blockRequest';
8
9
  export type * from './blockResponses';
9
10
  export type * from './blockService';
10
11
  export type * from './blocksHandlers';
11
- export type * from './blockStore';
12
12
  export type * from './cblHandlers';
13
13
  export type * from './checksum-config';
14
14
  export type * from './discriminator-collections';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,SAAS,CAAC;AAC7B,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,6BAA6B,CAAC;AACjD,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,YAAY,CAAC;AAChC,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,kCAAkC,CAAC;AACtD,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/interfaces/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,oBAAoB,CAAC;AACxC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,SAAS,CAAC;AAC7B,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,6BAA6B,CAAC;AACjD,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,iCAAiC,CAAC;AACrD,mBAAmB,gBAAgB,CAAC;AACpC,mBAAmB,YAAY,CAAC;AAChC,mBAAmB,aAAa,CAAC;AACjC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,kCAAkC,CAAC;AACtD,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,gCAAgC,CAAC;AACpD,mBAAmB,iBAAiB,CAAC;AACrC,mBAAmB,cAAc,CAAC;AAClC,mBAAmB,eAAe,CAAC;AACnC,mBAAmB,qBAAqB,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Get block data request params and query
3
+ */
4
+ export interface IGetBlockDataRequest {
5
+ params: {
6
+ blockId: string;
7
+ };
8
+ query: {
9
+ poolId?: string;
10
+ };
11
+ }
12
+ //# sourceMappingURL=getBlockDataRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockDataRequest.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/requests/getBlockDataRequest.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,KAAK,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=blockStore.js.map
3
+ //# sourceMappingURL=getBlockDataRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBlockDataRequest.js","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/requests/getBlockDataRequest.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  export type * from './discoverBlockRequest';
2
+ export type * from './getBlockDataRequest';
2
3
  export type * from './getBlockLocationRequest';
3
4
  export type * from './getMessageRequest';
4
5
  export type * from './getNodeRequest';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/requests/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-api-lib/src/lib/interfaces/requests/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,2BAA2B,CAAC;AAC/C,mBAAmB,qBAAqB,CAAC;AACzC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,kBAAkB,CAAC;AACtC,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,uBAAuB,CAAC;AAC3C,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,sBAAsB,CAAC;AAC1C,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,mBAAmB,CAAC"}
@@ -1,4 +1,8 @@
1
- import { IAvailabilityService, IDiscoveryProtocol, IReconciliationService } from '@brightchain/brightchain-lib';
1
+ import { IAvailabilityService, IBlockStore, IDiscoveryProtocol, IReconciliationService } from '@brightchain/brightchain-lib';
2
+ import { ChannelService } from '@brightchain/brightchain-lib/lib/services/communication/channelService';
3
+ import { ConversationService } from '@brightchain/brightchain-lib/lib/services/communication/conversationService';
4
+ import { GroupService } from '@brightchain/brightchain-lib/lib/services/communication/groupService';
5
+ import { PermissionService } from '@brightchain/brightchain-lib/lib/services/communication/permissionService';
2
6
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
3
7
  import { NodesController } from '../controllers/api/nodes';
4
8
  import { SyncController } from '../controllers/api/sync';
@@ -12,8 +16,12 @@ import { BaseRouter } from './base';
12
16
  */
13
17
  export declare class ApiRouter<TID extends PlatformID = DefaultBackendIdType> extends BaseRouter<TID> {
14
18
  private readonly blocksController;
19
+ private readonly channelController;
20
+ private readonly conversationController;
15
21
  private readonly docsController;
22
+ private readonly emailController;
16
23
  private readonly energyController;
24
+ private readonly groupController;
17
25
  private readonly healthController;
18
26
  private readonly i18nController;
19
27
  private readonly messagesController;
@@ -84,5 +92,50 @@ export declare class ApiRouter<TID extends PlatformID = DefaultBackendIdType> ex
84
92
  * @requirements 4.5
85
93
  */
86
94
  setSyncEventSystem(eventSystem: EventNotificationSystem): void;
95
+ /**
96
+ * Set the block store for the sync controller.
97
+ * This should be the local inner store for serving block data to remote nodes.
98
+ * @requirements 1.1
99
+ */
100
+ setSyncBlockStore(store: IBlockStore): void;
101
+ /**
102
+ * Set the ConversationService for the DirectMessageController.
103
+ * @requirements 1.1, 1.2, 1.3, 1.4, 1.5
104
+ */
105
+ setConversationService(service: ConversationService): void;
106
+ /**
107
+ * Set the GroupService for the GroupController.
108
+ * @requirements 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
109
+ */
110
+ setGroupService(service: GroupService): void;
111
+ /**
112
+ * Set the ChannelService for the ChannelController.
113
+ * @requirements 4.1, 4.2, 4.3, 4.4, 4.5, 5.1, 5.2, 5.3, 5.4, 5.5
114
+ */
115
+ setChannelService(service: ChannelService): void;
116
+ /**
117
+ * Set the PermissionService for both GroupController and ChannelController.
118
+ * @requirements 6.1, 6.2, 6.3, 6.4
119
+ */
120
+ setPermissionService(service: PermissionService): void;
121
+ /**
122
+ * Set the MessagePassingService for the EmailController.
123
+ * This should be called during application initialization after
124
+ * all required dependencies are available.
125
+ * @requirements 14.1, 14.2
126
+ */
127
+ setMessagePassingServiceForEmail(service: MessagePassingService): void;
128
+ /**
129
+ * Get the DirectMessageController instance.
130
+ */
131
+ getConversationController(): typeof this.conversationController;
132
+ /**
133
+ * Get the GroupController instance.
134
+ */
135
+ getGroupController(): typeof this.groupController;
136
+ /**
137
+ * Get the ChannelController instance.
138
+ */
139
+ getChannelController(): typeof this.channelController;
87
140
  }
88
141
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAgB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAe3E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;GAEG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,UAAU,CAAC,GAAG,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D;;OAEG;gBACS,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAiDrD;;;;;OAKG;IACI,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAIrE;;;;;OAKG;IACI,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI/D;;;;;OAKG;IACI,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIlE;;;OAGG;IACI,kBAAkB,IAAI,eAAe,CAAC,GAAG,CAAC;IAIjD;;;OAGG;IACI,iBAAiB,IAAI,cAAc,CAAC,GAAG,CAAC;IAI/C;;;;;OAKG;IACI,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAItE;;;;;OAKG;IACI,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAItE;;;;OAIG;IACI,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;CAGtE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,wEAAwE,CAAC;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,6EAA6E,CAAC;AAClH,OAAO,EAAE,YAAY,EAAE,MAAM,sEAAsE,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,2EAA2E,CAAC;AAE9G,OAAO,EAAgB,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAmB3E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;GAEG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,UAAU,CAAC,GAAG,CAAC;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA8B;IACrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA0B;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAwB;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAmB;IAC/C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D;;OAEG;gBACS,WAAW,EAAE,uBAAuB,CAAC,GAAG,CAAC;IAyDrD;;;;;OAKG;IACI,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI;IAIrE;;;;;OAKG;IACI,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI/D;;;;;OAKG;IACI,sBAAsB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIlE;;;OAGG;IACI,kBAAkB,IAAI,eAAe,CAAC,GAAG,CAAC;IAIjD;;;OAGG;IACI,iBAAiB,IAAI,cAAc,CAAC,GAAG,CAAC;IAI/C;;;;;OAKG;IACI,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAItE;;;;;OAKG;IACI,wBAAwB,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAItE;;;;OAIG;IACI,kBAAkB,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI;IAIrE;;;;OAIG;IACI,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAMlD;;;OAGG;IACI,sBAAsB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIjE;;;OAGG;IACI,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAInD;;;OAGG;IACI,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAIvD;;;OAGG;IACI,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAK7D;;;;;OAKG;IACI,gCAAgC,CACrC,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAIP;;OAEG;IACI,yBAAyB,IAAI,OAAO,IAAI,CAAC,sBAAsB;IAItE;;OAEG;IACI,kBAAkB,IAAI,OAAO,IAAI,CAAC,eAAe;IAIxD;;OAEG;IACI,oBAAoB,IAAI,OAAO,IAAI,CAAC,iBAAiB;CAG7D"}
@@ -6,8 +6,12 @@ const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
6
6
  const appConstants_1 = require("../appConstants");
7
7
  const blocks_1 = require("../controllers/api/blocks");
8
8
  const cbl_1 = require("../controllers/api/cbl");
9
+ const channels_1 = require("../controllers/api/channels");
10
+ const conversations_1 = require("../controllers/api/conversations");
9
11
  const docs_1 = require("../controllers/api/docs");
12
+ const emails_1 = require("../controllers/api/emails");
10
13
  const energy_1 = require("../controllers/api/energy");
14
+ const groups_1 = require("../controllers/api/groups");
11
15
  const health_1 = require("../controllers/api/health");
12
16
  const i18n_1 = require("../controllers/api/i18n");
13
17
  const messages_1 = require("../controllers/api/messages");
@@ -43,8 +47,12 @@ class ApiRouter extends base_1.BaseRouter {
43
47
  this.backupCodeService = new node_express_suite_1.BackupCodeService(application, this.eciesService, this.keyWrappingService, this.roleService);
44
48
  this.userController = new user_1.UserController(application);
45
49
  this.blocksController = new blocks_1.BlocksController(application);
50
+ this.channelController = new channels_1.ChannelController(application);
51
+ this.conversationController = new conversations_1.ConversationController(application);
46
52
  this.docsController = new docs_1.DocsController(application);
53
+ this.emailController = new emails_1.EmailController(application);
47
54
  this.energyController = new energy_1.EnergyController(application);
55
+ this.groupController = new groups_1.GroupController(application);
48
56
  this.healthController = new health_1.HealthController(application);
49
57
  this.i18nController = new i18n_1.I18nController(application);
50
58
  this.messagesController = new messages_1.MessagesController(application);
@@ -55,7 +63,11 @@ class ApiRouter extends base_1.BaseRouter {
55
63
  this.syncController = new sync_1.SyncController(application);
56
64
  this.router.use('/user', this.userController.router);
57
65
  this.router.use('/blocks', this.blocksController.router);
66
+ this.router.use('/channels', this.channelController.router);
67
+ this.router.use('/conversations', this.conversationController.router);
58
68
  this.router.use('/docs', this.docsController.router);
69
+ this.router.use('/emails', this.emailController.router);
70
+ this.router.use('/groups', this.groupController.router);
59
71
  this.router.use('/i18n', this.i18nController.router);
60
72
  this.router.use('/energy', this.energyController.router);
61
73
  this.router.use('/health', this.healthController.router);
@@ -133,6 +145,71 @@ class ApiRouter extends base_1.BaseRouter {
133
145
  setSyncEventSystem(eventSystem) {
134
146
  this.syncController.setEventSystem(eventSystem);
135
147
  }
148
+ /**
149
+ * Set the block store for the sync controller.
150
+ * This should be the local inner store for serving block data to remote nodes.
151
+ * @requirements 1.1
152
+ */
153
+ setSyncBlockStore(store) {
154
+ this.syncController.setBlockStore(store);
155
+ }
156
+ // ─── Communication service injection ────────────────────────────────
157
+ /**
158
+ * Set the ConversationService for the DirectMessageController.
159
+ * @requirements 1.1, 1.2, 1.3, 1.4, 1.5
160
+ */
161
+ setConversationService(service) {
162
+ this.conversationController.setConversationService(service);
163
+ }
164
+ /**
165
+ * Set the GroupService for the GroupController.
166
+ * @requirements 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
167
+ */
168
+ setGroupService(service) {
169
+ this.groupController.setGroupService(service);
170
+ }
171
+ /**
172
+ * Set the ChannelService for the ChannelController.
173
+ * @requirements 4.1, 4.2, 4.3, 4.4, 4.5, 5.1, 5.2, 5.3, 5.4, 5.5
174
+ */
175
+ setChannelService(service) {
176
+ this.channelController.setChannelService(service);
177
+ }
178
+ /**
179
+ * Set the PermissionService for both GroupController and ChannelController.
180
+ * @requirements 6.1, 6.2, 6.3, 6.4
181
+ */
182
+ setPermissionService(service) {
183
+ this.groupController.setPermissionService(service);
184
+ this.channelController.setPermissionService(service);
185
+ }
186
+ /**
187
+ * Set the MessagePassingService for the EmailController.
188
+ * This should be called during application initialization after
189
+ * all required dependencies are available.
190
+ * @requirements 14.1, 14.2
191
+ */
192
+ setMessagePassingServiceForEmail(service) {
193
+ this.emailController.setMessagePassingService(service);
194
+ }
195
+ /**
196
+ * Get the DirectMessageController instance.
197
+ */
198
+ getConversationController() {
199
+ return this.conversationController;
200
+ }
201
+ /**
202
+ * Get the GroupController instance.
203
+ */
204
+ getGroupController() {
205
+ return this.groupController;
206
+ }
207
+ /**
208
+ * Get the ChannelController instance.
209
+ */
210
+ getChannelController() {
211
+ return this.channelController;
212
+ }
136
213
  }
137
214
  exports.ApiRouter = ApiRouter;
138
215
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/api.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,31 @@
1
1
  import { PlatformID } from '@digitaldefiance/node-ecies-lib';
2
- import { Application } from 'express';
2
+ import { IApplication, AppRouter as UpstreamAppRouter } from '@digitaldefiance/node-express-suite';
3
+ import { NextFunction, Request, Response } from 'express';
4
+ import { DefaultBackendIdType } from '../shared-types';
3
5
  import { ApiRouter } from './api';
4
6
  /**
5
- * Application router
6
- * Sets up the API and static file serving
7
+ * Application router for BrightChain.
8
+ * Extends the upstream AppRouter to inherit standard routing behavior
9
+ * (API mounting, static file serving, EJS rendering, catch-all)
10
+ * while overriding renderIndex() for BrightChain-specific template locals.
7
11
  */
8
- export declare class AppRouter<TID extends PlatformID> {
9
- private readonly viewsPath;
10
- private readonly indexPath;
11
- private readonly assetsDir;
12
- private readonly apiRouter;
13
- private readonly application;
12
+ export declare class AppRouter<TID extends PlatformID = DefaultBackendIdType> extends UpstreamAppRouter<TID, IApplication<TID>> {
13
+ /**
14
+ * Typed reference to the BrightChain ApiRouter.
15
+ * The upstream stores apiRouter as BaseRouter; this provides
16
+ * access to BrightChain-specific methods (setSyncEventSystem, etc.).
17
+ */
18
+ private readonly brightchainApiRouter;
14
19
  constructor(apiRouter: ApiRouter<TID>);
15
- getAssetFilename(assetDir: string, pattern: RegExp): string | undefined;
16
20
  /**
17
- * Initialize the application router
18
- * @param app Express application
19
- * @param debugRoutes Whether to log routes
21
+ * Returns the BrightChain-specific ApiRouter instance.
22
+ * Useful for wiring services (e.g. setSyncEventSystem) after construction.
23
+ */
24
+ getBrightchainApiRouter(): ApiRouter<TID>;
25
+ /**
26
+ * Override the upstream's renderIndex to inject BrightChain-specific
27
+ * template locals (fontAwesomeKitId, custom tagline, etc.).
20
28
  */
21
- init(app: Application): void;
29
+ renderIndex(req: Request, res: Response, next: NextFunction): void;
22
30
  }
23
31
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/app.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAY7D,OAAO,EACL,WAAW,EAIZ,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOlC;;;GAGG;AACH,qBAAa,SAAS,CAAC,GAAG,SAAS,UAAU;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAEpC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAW9B,gBAAgB,CACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,SAAS;IASrB;;;;OAIG;IACI,IAAI,CAAC,GAAG,EAAE,WAAW;CA2H7B"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/routers/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EACL,YAAY,EACZ,SAAS,IAAI,iBAAiB,EAC/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;GAKG;AACH,qBAAa,SAAS,CACpB,GAAG,SAAS,UAAU,GAAG,oBAAoB,CAC7C,SAAQ,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACjD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;gBAE1C,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC;IAKrC;;;OAGG;IACI,uBAAuB,IAAI,SAAS,CAAC,GAAG,CAAC;IAIhD;;;OAGG;IACa,WAAW,CACzB,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,EAAE,YAAY,GACjB,IAAI;CAkBR"}
@@ -1,131 +1,43 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AppRouter = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const node_express_suite_1 = require("@digitaldefiance/node-express-suite");
6
- const suite_core_lib_1 = require("@digitaldefiance/suite-core-lib");
7
- const ejs_1 = tslib_1.__importDefault(require("ejs"));
8
- const express_1 = require("express");
9
- const fs_1 = require("fs");
10
- const path_1 = require("path");
11
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
- function keepEJS() {
13
- ejs_1.default.compile(''); // Compile an empty string, doesn't generate anything meaningful
14
- }
15
5
  /**
16
- * Application router
17
- * Sets up the API and static file serving
6
+ * Application router for BrightChain.
7
+ * Extends the upstream AppRouter to inherit standard routing behavior
8
+ * (API mounting, static file serving, EJS rendering, catch-all)
9
+ * while overriding renderIndex() for BrightChain-specific template locals.
18
10
  */
19
- class AppRouter {
11
+ class AppRouter extends node_express_suite_1.AppRouter {
20
12
  constructor(apiRouter) {
21
- this.application = apiRouter.application;
22
- this.apiRouter = apiRouter;
23
- this.viewsPath = (0, path_1.join)(this.application.environment.apiDistDir, 'views');
24
- this.indexPath = (0, path_1.join)(this.application.environment.reactDistDir, 'index.html');
25
- this.assetsDir = (0, path_1.join)(this.application.environment.reactDistDir, 'assets');
13
+ super(apiRouter);
14
+ this.brightchainApiRouter = apiRouter;
26
15
  }
27
- getAssetFilename(assetDir, pattern) {
28
- try {
29
- const files = (0, fs_1.readdirSync)(assetDir);
30
- return files.find((f) => pattern.test(f));
31
- }
32
- catch {
33
- return undefined;
34
- }
16
+ /**
17
+ * Returns the BrightChain-specific ApiRouter instance.
18
+ * Useful for wiring services (e.g. setSyncEventSystem) after construction.
19
+ */
20
+ getBrightchainApiRouter() {
21
+ return this.brightchainApiRouter;
35
22
  }
36
23
  /**
37
- * Initialize the application router
38
- * @param app Express application
39
- * @param debugRoutes Whether to log routes
24
+ * Override the upstream's renderIndex to inject BrightChain-specific
25
+ * template locals (fontAwesomeKitId, custom tagline, etc.).
40
26
  */
41
- init(app) {
42
- if (!this.apiRouter.application.environment.reactDistDir.includes('/dist/')) {
43
- throw new Error(`App does not appear to be running within dist: ${this.apiRouter.application.environment.reactDistDir}`);
44
- }
45
- if (!(0, fs_1.existsSync)(this.indexPath)) {
46
- throw new Error(`Index file not found: ${this.indexPath}`);
47
- }
48
- if (this.apiRouter.application.environment.debug) {
49
- app.use((req, res, next) => {
50
- const port = (req.socket.localPort === 443 && req.protocol === 'https') ||
51
- (req.socket.localPort === 80 && req.protocol === 'http')
52
- ? ''
53
- : `:${req.socket.localPort}`;
54
- console.log(`${(0, suite_core_lib_1.getSuiteCoreTranslation)(suite_core_lib_1.SuiteCoreStringKey.Admin_ServingRoute)}: ${req.method} ${req.protocol}://${req.hostname}${port}${req.url}`);
55
- next();
56
- });
27
+ renderIndex(req, res, next) {
28
+ if (req.url.endsWith('.js')) {
29
+ res.type('application/javascript');
57
30
  }
58
- app.use('/api', this.apiRouter.router);
59
- app.set('views', this.viewsPath);
60
- app.set('view engine', 'ejs');
61
- // Serve static files from the React app build directory
62
- // app.use(express.static(path.join(__dirname, '..', '..', '..', 'brightchain-react')));
63
- app.use('/assets', (0, express_1.static)(this.assetsDir));
64
- const serveStaticWithLogging = (0, express_1.static)(this.apiRouter.application.environment.reactDistDir);
65
- app.use('/static/js', (0, express_1.static)(this.apiRouter.application.environment.reactDistDir));
66
- app.use((req, res, next) => {
67
- if (req.url === '/') {
68
- next();
69
- return;
70
- }
71
- (0, node_express_suite_1.debugLog)(this.apiRouter.application.environment.debug, 'log', `Trying to serve static for ${req.url}`);
72
- if (req.url.endsWith('.js')) {
73
- res.type('application/javascript');
74
- }
75
- serveStaticWithLogging(req, res, (err) => {
76
- if (err) {
77
- (0, node_express_suite_1.debugLog)(this.apiRouter.application.environment.debug, 'error', 'Error serving static file:', err);
78
- (0, node_express_suite_1.handleError)(err, res, node_express_suite_1.sendApiMessageResponse, next);
79
- return;
80
- }
81
- next();
82
- });
83
- });
84
- // The "catchall" handler: for any request that doesn't
85
- // match one above, send back React's index.html file.
86
- // app.get('*', (req, res) => {
87
- // res.sendFile(path.join(__dirname,'..', '..', '..', 'brightchain-react', 'index.html'));
88
- // });
89
- app.use((req, res) => {
90
- const cspNonce = res.locals['cspNonce'];
91
- if (req.url.endsWith('.js')) {
92
- res.type('application/javascript');
93
- }
94
- const SiteName = 'BrightChain';
95
- // translate(SuiteCoreStringKey.Common_Site)
96
- const hostname = req.hostname;
97
- const jsFile = this.getAssetFilename(this.assetsDir, /^index-.*\.js$/);
98
- const cssFile = this.getAssetFilename(this.assetsDir, /^index-.*\.css$/);
99
- const server = (req.socket.localPort === 443 && req.protocol === 'https') ||
100
- (req.socket.localPort === 80 && req.protocol === 'http')
101
- ? `${req.protocol}://${hostname}`
102
- : `${req.protocol}://${hostname}:${req.socket.localPort}`;
103
- const environment = this.apiRouter.application
104
- .environment;
105
- res.render('index', {
106
- cspNonce,
107
- title: SiteName,
108
- tagline: 'The Future of Decentralized Storage', // translate(SuiteCoreStringKey.SiteTagline),
109
- server: server,
110
- siteUrl: environment.serverUrl,
111
- baseHref: environment.basePath,
112
- fontawesomeKitId: environment.fontAwesomeKitId,
113
- hostname: hostname,
114
- siteTitle: SiteName,
115
- jsFile: jsFile ? `assets/${jsFile}` : undefined,
116
- cssFile: cssFile ? `assets/${cssFile}` : undefined,
117
- }, (err, html) => {
118
- // Render 'index.ejs'
119
- if (err) {
120
- console.error('Error rendering:', err);
121
- if (!res.headersSent) {
122
- res.status(500).send('An error occurred'); // Send a generic error message or render a separate error view
123
- }
124
- return;
125
- }
126
- res.send(html);
127
- });
128
- });
31
+ const jsFile = this.getAssetFilename(this.assetsDir, /^index-.*\.js$/);
32
+ const cssFile = this.getAssetFilename(this.assetsDir, /^index-.*\.css$/);
33
+ const environment = this.application.environment;
34
+ const locals = {
35
+ ...this.getBaseViewLocals(req, res),
36
+ fontawesomeKitId: environment.fontAwesomeKitId,
37
+ jsFile: jsFile ? `assets/${jsFile}` : undefined,
38
+ cssFile: cssFile ? `assets/${cssFile}` : undefined,
39
+ };
40
+ this.renderTemplate(req, res, next, 'index', locals);
129
41
  }
130
42
  }
131
43
  exports.AppRouter = AppRouter;