@twin.org/engine-types 0.0.3-next.2 → 0.0.3-next.21

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 (396) hide show
  1. package/dist/es/components/attestation.js +20 -22
  2. package/dist/es/components/attestation.js.map +1 -1
  3. package/dist/es/components/auditableItemGraph.js +26 -22
  4. package/dist/es/components/auditableItemGraph.js.map +1 -1
  5. package/dist/es/components/auditableItemStream.js +26 -22
  6. package/dist/es/components/auditableItemStream.js.map +1 -1
  7. package/dist/es/components/backgroundTask.js +18 -18
  8. package/dist/es/components/backgroundTask.js.map +1 -1
  9. package/dist/es/components/blobStorage.js +69 -80
  10. package/dist/es/components/blobStorage.js.map +1 -1
  11. package/dist/es/components/contextIdHandler.js +31 -0
  12. package/dist/es/components/contextIdHandler.js.map +1 -0
  13. package/dist/es/components/dataProcessing.js +33 -32
  14. package/dist/es/components/dataProcessing.js.map +1 -1
  15. package/dist/es/components/dataSpaceConnector.js +26 -25
  16. package/dist/es/components/dataSpaceConnector.js.map +1 -1
  17. package/dist/es/components/documentManagement.js +12 -12
  18. package/dist/es/components/documentManagement.js.map +1 -1
  19. package/dist/es/components/entityStorage.js +20 -21
  20. package/dist/es/components/entityStorage.js.map +1 -1
  21. package/dist/es/components/eventBus.js +19 -27
  22. package/dist/es/components/eventBus.js.map +1 -1
  23. package/dist/es/components/faucet.js +18 -18
  24. package/dist/es/components/faucet.js.map +1 -1
  25. package/dist/es/components/federatedCatalogue.js +14 -18
  26. package/dist/es/components/federatedCatalogue.js.map +1 -1
  27. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  28. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  29. package/dist/es/components/identity.js +28 -31
  30. package/dist/es/components/identity.js.map +1 -1
  31. package/dist/es/components/identityProfile.js +26 -24
  32. package/dist/es/components/identityProfile.js.map +1 -1
  33. package/dist/es/components/identityResolver.js +36 -40
  34. package/dist/es/components/identityResolver.js.map +1 -1
  35. package/dist/es/components/immutableProof.js +23 -20
  36. package/dist/es/components/immutableProof.js.map +1 -1
  37. package/dist/es/components/logging.js +28 -28
  38. package/dist/es/components/logging.js.map +1 -1
  39. package/dist/es/components/messaging.js +77 -89
  40. package/dist/es/components/messaging.js.map +1 -1
  41. package/dist/es/components/nft.js +33 -33
  42. package/dist/es/components/nft.js.map +1 -1
  43. package/dist/es/components/rightsManagementPap.js +17 -17
  44. package/dist/es/components/rightsManagementPap.js.map +1 -1
  45. package/dist/es/components/rightsManagementPdp.js +11 -25
  46. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  47. package/dist/es/components/rightsManagementPep.js +12 -24
  48. package/dist/es/components/rightsManagementPep.js.map +1 -1
  49. package/dist/es/components/rightsManagementPip.js +9 -25
  50. package/dist/es/components/rightsManagementPip.js.map +1 -1
  51. package/dist/es/components/rightsManagementPmp.js +10 -10
  52. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  53. package/dist/es/components/rightsManagementPnap.js +20 -18
  54. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  55. package/dist/es/components/rightsManagementPnp.js +14 -36
  56. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  57. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  58. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  59. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  60. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  61. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  62. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  63. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  64. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  65. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  66. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  67. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  68. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  69. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  70. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  71. package/dist/es/components/rightsManagementPxp.js +9 -25
  72. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  73. package/dist/es/components/synchronisedStorage.js +25 -23
  74. package/dist/es/components/synchronisedStorage.js.map +1 -1
  75. package/dist/es/components/taskScheduler.js +10 -10
  76. package/dist/es/components/taskScheduler.js.map +1 -1
  77. package/dist/es/components/telemetry.js +29 -32
  78. package/dist/es/components/telemetry.js.map +1 -1
  79. package/dist/es/components/tenant.js +12 -11
  80. package/dist/es/components/tenant.js.map +1 -1
  81. package/dist/es/components/trust.js +27 -0
  82. package/dist/es/components/trust.js.map +1 -0
  83. package/dist/es/components/trustGenerator.js +28 -0
  84. package/dist/es/components/trustGenerator.js.map +1 -0
  85. package/dist/es/components/trustVerifier.js +28 -0
  86. package/dist/es/components/trustVerifier.js.map +1 -0
  87. package/dist/es/components/vault.js +15 -12
  88. package/dist/es/components/vault.js.map +1 -1
  89. package/dist/es/components/verifiableStorage.js +32 -34
  90. package/dist/es/components/verifiableStorage.js.map +1 -1
  91. package/dist/es/components/wallet.js +23 -24
  92. package/dist/es/components/wallet.js.map +1 -1
  93. package/dist/es/index.js +38 -11
  94. package/dist/es/index.js.map +1 -1
  95. package/dist/es/models/IEngineConfig.js.map +1 -1
  96. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  97. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  98. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  99. package/dist/es/models/config/contextIdHandlerComponentConfig.js +2 -0
  100. package/dist/es/models/config/contextIdHandlerComponentConfig.js.map +1 -0
  101. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  102. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  103. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  104. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  105. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  106. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  107. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  108. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  109. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  110. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  111. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  112. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  113. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  114. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  115. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  116. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  117. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  118. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  119. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  120. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  121. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  122. package/dist/es/models/config/trustComponentConfig.js +2 -0
  123. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  125. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  127. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  128. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  129. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  130. package/dist/es/models/types/contextIdHandlerComponentType.js +17 -0
  131. package/dist/es/models/types/contextIdHandlerComponentType.js.map +1 -0
  132. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  133. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  134. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  135. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  136. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  137. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  138. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  139. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  140. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  141. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  142. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  143. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  144. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  145. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  146. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  147. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  148. package/dist/es/models/types/trustComponentType.js +13 -0
  149. package/dist/es/models/types/trustComponentType.js.map +1 -0
  150. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  151. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  152. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  153. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  154. package/dist/es/utils/engineTypeHelper.js +19 -1
  155. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  156. package/dist/types/components/attestation.d.ts +5 -13
  157. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  158. package/dist/types/components/auditableItemStream.d.ts +3 -7
  159. package/dist/types/components/backgroundTask.d.ts +5 -10
  160. package/dist/types/components/blobStorage.d.ts +4 -12
  161. package/dist/types/components/contextIdHandler.d.ts +12 -0
  162. package/dist/types/components/dataProcessing.d.ts +5 -17
  163. package/dist/types/components/dataSpaceConnector.d.ts +3 -7
  164. package/dist/types/components/documentManagement.d.ts +3 -7
  165. package/dist/types/components/entityStorage.d.ts +3 -7
  166. package/dist/types/components/eventBus.d.ts +4 -12
  167. package/dist/types/components/faucet.d.ts +2 -7
  168. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  169. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  170. package/dist/types/components/identity.d.ts +4 -12
  171. package/dist/types/components/identityProfile.d.ts +4 -12
  172. package/dist/types/components/identityResolver.d.ts +4 -12
  173. package/dist/types/components/immutableProof.d.ts +3 -7
  174. package/dist/types/components/logging.d.ts +4 -12
  175. package/dist/types/components/messaging.d.ts +7 -27
  176. package/dist/types/components/nft.d.ts +4 -12
  177. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  178. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  179. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  180. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  181. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  182. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  183. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  184. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  185. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  186. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  187. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  188. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  189. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  190. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  191. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  192. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  193. package/dist/types/components/taskScheduler.d.ts +3 -7
  194. package/dist/types/components/telemetry.d.ts +4 -12
  195. package/dist/types/components/tenant.d.ts +3 -7
  196. package/dist/types/components/trust.d.ts +12 -0
  197. package/dist/types/components/trustGenerator.d.ts +12 -0
  198. package/dist/types/components/trustVerifier.d.ts +12 -0
  199. package/dist/types/components/vault.d.ts +2 -7
  200. package/dist/types/components/verifiableStorage.d.ts +4 -12
  201. package/dist/types/components/wallet.d.ts +2 -7
  202. package/dist/types/index.d.ts +38 -11
  203. package/dist/types/models/IEngineConfig.d.ts +57 -12
  204. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  205. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  206. package/dist/types/models/config/contextIdHandlerComponentConfig.d.ts +11 -0
  207. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  208. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  209. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  210. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  211. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  212. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  213. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  214. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  215. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  216. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  217. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  218. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  219. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  220. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  221. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  222. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  223. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  224. package/dist/types/models/types/contextIdHandlerComponentType.d.ts +17 -0
  225. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  226. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  227. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  228. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  229. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  230. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  231. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  232. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  233. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  234. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  235. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  236. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  237. package/docs/changelog.md +330 -0
  238. package/docs/reference/classes/EngineTypeHelper.md +53 -0
  239. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  240. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  241. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  242. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  243. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  244. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  245. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  246. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +31 -0
  247. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  248. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  249. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  250. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +2 -2
  251. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  252. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  253. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  254. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  255. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  256. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  257. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  258. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  259. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  260. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  261. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  262. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  263. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  264. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  265. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  266. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  267. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  268. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  269. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  270. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  271. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  272. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  273. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  274. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  275. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  276. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  277. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  278. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  279. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  280. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  281. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  282. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  283. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  284. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  285. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  286. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  287. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  288. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  289. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  290. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  291. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  292. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  293. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  294. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  295. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  296. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  297. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  298. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  299. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  300. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  301. package/docs/reference/index.md +52 -16
  302. package/docs/reference/interfaces/IEngineConfig.md +66 -12
  303. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  304. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  305. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  306. package/docs/reference/type-aliases/ContextIdHandlerComponentConfig.md +5 -0
  307. package/docs/reference/type-aliases/ContextIdHandlerComponentType.md +5 -0
  308. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  309. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  310. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +1 -7
  311. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +1 -7
  312. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +1 -7
  313. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  314. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  315. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  316. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  317. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  318. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  319. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  320. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  321. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  322. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  323. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  324. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  325. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  326. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  327. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  328. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +1 -7
  329. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  330. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  331. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  332. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  333. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  334. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  335. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  336. package/docs/reference/variables/ContextIdHandlerComponentType.md +19 -0
  337. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  338. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  339. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  340. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  341. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  342. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  343. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  344. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  345. package/docs/reference/variables/TrustComponentType.md +13 -0
  346. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  347. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  348. package/package.json +10 -5
  349. package/dist/es/components/authenticationGenerator.js +0 -30
  350. package/dist/es/components/authenticationGenerator.js.map +0 -1
  351. package/dist/es/components/rightsManagementDap.js +0 -38
  352. package/dist/es/components/rightsManagementDap.js.map +0 -1
  353. package/dist/es/components/rightsManagementDarp.js +0 -29
  354. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  355. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  356. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  357. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  358. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  359. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  360. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  361. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  362. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  363. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  364. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  365. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  366. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  367. package/dist/es/models/types/rightsManagementDapComponentType.js +0 -17
  368. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  369. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  370. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  371. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  372. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  373. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  374. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  375. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  376. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  377. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  378. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  379. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  380. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  381. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  382. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  383. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  384. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  385. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  386. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  387. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  388. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  389. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  390. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  391. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  392. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  393. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  394. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  395. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  396. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -1 +1 @@
1
- {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/components/messaging.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EACN,0BAA0B,EAC1B,qCAAqC,EACrC,wBAAwB,EACxB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAEN,oCAAoC,EACpC,+CAA+C,EAC/C,kCAAkC,EAClC,UAAU,EAIV,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAMN,8BAA8B,EAC9B,0CAA0C,EAC1C,4BAA4B,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,UAAU,IAAI,0BAA0B,EACxC,qBAAqB,EACrB,gBAAgB,EAEhB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAOtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,sCAAsC,EAAE,MAAM,2DAA2D,CAAC;AACnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAC;AAEzF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAM7C,IAAI,SAA+C,CAAC;IACpD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,aAAa,EAAE,CAAC;QACvE,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,uCAAuC,gBAE/D,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,SAAS,GAAG,IAAI,oCAAoC,CAAC;YACpD,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,oCAAoC,CAAC,SAAS,CAAC;IAC/D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,GAAG,EAAE,CAAC;QACpE,SAAS,GAAG,IAAI,0BAA0B,CAAC;YAC1C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,0BAA0B,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,8BAA8B;KACvC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,UAAsC,EACtC,OAA0C,EAC1C,cAA2C;IAM3C,IAAI,SAA6C,CAAC;IAClD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,yBAAyB,CAAC,aAAa,EAAE,CAAC;QACrE,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,qCAAqC,cAE7D,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,SAAS,GAAG,IAAI,kCAAkC,CAAC;YAClD,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,kCAAkC,CAAC,SAAS,CAAC;IAC7D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,yBAAyB,CAAC,GAAG,EAAE,CAAC;QAClE,SAAS,GAAG,IAAI,wBAAwB,CAAC;YACxC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,wBAAwB,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,OAAO;QACN,YAAY;QACZ,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,SAAS;KACpB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4CAA4C,CACjE,UAAsC,EACtC,OAA0C,EAC1C,cAAwD;IAMxD,IAAI,SAA2D,CAAC;IAChE,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,sCAAsC,CAAC,aAAa,EAAE,CAAC;QAClF,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,wCAAwC,iCAEhE,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,yCAAyC,kCAEjE,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QACF,SAAS,GAAG,IAAI,+CAA+C,CAAC;YAC/D,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,+CAA+C,CAAC,SAAS,CAAC;IAC1E,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,sCAAsC,CAAC,GAAG,EAAE,CAAC;QAC/E,SAAS,GAAG,IAAI,qCAAqC,CAAC;YACrD,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,GAAG,qCAAqC,CAAC,SAAS,CAAC;IAChE,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,0CAA0C;KACnD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,UAAsC,EACtC,OAA0C,EAC1C,cAAwC;IAMxC,IAAI,SAA0C,CAAC;IAC/C,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,sBAAsB,CAAC,OAAO,EAAE,CAAC;QAC5D,SAAS,GAAG,IAAI,gBAAgB,CAAC;YAChC,2BAA2B,EAC1B,UAAU,CAAC,iCAAiC,CAAC,yBAAyB,CAAC;YACxE,yBAAyB,EACxB,UAAU,CAAC,iCAAiC,CAAC,uBAAuB,CAAC;YACtE,sCAAsC,EAAE,UAAU,CAAC,iCAAiC,CACnF,gCAAgC,CAChC;YACD,2BAA2B,EAC1B,UAAU,CAAC,iCAAiC,CAAC,yBAAyB,CAAC;YACxE,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,sBAAoC,CAAC;IAClD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,UAAsC,EACtC,OAA0C,EAC1C,cAA6C;IAM7C,IAAI,SAA+C,CAAC;IACpD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,OAAO,EAAE,CAAC;QACjE,0BAA0B,EAAE,CAAC;QAE7B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,iCAAiC,mBAEzD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QAEF,SAAS,GAAG,IAAI,qBAAqB,CAAC;YACrC,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,4BAAyC,CAAC;IACvD,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport {\n\tAwsMessagingEmailConnector,\n\tAwsMessagingPushNotificationConnector,\n\tAwsMessagingSmsConnector\n} from \"@twin.org/messaging-connector-aws\";\nimport {\n\ttype EmailEntry,\n\tEntityStorageMessagingEmailConnector,\n\tEntityStorageMessagingPushNotificationConnector,\n\tEntityStorageMessagingSmsConnector,\n\tinitSchema,\n\ttype PushNotificationDeviceEntry,\n\ttype PushNotificationMessageEntry,\n\ttype SmsEntry\n} from \"@twin.org/messaging-connector-entity-storage\";\nimport {\n\ttype IMessagingAdminComponent,\n\ttype IMessagingComponent,\n\ttype IMessagingEmailConnector,\n\ttype IMessagingPushNotificationsConnector,\n\ttype IMessagingSmsConnector,\n\tMessagingEmailConnectorFactory,\n\tMessagingPushNotificationsConnectorFactory,\n\tMessagingSmsConnectorFactory\n} from \"@twin.org/messaging-models\";\nimport {\n\tinitSchema as initSchemaMessagingService,\n\tMessagingAdminService,\n\tMessagingService,\n\ttype TemplateEntry\n} from \"@twin.org/messaging-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { MessagingAdminComponentConfig } from \"../models/config/messagingAdminComponentConfig.js\";\nimport type { MessagingComponentConfig } from \"../models/config/messagingComponentConfig.js\";\nimport type { MessagingEmailConnectorConfig } from \"../models/config/messagingEmailConnectorConfig.js\";\nimport type { MessagingPushNotificationConnectorConfig } from \"../models/config/messagingPushNotificationConnectorConfig.js\";\nimport type { MessagingSmsConnectorConfig } from \"../models/config/messagingSmsConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { MessagingAdminComponentType } from \"../models/types/messagingAdminComponentType.js\";\nimport { MessagingComponentType } from \"../models/types/messagingComponentType.js\";\nimport { MessagingEmailConnectorType } from \"../models/types/messagingEmailConnectorType.js\";\nimport { MessagingPushNotificationConnectorType } from \"../models/types/messagingPushNotificationConnectorType.js\";\nimport { MessagingSmsConnectorType } from \"../models/types/messagingSmsConnectorType.js\";\n\n/**\n * Initialise a messaging email connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseMessagingEmailConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingEmailConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof MessagingEmailConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingEmailConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingEmailConnectorType.EntityStorage) {\n\t\tinitSchema({ email: true, sms: false, pushNotification: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingEmailEntryStorageConnectorType,\n\t\t\tnameof<EmailEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageMessagingEmailConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageMessagingEmailConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingEmailConnectorType.Aws) {\n\t\tcomponent = new AwsMessagingEmailConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = AwsMessagingEmailConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: MessagingEmailConnectorFactory\n\t};\n}\n\n/**\n * Initialise a messaging sms connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseMessagingSmsConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingSmsConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof MessagingSmsConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet connector: IMessagingSmsConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingSmsConnectorType.EntityStorage) {\n\t\tinitSchema({ email: false, sms: true, pushNotification: false });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingSmsEntryStorageConnectorType,\n\t\t\tnameof<SmsEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tconnector = new EntityStorageMessagingSmsConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageMessagingSmsConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingSmsConnectorType.Aws) {\n\t\tconnector = new AwsMessagingSmsConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = AwsMessagingSmsConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tinstanceType,\n\t\tfactory: MessagingSmsConnectorFactory,\n\t\tcomponent: connector\n\t};\n}\n\n/**\n * Initialise a messaging push notification connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseMessagingPushNotificationConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingPushNotificationConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof MessagingPushNotificationsConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingPushNotificationsConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingPushNotificationConnectorType.EntityStorage) {\n\t\tinitSchema({ email: false, sms: false, pushNotification: true });\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingDeviceEntryStorageConnectorType,\n\t\t\tnameof<PushNotificationDeviceEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.messagingMessageEntryStorageConnectorType,\n\t\t\tnameof<PushNotificationMessageEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageMessagingPushNotificationConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = EntityStorageMessagingPushNotificationConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingPushNotificationConnectorType.Aws) {\n\t\tcomponent = new AwsMessagingPushNotificationConnector({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = AwsMessagingPushNotificationConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: MessagingPushNotificationsConnectorFactory\n\t};\n}\n\n/**\n * Initialise the messaging component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseMessagingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingComponentType.Service) {\n\t\tcomponent = new MessagingService({\n\t\t\tmessagingEmailConnectorType:\n\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingEmailConnector\"),\n\t\t\tmessagingSmsConnectorType:\n\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingSmsConnector\"),\n\t\t\tmessagingPushNotificationConnectorType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\"messagingNotificationConnector\"\n\t\t\t),\n\t\t\tmessagingAdminComponentType:\n\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingAdminComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(MessagingService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n\n/**\n * Initialise the messaging admin component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseMessagingAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingAdminComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IMessagingAdminComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === MessagingAdminComponentType.Service) {\n\t\tinitSchemaMessagingService();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.templateEntryStorageConnectorType,\n\t\t\tnameof<TemplateEntry>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new MessagingAdminService({\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(MessagingAdminService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"messaging.js","sourceRoot":"","sources":["../../../src/components/messaging.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport {\n\tAwsMessagingEmailConnector,\n\tAwsMessagingPushNotificationConnector,\n\tAwsMessagingSmsConnector\n} from \"@twin.org/messaging-connector-aws\";\nimport {\n\ttype EmailEntry,\n\tEntityStorageMessagingEmailConnector,\n\tEntityStorageMessagingPushNotificationConnector,\n\tEntityStorageMessagingSmsConnector,\n\tinitSchema,\n\ttype PushNotificationDeviceEntry,\n\ttype PushNotificationMessageEntry,\n\ttype SmsEntry\n} from \"@twin.org/messaging-connector-entity-storage\";\nimport {\n\tMessagingEmailConnectorFactory,\n\tMessagingPushNotificationsConnectorFactory,\n\tMessagingSmsConnectorFactory\n} from \"@twin.org/messaging-models\";\nimport {\n\tinitSchema as initSchemaMessagingService,\n\tMessagingAdminService,\n\tMessagingService,\n\ttype TemplateEntry\n} from \"@twin.org/messaging-service\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { MessagingAdminComponentConfig } from \"../models/config/messagingAdminComponentConfig.js\";\nimport type { MessagingComponentConfig } from \"../models/config/messagingComponentConfig.js\";\nimport type { MessagingEmailConnectorConfig } from \"../models/config/messagingEmailConnectorConfig.js\";\nimport type { MessagingPushNotificationConnectorConfig } from \"../models/config/messagingPushNotificationConnectorConfig.js\";\nimport type { MessagingSmsConnectorConfig } from \"../models/config/messagingSmsConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { MessagingAdminComponentType } from \"../models/types/messagingAdminComponentType.js\";\nimport { MessagingComponentType } from \"../models/types/messagingComponentType.js\";\nimport { MessagingEmailConnectorType } from \"../models/types/messagingEmailConnectorType.js\";\nimport { MessagingPushNotificationConnectorType } from \"../models/types/messagingPushNotificationConnectorType.js\";\nimport { MessagingSmsConnectorType } from \"../models/types/messagingSmsConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise a messaging email connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseMessagingEmailConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingEmailConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof MessagingEmailConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingEmailConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema({ email: true, sms: false, pushNotification: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingEmailEntryStorageConnectorType,\n\t\t\t\tnameof<EmailEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new EntityStorageMessagingEmailConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageMessagingEmailConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingEmailConnectorType.Aws) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AwsMessagingEmailConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = AwsMessagingEmailConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MessagingEmailConnectorFactory\n\t};\n}\n\n/**\n * Initialise a messaging sms connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseMessagingSmsConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingSmsConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof MessagingSmsConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingSmsConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema({ email: false, sms: true, pushNotification: false });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingSmsEntryStorageConnectorType,\n\t\t\t\tnameof<SmsEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new EntityStorageMessagingSmsConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageMessagingSmsConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingSmsConnectorType.Aws) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AwsMessagingSmsConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = AwsMessagingSmsConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MessagingSmsConnectorFactory\n\t};\n}\n\n/**\n * Initialise a messaging push notification connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseMessagingPushNotificationConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingPushNotificationConnectorConfig\n): EngineTypeInitialiserReturn<\n\ttypeof instanceConfig,\n\ttypeof MessagingPushNotificationsConnectorFactory\n> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingPushNotificationConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema({ email: false, sms: false, pushNotification: true });\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingDeviceEntryStorageConnectorType,\n\t\t\t\tnameof<PushNotificationDeviceEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.messagingMessageEntryStorageConnectorType,\n\t\t\t\tnameof<PushNotificationMessageEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new EntityStorageMessagingPushNotificationConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageMessagingPushNotificationConnector.NAMESPACE;\n\t} else if (instanceConfig.type === MessagingPushNotificationConnectorType.Aws) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AwsMessagingPushNotificationConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = AwsMessagingPushNotificationConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MessagingPushNotificationsConnectorFactory\n\t};\n}\n\n/**\n * Initialise the messaging component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseMessagingComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew MessagingService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tmessagingEmailConnectorType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingEmailConnector\"),\n\t\t\t\t\t\tmessagingSmsConnectorType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingSmsConnector\"),\n\t\t\t\t\t\tmessagingPushNotificationConnectorType: engineCore.getRegisteredInstanceTypeOptional(\n\t\t\t\t\t\t\t\"messagingNotificationConnector\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmessagingAdminComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"messagingAdminComponent\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(MessagingService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n\n/**\n * Initialise the messaging admin component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseMessagingAdminComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: MessagingAdminComponentConfig\n): EngineTypeInitialiserReturn<MessagingAdminComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MessagingAdminComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaMessagingService();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.templateEntryStorageConnectorType,\n\t\t\t\tnameof<TemplateEntry>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new MessagingAdminService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(MessagingAdminService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -19,35 +19,35 @@ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
19
19
  * @param instanceConfig The instance config.
20
20
  * @returns The instance created and the factory for it.
21
21
  */
22
- export async function initialiseNftConnector(engineCore, context, instanceConfig) {
23
- let component;
24
- let instanceType;
22
+ export function initialiseNftConnector(engineCore, context, instanceConfig) {
23
+ let createComponent;
24
+ let instanceTypeName;
25
25
  if (instanceConfig.type === NftConnectorType.EntityStorage) {
26
- initSchema();
27
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.nftEntityStorageType, "Nft", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
28
- ContextIdKeys.Node,
29
- ContextIdKeys.Tenant
30
- ]));
31
- component = new EntityStorageNftConnector(instanceConfig.options);
32
- instanceType = EntityStorageNftConnector.NAMESPACE;
26
+ createComponent = (createConfig) => {
27
+ initSchema();
28
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.nftEntityStorageType, "Nft", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
29
+ ContextIdKeys.Node,
30
+ ContextIdKeys.Tenant
31
+ ]));
32
+ return new EntityStorageNftConnector(EngineTypeHelper.mergeConfig(createConfig.options));
33
+ };
34
+ instanceTypeName = EntityStorageNftConnector.NAMESPACE;
33
35
  }
34
36
  else if (instanceConfig.type === NftConnectorType.Iota) {
35
- const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
36
- component = new IotaNftConnector({
37
- vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
38
- walletConnectorType: engineCore.getRegisteredInstanceType("walletConnector"),
39
- loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
40
- ...instanceConfig.options,
41
- config: {
42
- ...dltConfig?.options?.config,
43
- ...instanceConfig.options.config
44
- }
45
- });
46
- instanceType = IotaNftConnector.NAMESPACE;
37
+ createComponent = (createConfig) => {
38
+ const dltConfig = EngineTypeHelper.getConfigOfType(engineCore.getConfig(), "dltConfig", DltConfigType.Iota);
39
+ return new IotaNftConnector(EngineTypeHelper.mergeConfig({
40
+ vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
41
+ walletConnectorType: engineCore.getRegisteredInstanceType("walletConnector"),
42
+ loggingComponentType: engineCore.getRegisteredInstanceTypeOptional("loggingComponent"),
43
+ config: dltConfig?.options?.config
44
+ }, createConfig.options));
45
+ };
46
+ instanceTypeName = IotaNftConnector.NAMESPACE;
47
47
  }
48
48
  return {
49
- component,
50
- instanceType,
49
+ createComponent: createComponent,
50
+ instanceTypeName,
51
51
  factory: NftConnectorFactory
52
52
  };
53
53
  }
@@ -58,20 +58,20 @@ export async function initialiseNftConnector(engineCore, context, instanceConfig
58
58
  * @param instanceConfig The instance config.
59
59
  * @returns The instance created and the factory for it.
60
60
  */
61
- export async function initialiseNftComponent(engineCore, context, instanceConfig) {
62
- let component;
63
- let instanceType;
61
+ export function initialiseNftComponent(engineCore, context, instanceConfig) {
62
+ let createComponent;
63
+ let instanceTypeName;
64
64
  if (instanceConfig.type === NftComponentType.Service) {
65
- component = new NftService(instanceConfig.options);
66
- instanceType = "nft-service";
65
+ createComponent = (createConfig) => new NftService(EngineTypeHelper.mergeConfig(createConfig.options));
66
+ instanceTypeName = "nft-service";
67
67
  }
68
68
  else if (instanceConfig.type === NftComponentType.RestClient) {
69
- component = new NftRestClient(instanceConfig.options);
70
- instanceType = "nft-rest-client";
69
+ createComponent = (createConfig) => new NftRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
70
+ instanceTypeName = "nft-rest-client";
71
71
  }
72
72
  return {
73
- component,
74
- instanceType,
73
+ createComponent: createComponent,
74
+ instanceTypeName,
75
75
  factory: ComponentFactory
76
76
  };
77
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/components/nft.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNftConnector,\n\tinitSchema,\n\ttype Nft\n} from \"@twin.org/nft-connector-entity-storage\";\nimport { IotaNftConnector } from \"@twin.org/nft-connector-iota\";\nimport { NftConnectorFactory, type INftComponent, type INftConnector } from \"@twin.org/nft-models\";\nimport { NftRestClient } from \"@twin.org/nft-rest-client\";\nimport { NftService } from \"@twin.org/nft-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NftComponentConfig } from \"../models/config/nftComponentConfig.js\";\nimport type { NftConnectorConfig } from \"../models/config/nftConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NftComponentType } from \"../models/types/nftComponentType.js\";\nimport { NftConnectorType } from \"../models/types/nftConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the NFT connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseNftConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftConnectorConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof NftConnectorFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: INftConnector | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === NftConnectorType.EntityStorage) {\n\t\tinitSchema();\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.nftEntityStorageType,\n\t\t\tnameof<Nft>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\t\tcomponent = new EntityStorageNftConnector(instanceConfig.options);\n\t\tinstanceType = EntityStorageNftConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NftConnectorType.Iota) {\n\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\tengineCore.getConfig(),\n\t\t\t\"dltConfig\",\n\t\t\tDltConfigType.Iota\n\t\t);\n\t\tcomponent = new IotaNftConnector({\n\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\twalletConnectorType: engineCore.getRegisteredInstanceType(\"walletConnector\"),\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...dltConfig?.options?.config,\n\t\t\t\t...instanceConfig.options.config\n\t\t\t}\n\t\t});\n\t\tinstanceType = IotaNftConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: NftConnectorFactory\n\t};\n}\n\n/**\n * Initialise the NFT component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseNftComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: INftComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === NftComponentType.Service) {\n\t\tcomponent = new NftService(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(NftService);\n\t} else if (instanceConfig.type === NftComponentType.RestClient) {\n\t\tcomponent = new NftRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(NftRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"nft.js","sourceRoot":"","sources":["../../../src/components/nft.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tEntityStorageNftConnector,\n\tinitSchema,\n\ttype Nft\n} from \"@twin.org/nft-connector-entity-storage\";\nimport { IotaNftConnector } from \"@twin.org/nft-connector-iota\";\nimport { NftConnectorFactory } from \"@twin.org/nft-models\";\nimport { NftRestClient } from \"@twin.org/nft-rest-client\";\nimport { NftService } from \"@twin.org/nft-service\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { DltConfig } from \"../models/config/dltConfig.js\";\nimport type { NftComponentConfig } from \"../models/config/nftComponentConfig.js\";\nimport type { NftConnectorConfig } from \"../models/config/nftConnectorConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { DltConfigType } from \"../models/types/dltConfigType.js\";\nimport { NftComponentType } from \"../models/types/nftComponentType.js\";\nimport { NftConnectorType } from \"../models/types/nftConnectorType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the NFT connector.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNftConnector(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftConnectorConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof NftConnectorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NftConnectorType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchema();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.nftEntityStorageType,\n\t\t\t\tnameof<Nft>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\n\t\t\treturn new EntityStorageNftConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = EntityStorageNftConnector.NAMESPACE;\n\t} else if (instanceConfig.type === NftConnectorType.Iota) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tconst dltConfig = EngineTypeHelper.getConfigOfType<DltConfig>(\n\t\t\t\tengineCore.getConfig(),\n\t\t\t\t\"dltConfig\",\n\t\t\t\tDltConfigType.Iota\n\t\t\t);\n\t\t\treturn new IotaNftConnector(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\twalletConnectorType: engineCore.getRegisteredInstanceType(\"walletConnector\"),\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceTypeOptional(\"loggingComponent\"),\n\t\t\t\t\t\tconfig: dltConfig?.options?.config\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = IotaNftConnector.NAMESPACE;\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: NftConnectorFactory\n\t};\n}\n\n/**\n * Initialise the NFT component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseNftComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: NftComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === NftComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NftService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NftService);\n\t} else if (instanceConfig.type === NftComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew NftRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(NftRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -6,6 +6,7 @@ import { initSchema as initSchemaRightsManagementPap, PolicyAdministrationPointS
6
6
  import { PolicyAdministrationPointRestClient } from "@twin.org/rights-management-rest-client";
7
7
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
8
  import { RightsManagementPapComponentType } from "../models/types/rightsManagementPapComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
9
10
  /**
10
11
  * Initialise the rights management PAP component.
11
12
  * @param engineCore The engine core.
@@ -13,28 +14,27 @@ import { RightsManagementPapComponentType } from "../models/types/rightsManageme
13
14
  * @param instanceConfig The instance config.
14
15
  * @returns The instance created and the factory for it.
15
16
  */
16
- export async function initialiseRightsManagementPapComponent(engineCore, context, instanceConfig) {
17
- let component;
18
- let instanceType;
17
+ export function initialiseRightsManagementPapComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
19
20
  if (instanceConfig.type === RightsManagementPapComponentType.Service) {
20
- initSchemaRightsManagementPap();
21
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.odrlPolicyEntityStorageType, "OdrlPolicy", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
22
- ContextIdKeys.Node,
23
- ContextIdKeys.Tenant
24
- ]));
25
- component = new PolicyAdministrationPointService({
26
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
27
- ...instanceConfig.options
28
- });
29
- instanceType = "policy-administration-point-service";
21
+ createComponent = (createConfig) => {
22
+ initSchemaRightsManagementPap();
23
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.odrlPolicyEntityStorageType, "OdrlPolicy", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
24
+ ContextIdKeys.Node,
25
+ ContextIdKeys.Tenant
26
+ ]));
27
+ return new PolicyAdministrationPointService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
28
+ };
29
+ instanceTypeName = "policy-administration-point-service";
30
30
  }
31
31
  else if (instanceConfig.type === RightsManagementPapComponentType.RestClient) {
32
- component = new PolicyAdministrationPointRestClient(instanceConfig.options);
33
- instanceType = "policy-administration-point-rest-client";
32
+ createComponent = (createConfig) => new PolicyAdministrationPointRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
33
+ instanceTypeName = "policy-administration-point-rest-client";
34
34
  }
35
35
  return {
36
- component,
37
- instanceType,
36
+ createComponent: createComponent,
37
+ instanceTypeName,
38
38
  factory: ComponentFactory
39
39
  };
40
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPap.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EACN,UAAU,IAAI,6BAA6B,EAE3C,gCAAgC,EAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mCAAmC,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAA0D,CAAC;IAC/D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,6BAA6B,EAAE,CAAC;QAEhC,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,2BAA2B,gBAEnD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;YACpE,aAAa,CAAC,IAAI;YAClB,aAAa,CAAC,MAAM;SACpB,CAAC,CACF,CAAC;QAEF,SAAS,GAAG,IAAI,gCAAgC,CAAC;YAChD,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,wCAAoD,CAAC;IAClE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,SAAS,GAAG,IAAI,mCAAmC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5E,YAAY,4CAAuD,CAAC;IACrE,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyAdministrationPointComponent } from \"@twin.org/rights-management-models\";\nimport {\n\tinitSchema as initSchemaRightsManagementPap,\n\ttype OdrlPolicy,\n\tPolicyAdministrationPointService\n} from \"@twin.org/rights-management-pap-service\";\nimport { PolicyAdministrationPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { RightsManagementPapComponentConfig } from \"../models/config/rightsManagementPapComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPapComponentType } from \"../models/types/rightsManagementPapComponentType.js\";\n\n/**\n * Initialise the rights management PAP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPapComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPapComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyAdministrationPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPapComponentType.Service) {\n\t\tinitSchemaRightsManagementPap();\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.odrlPolicyEntityStorageType,\n\t\t\tnameof<OdrlPolicy>(),\n\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\tContextIdKeys.Node,\n\t\t\t\tContextIdKeys.Tenant\n\t\t\t])\n\t\t);\n\n\t\tcomponent = new PolicyAdministrationPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyAdministrationPointService);\n\t} else if (instanceConfig.type === RightsManagementPapComponentType.RestClient) {\n\t\tcomponent = new PolicyAdministrationPointRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(PolicyAdministrationPointRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPap.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EACN,UAAU,IAAI,6BAA6B,EAE3C,gCAAgC,EAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,mCAAmC,EAAE,MAAM,yCAAyC,CAAC;AAC9F,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,6BAA6B,EAAE,CAAC;YAEhC,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,2BAA2B,gBAEjD,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,gCAAgC,CAC1C,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,wCAAoD,CAAC;IACtE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,mCAAmC,CACtC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,4CAAuD,CAAC;IACzE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport {\n\tinitSchema as initSchemaRightsManagementPap,\n\ttype OdrlPolicy,\n\tPolicyAdministrationPointService\n} from \"@twin.org/rights-management-pap-service\";\nimport { PolicyAdministrationPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { RightsManagementPapComponentConfig } from \"../models/config/rightsManagementPapComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPapComponentType } from \"../models/types/rightsManagementPapComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PAP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPapComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPapComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPapComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaRightsManagementPap();\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.odrlPolicyEntityStorageType,\n\t\t\t\tnameof<OdrlPolicy>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [\n\t\t\t\t\tContextIdKeys.Node,\n\t\t\t\t\tContextIdKeys.Tenant\n\t\t\t\t])\n\t\t\t);\n\t\t\treturn new PolicyAdministrationPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(PolicyAdministrationPointService);\n\t} else if (instanceConfig.type === RightsManagementPapComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyAdministrationPointRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyAdministrationPointRestClient);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  // Copyright 2024 IOTA Stiftung.
2
2
  // SPDX-License-Identifier: Apache-2.0.
3
- import { ComponentFactory, Is } from "@twin.org/core";
4
- import { EngineModuleHelper } from "@twin.org/engine-core";
3
+ import { ComponentFactory } from "@twin.org/core";
5
4
  import { PolicyDecisionPointService } from "@twin.org/rights-management-pdp-service";
6
5
  import { RightsManagementPdpComponentType } from "../models/types/rightsManagementPdpComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
7
7
  /**
8
8
  * Initialise the rights management PDP component.
9
9
  * @param engineCore The engine core.
@@ -11,35 +11,21 @@ import { RightsManagementPdpComponentType } from "../models/types/rightsManageme
11
11
  * @param instanceConfig The instance config.
12
12
  * @returns The instance created and the factory for it.
13
13
  */
14
- export async function initialiseRightsManagementPdpComponent(engineCore, context, instanceConfig) {
15
- let component;
16
- let instanceType;
14
+ export function initialiseRightsManagementPdpComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
17
  if (instanceConfig.type === RightsManagementPdpComponentType.Service) {
18
- const arbiterModules = [];
19
- if (Is.arrayValue(instanceConfig.options?.arbiterModulesConfig)) {
20
- for (const moduleConfig of instanceConfig.options.arbiterModulesConfig) {
21
- arbiterModules.push({
22
- arbiterId: moduleConfig.id,
23
- arbiter: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
24
- });
25
- }
26
- }
27
- component = new PolicyDecisionPointService({
18
+ createComponent = (createConfig) => new PolicyDecisionPointService(EngineTypeHelper.mergeConfig({
28
19
  loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
29
20
  policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
30
21
  policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent"),
31
- policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent"),
32
- ...instanceConfig.options,
33
- config: {
34
- ...instanceConfig.options?.config,
35
- arbiters: instanceConfig.options?.config?.arbiters ?? arbiterModules
36
- }
37
- });
38
- instanceType = "policy-decision-point-service";
22
+ policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent")
23
+ }, createConfig.options));
24
+ instanceTypeName = "policy-decision-point-service";
39
25
  }
40
26
  return {
41
- component,
42
- instanceType,
27
+ createComponent: createComponent,
28
+ instanceTypeName,
43
29
  factory: ComponentFactory
44
30
  };
45
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPdp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPdp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAmB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAoD,CAAC;IACzD,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,cAAc,GAAqD,EAAE,CAAC;QAC5E,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACjE,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBACxE,cAAc,CAAC,IAAI,CAAC;oBACnB,SAAS,EAAE,YAAY,CAAC,EAAE;oBAC1B,OAAO,EAAE,MAAM,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;iBACzE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,SAAS,GAAG,IAAI,0BAA0B,CAAC;YAC1C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,kCAAkC,EAAE,UAAU,CAAC,yBAAyB,CACvE,8BAA8B,CAC9B;YACD,iCAAiC,EAAE,UAAU,CAAC,yBAAyB,CACtE,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;YACzB,MAAM,EAAE;gBACP,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM;gBACjC,QAAQ,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,IAAI,cAAc;aACpE;SACD,CAAC,CAAC;QACH,YAAY,kCAA8C,CAAC;IAC5D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, Is, type IComponent } from \"@twin.org/core\";\nimport { EngineModuleHelper } from \"@twin.org/engine-core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type {\n\tIPolicyArbiter,\n\tIPolicyDecisionPointComponent\n} from \"@twin.org/rights-management-models\";\nimport { PolicyDecisionPointService } from \"@twin.org/rights-management-pdp-service\";\nimport type { RightsManagementPdpComponentConfig } from \"../models/config/rightsManagementPdpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPdpComponentType } from \"../models/types/rightsManagementPdpComponentType.js\";\n\n/**\n * Initialise the rights management PDP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPdpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPdpComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyDecisionPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPdpComponentType.Service) {\n\t\tconst arbiterModules: { arbiterId: string; arbiter: IPolicyArbiter }[] = [];\n\t\tif (Is.arrayValue(instanceConfig.options?.arbiterModulesConfig)) {\n\t\t\tfor (const moduleConfig of instanceConfig.options.arbiterModulesConfig) {\n\t\t\t\tarbiterModules.push({\n\t\t\t\t\tarbiterId: moduleConfig.id,\n\t\t\t\t\tarbiter: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tcomponent = new PolicyDecisionPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyInformationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPipComponent\"\n\t\t\t),\n\t\t\tpolicyManagementPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPmpComponent\"\n\t\t\t),\n\t\t\tpolicyExecutionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPxpComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options?.config,\n\t\t\t\tarbiters: instanceConfig.options?.config?.arbiters ?? arbiterModules\n\t\t\t}\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyDecisionPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPdp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPdp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,0BAA0B,CAC7B,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,kCAAkC,EAAE,UAAU,CAAC,yBAAyB,CACvE,8BAA8B,CAC9B;YACD,iCAAiC,EAAE,UAAU,CAAC,yBAAyB,CACtE,8BAA8B,CAC9B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,kCAA8C,CAAC;IAChE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyDecisionPointService } from \"@twin.org/rights-management-pdp-service\";\nimport type { RightsManagementPdpComponentConfig } from \"../models/config/rightsManagementPdpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPdpComponentType } from \"../models/types/rightsManagementPdpComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PDP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPdpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPdpComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPdpComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyDecisionPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tpolicyInformationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPipComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyManagementPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPmpComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyExecutionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPxpComponent\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyDecisionPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  // Copyright 2024 IOTA Stiftung.
2
2
  // SPDX-License-Identifier: Apache-2.0.
3
- import { ComponentFactory, Is } from "@twin.org/core";
4
- import { EngineModuleHelper } from "@twin.org/engine-core";
3
+ import { ComponentFactory } from "@twin.org/core";
5
4
  import { PolicyEnforcementPointService } from "@twin.org/rights-management-pep-service";
6
5
  import { RightsManagementPepComponentType } from "../models/types/rightsManagementPepComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
7
7
  /**
8
8
  * Initialise the rights management PEP component.
9
9
  * @param engineCore The engine core.
@@ -11,33 +11,21 @@ import { RightsManagementPepComponentType } from "../models/types/rightsManageme
11
11
  * @param instanceConfig The instance config.
12
12
  * @returns The instance created and the factory for it.
13
13
  */
14
- export async function initialiseRightsManagementPepComponent(engineCore, context, instanceConfig) {
15
- let component;
16
- let instanceType;
14
+ export function initialiseRightsManagementPepComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
17
  if (instanceConfig.type === RightsManagementPepComponentType.Service) {
18
- const processorModules = [];
19
- if (Is.arrayValue(instanceConfig.options?.processorModulesConfig)) {
20
- for (const moduleConfig of instanceConfig.options.processorModulesConfig) {
21
- processorModules.push({
22
- processorId: moduleConfig.id,
23
- processor: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
24
- });
25
- }
26
- }
27
- component = new PolicyEnforcementPointService({
18
+ createComponent = (createConfig) => new PolicyEnforcementPointService(EngineTypeHelper.mergeConfig({
28
19
  loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
29
20
  policyDecisionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPdpComponent"),
30
- ...instanceConfig.options,
31
- config: {
32
- ...instanceConfig.options?.config,
33
- processors: instanceConfig.options?.config?.processors ?? processorModules
34
- }
35
- });
36
- instanceType = "policy-enforcement-point-service";
21
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
22
+ policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent")
23
+ }, createConfig.options));
24
+ instanceTypeName = "policy-enforcement-point-service";
37
25
  }
38
26
  return {
39
- component,
40
- instanceType,
27
+ createComponent: createComponent,
28
+ instanceTypeName,
41
29
  factory: ComponentFactory
42
30
  };
43
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPep.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPep.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAmB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAuD,CAAC;IAC5D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,gBAAgB,GAAsE,EAAE,CAAC;QAC/F,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,sBAAsB,CAAC,EAAE,CAAC;YACnE,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBAC1E,gBAAgB,CAAC,IAAI,CAAC;oBACrB,WAAW,EAAE,YAAY,CAAC,EAAE;oBAC5B,SAAS,EAAE,MAAM,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;iBAC3E,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAC7C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,gCAAgC,EAAE,UAAU,CAAC,yBAAyB,CACrE,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;YACzB,MAAM,EAAE;gBACP,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM;gBACjC,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,gBAAgB;aAC1E;SACD,CAAC,CAAC;QACH,YAAY,qCAAiD,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, Is, type IComponent } from \"@twin.org/core\";\nimport { EngineModuleHelper } from \"@twin.org/engine-core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type {\n\tIPolicyEnforcementPointComponent,\n\tIPolicyEnforcementProcessor\n} from \"@twin.org/rights-management-models\";\nimport { PolicyEnforcementPointService } from \"@twin.org/rights-management-pep-service\";\nimport type { RightsManagementPepComponentConfig } from \"../models/config/rightsManagementPepComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPepComponentType } from \"../models/types/rightsManagementPepComponentType.js\";\n\n/**\n * Initialise the rights management PEP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPepComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPepComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyEnforcementPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPepComponentType.Service) {\n\t\tconst processorModules: { processorId: string; processor: IPolicyEnforcementProcessor }[] = [];\n\t\tif (Is.arrayValue(instanceConfig.options?.processorModulesConfig)) {\n\t\t\tfor (const moduleConfig of instanceConfig.options.processorModulesConfig) {\n\t\t\t\tprocessorModules.push({\n\t\t\t\t\tprocessorId: moduleConfig.id,\n\t\t\t\t\tprocessor: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tcomponent = new PolicyEnforcementPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyDecisionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPdpComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options?.config,\n\t\t\t\tprocessors: instanceConfig.options?.config?.processors ?? processorModules\n\t\t\t}\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyEnforcementPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPep.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPep.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,6BAA6B,CAChC,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,gCAAgC,EAAE,UAAU,CAAC,yBAAyB,CACrE,8BAA8B,CAC9B;YACD,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;YACD,kCAAkC,EAAE,UAAU,CAAC,yBAAyB,CACvE,8BAA8B,CAC9B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,qCAAiD,CAAC;IACnE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyEnforcementPointService } from \"@twin.org/rights-management-pep-service\";\nimport type { RightsManagementPepComponentConfig } from \"../models/config/rightsManagementPepComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPepComponentType } from \"../models/types/rightsManagementPepComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PEP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPepComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPepComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPepComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyEnforcementPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tpolicyDecisionPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPdpComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t\t\t\t),\n\t\t\t\t\t\tpolicyManagementPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPmpComponent\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyEnforcementPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  // Copyright 2024 IOTA Stiftung.
2
2
  // SPDX-License-Identifier: Apache-2.0.
3
- import { ComponentFactory, Is } from "@twin.org/core";
4
- import { EngineModuleHelper } from "@twin.org/engine-core";
3
+ import { ComponentFactory } from "@twin.org/core";
5
4
  import { PolicyInformationPointService } from "@twin.org/rights-management-pip-service";
6
5
  import { RightsManagementPipComponentType } from "../models/types/rightsManagementPipComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
7
7
  /**
8
8
  * Initialise the rights management PIP component.
9
9
  * @param engineCore The engine core.
@@ -11,32 +11,16 @@ import { RightsManagementPipComponentType } from "../models/types/rightsManageme
11
11
  * @param instanceConfig The instance config.
12
12
  * @returns The instance created and the factory for it.
13
13
  */
14
- export async function initialiseRightsManagementPipComponent(engineCore, context, instanceConfig) {
15
- let component;
16
- let instanceType;
14
+ export function initialiseRightsManagementPipComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
17
17
  if (instanceConfig.type === RightsManagementPipComponentType.Service) {
18
- const informationSourceModules = [];
19
- if (Is.arrayValue(instanceConfig.options?.informationModulesConfig)) {
20
- for (const moduleConfig of instanceConfig.options.informationModulesConfig) {
21
- informationSourceModules.push({
22
- sourceId: moduleConfig.id,
23
- source: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
24
- });
25
- }
26
- }
27
- component = new PolicyInformationPointService({
28
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
29
- ...instanceConfig.options,
30
- config: {
31
- ...instanceConfig.options?.config,
32
- sources: instanceConfig.options?.config?.sources ?? informationSourceModules
33
- }
34
- });
35
- instanceType = "policy-information-point-service";
18
+ createComponent = (createConfig) => new PolicyInformationPointService(EngineTypeHelper.mergeConfig({ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent") }, createConfig.options));
19
+ instanceTypeName = "policy-information-point-service";
36
20
  }
37
21
  return {
38
- component,
39
- instanceType,
22
+ createComponent: createComponent,
23
+ instanceTypeName,
40
24
  factory: ComponentFactory
41
25
  };
42
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPip.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPip.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAmB,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAO3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAuD,CAAC;IAC5D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,MAAM,wBAAwB,GAA6D,EAAE,CAAC;QAC9F,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,wBAAwB,CAAC,EAAE,CAAC;YACrE,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;gBAC5E,wBAAwB,CAAC,IAAI,CAAC;oBAC7B,QAAQ,EAAE,YAAY,CAAC,EAAE;oBACzB,MAAM,EAAE,MAAM,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;iBACxE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,SAAS,GAAG,IAAI,6BAA6B,CAAC;YAC7C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,GAAG,cAAc,CAAC,OAAO;YACzB,MAAM,EAAE;gBACP,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM;gBACjC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,wBAAwB;aAC5E;SACD,CAAC,CAAC;QACH,YAAY,qCAAiD,CAAC;IAC/D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, Is, type IComponent } from \"@twin.org/core\";\nimport { EngineModuleHelper } from \"@twin.org/engine-core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type {\n\tIPolicyInformationPointComponent,\n\tIPolicyInformationSource\n} from \"@twin.org/rights-management-models\";\nimport { PolicyInformationPointService } from \"@twin.org/rights-management-pip-service\";\nimport type { RightsManagementPipComponentConfig } from \"../models/config/rightsManagementPipComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPipComponentType } from \"../models/types/rightsManagementPipComponentType.js\";\n\n/**\n * Initialise the rights management PIP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPipComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPipComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyInformationPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPipComponentType.Service) {\n\t\tconst informationSourceModules: { sourceId: string; source: IPolicyInformationSource }[] = [];\n\t\tif (Is.arrayValue(instanceConfig.options?.informationModulesConfig)) {\n\t\t\tfor (const moduleConfig of instanceConfig.options.informationModulesConfig) {\n\t\t\t\tinformationSourceModules.push({\n\t\t\t\t\tsourceId: moduleConfig.id,\n\t\t\t\t\tsource: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tcomponent = new PolicyInformationPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t...instanceConfig.options,\n\t\t\tconfig: {\n\t\t\t\t...instanceConfig.options?.config,\n\t\t\t\tsources: instanceConfig.options?.config?.sources ?? informationSourceModules\n\t\t\t}\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyInformationPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPip.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPip.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAGxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,6BAA6B,CAChC,gBAAgB,CAAC,WAAW,CAC3B,EAAE,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,EAClF,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,qCAAiD,CAAC;IACnE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyInformationPointService } from \"@twin.org/rights-management-pip-service\";\nimport type { RightsManagementPipComponentConfig } from \"../models/config/rightsManagementPipComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPipComponentType } from \"../models/types/rightsManagementPipComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PIP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPipComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPipComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPipComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyInformationPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{ loggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\") },\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyInformationPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
@@ -3,6 +3,7 @@
3
3
  import { ComponentFactory } from "@twin.org/core";
4
4
  import { PolicyManagementPointService } from "@twin.org/rights-management-pmp-service";
5
5
  import { RightsManagementPmpComponentType } from "../models/types/rightsManagementPmpComponentType.js";
6
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
6
7
  /**
7
8
  * Initialise the rights management PMP component.
8
9
  * @param engineCore The engine core.
@@ -10,20 +11,19 @@ import { RightsManagementPmpComponentType } from "../models/types/rightsManageme
10
11
  * @param instanceConfig The instance config.
11
12
  * @returns The instance created and the factory for it.
12
13
  */
13
- export async function initialiseRightsManagementPmpComponent(engineCore, context, instanceConfig) {
14
- let component;
15
- let instanceType;
14
+ export function initialiseRightsManagementPmpComponent(engineCore, context, instanceConfig) {
15
+ let createComponent;
16
+ let instanceTypeName;
16
17
  if (instanceConfig.type === RightsManagementPmpComponentType.Service) {
17
- component = new PolicyManagementPointService({
18
+ createComponent = (createConfig) => new PolicyManagementPointService(EngineTypeHelper.mergeConfig({
18
19
  loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
19
- policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
20
- ...instanceConfig.options
21
- });
22
- instanceType = "policy-management-point-service";
20
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent")
21
+ }, createConfig.options));
22
+ instanceTypeName = "policy-management-point-service";
23
23
  }
24
24
  return {
25
- component,
26
- instanceType,
25
+ createComponent: createComponent,
26
+ instanceTypeName,
27
27
  factory: ComponentFactory
28
28
  };
29
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPmp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPmp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAInE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC3D,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAMlD,IAAI,SAAsD,CAAC;IAC3D,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,SAAS,GAAG,IAAI,4BAA4B,CAAC;YAC5C,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,oCAAgD,CAAC;IAC9D,CAAC;IAED,OAAO;QACN,SAAS;QACT,YAAY;QACZ,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type { IEngineCore, IEngineCoreContext } from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { IPolicyManagementPointComponent } from \"@twin.org/rights-management-models\";\nimport { PolicyManagementPointService } from \"@twin.org/rights-management-pmp-service\";\nimport type { RightsManagementPmpComponentConfig } from \"../models/config/rightsManagementPmpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPmpComponentType } from \"../models/types/rightsManagementPmpComponentType.js\";\n\n/**\n * Initialise the rights management PMP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport async function initialiseRightsManagementPmpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPmpComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyManagementPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPmpComponentType.Service) {\n\t\tcomponent = new PolicyManagementPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t),\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyManagementPointService);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPmp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPmp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAQlD,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAGvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AACvG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAAsC,EACtC,OAA0C,EAC1C,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,OAAO,EAAE,CAAC;QACtE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,4BAA4B,CAC/B,gBAAgB,CAAC,WAAW,CAC3B;YACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,oCAAgD,CAAC;IAClE,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,gBAAgB;KACzB,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ComponentFactory } from \"@twin.org/core\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport { PolicyManagementPointService } from \"@twin.org/rights-management-pmp-service\";\nimport type { RightsManagementPmpComponentConfig } from \"../models/config/rightsManagementPmpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPmpComponentType } from \"../models/types/rightsManagementPmpComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PMP component.\n * @param engineCore The engine core.\n * @param context The context for the engine.\n * @param instanceConfig The instance config.\n * @returns The instance created and the factory for it.\n */\nexport function initialiseRightsManagementPmpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPmpComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPmpComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyManagementPointService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\t\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t\t\t\t)\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyManagementPointService);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}