@twin.org/engine-types 0.0.3-next.3 → 0.0.3-next.31

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 (515) hide show
  1. package/README.md +1 -1
  2. package/dist/es/components/attestation.js +20 -22
  3. package/dist/es/components/attestation.js.map +1 -1
  4. package/dist/es/components/auditableItemGraph.js +26 -22
  5. package/dist/es/components/auditableItemGraph.js.map +1 -1
  6. package/dist/es/components/auditableItemStream.js +26 -22
  7. package/dist/es/components/auditableItemStream.js.map +1 -1
  8. package/dist/es/components/backgroundTask.js +18 -18
  9. package/dist/es/components/backgroundTask.js.map +1 -1
  10. package/dist/es/components/blobStorage.js +69 -80
  11. package/dist/es/components/blobStorage.js.map +1 -1
  12. package/dist/es/components/contextIdHandler.js +31 -0
  13. package/dist/es/components/contextIdHandler.js.map +1 -0
  14. package/dist/es/components/dataProcessing.js +33 -32
  15. package/dist/es/components/dataProcessing.js.map +1 -1
  16. package/dist/es/components/dataspaceControlPlane.js +54 -0
  17. package/dist/es/components/dataspaceControlPlane.js.map +1 -0
  18. package/dist/es/components/dataspaceDataPlane.js +58 -0
  19. package/dist/es/components/dataspaceDataPlane.js.map +1 -0
  20. package/dist/es/components/documentManagement.js +12 -12
  21. package/dist/es/components/documentManagement.js.map +1 -1
  22. package/dist/es/components/entityStorage.js +48 -47
  23. package/dist/es/components/entityStorage.js.map +1 -1
  24. package/dist/es/components/eventBus.js +19 -27
  25. package/dist/es/components/eventBus.js.map +1 -1
  26. package/dist/es/components/faucet.js +18 -18
  27. package/dist/es/components/faucet.js.map +1 -1
  28. package/dist/es/components/federatedCatalogue.js +14 -18
  29. package/dist/es/components/federatedCatalogue.js.map +1 -1
  30. package/dist/es/components/federatedCatalogueFilter.js +34 -0
  31. package/dist/es/components/federatedCatalogueFilter.js.map +1 -0
  32. package/dist/es/components/identity.js +28 -31
  33. package/dist/es/components/identity.js.map +1 -1
  34. package/dist/es/components/identityProfile.js +26 -24
  35. package/dist/es/components/identityProfile.js.map +1 -1
  36. package/dist/es/components/identityResolver.js +36 -40
  37. package/dist/es/components/identityResolver.js.map +1 -1
  38. package/dist/es/components/immutableProof.js +23 -20
  39. package/dist/es/components/immutableProof.js.map +1 -1
  40. package/dist/es/components/logging.js +28 -28
  41. package/dist/es/components/logging.js.map +1 -1
  42. package/dist/es/components/messaging.js +77 -89
  43. package/dist/es/components/messaging.js.map +1 -1
  44. package/dist/es/components/nft.js +33 -33
  45. package/dist/es/components/nft.js.map +1 -1
  46. package/dist/es/components/notarization.js +78 -0
  47. package/dist/es/components/notarization.js.map +1 -0
  48. package/dist/es/components/rightsManagementPap.js +17 -17
  49. package/dist/es/components/rightsManagementPap.js.map +1 -1
  50. package/dist/es/components/rightsManagementPdp.js +11 -25
  51. package/dist/es/components/rightsManagementPdp.js.map +1 -1
  52. package/dist/es/components/rightsManagementPep.js +12 -24
  53. package/dist/es/components/rightsManagementPep.js.map +1 -1
  54. package/dist/es/components/rightsManagementPip.js +9 -25
  55. package/dist/es/components/rightsManagementPip.js.map +1 -1
  56. package/dist/es/components/rightsManagementPmp.js +10 -10
  57. package/dist/es/components/rightsManagementPmp.js.map +1 -1
  58. package/dist/es/components/rightsManagementPnap.js +21 -18
  59. package/dist/es/components/rightsManagementPnap.js.map +1 -1
  60. package/dist/es/components/rightsManagementPnp.js +14 -36
  61. package/dist/es/components/rightsManagementPnp.js.map +1 -1
  62. package/dist/es/components/rightsManagementPolicyArbiter.js +32 -0
  63. package/dist/es/components/rightsManagementPolicyArbiter.js.map +1 -0
  64. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js +33 -0
  65. package/dist/es/components/rightsManagementPolicyEnforcementProcessor.js.map +1 -0
  66. package/dist/es/components/rightsManagementPolicyExecutionAction.js +25 -0
  67. package/dist/es/components/rightsManagementPolicyExecutionAction.js.map +1 -0
  68. package/dist/es/components/rightsManagementPolicyInformationSource.js +34 -0
  69. package/dist/es/components/rightsManagementPolicyInformationSource.js.map +1 -0
  70. package/dist/es/components/rightsManagementPolicyNegotiator.js +27 -0
  71. package/dist/es/components/rightsManagementPolicyNegotiator.js.map +1 -0
  72. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js +27 -0
  73. package/dist/es/components/rightsManagementPolicyObligationEnforcer.js.map +1 -0
  74. package/dist/es/components/rightsManagementPolicyRequester.js +25 -0
  75. package/dist/es/components/rightsManagementPolicyRequester.js.map +1 -0
  76. package/dist/es/components/rightsManagementPxp.js +9 -25
  77. package/dist/es/components/rightsManagementPxp.js.map +1 -1
  78. package/dist/es/components/synchronisedStorage.js +25 -23
  79. package/dist/es/components/synchronisedStorage.js.map +1 -1
  80. package/dist/es/components/taskScheduler.js +17 -11
  81. package/dist/es/components/taskScheduler.js.map +1 -1
  82. package/dist/es/components/telemetry.js +29 -32
  83. package/dist/es/components/telemetry.js.map +1 -1
  84. package/dist/es/components/tenant.js +12 -11
  85. package/dist/es/components/tenant.js.map +1 -1
  86. package/dist/es/components/trust.js +27 -0
  87. package/dist/es/components/trust.js.map +1 -0
  88. package/dist/es/components/trustGenerator.js +28 -0
  89. package/dist/es/components/trustGenerator.js.map +1 -0
  90. package/dist/es/components/trustVerifier.js +28 -0
  91. package/dist/es/components/trustVerifier.js.map +1 -0
  92. package/dist/es/components/vault.js +15 -12
  93. package/dist/es/components/vault.js.map +1 -1
  94. package/dist/es/components/verifiableStorage.js +32 -34
  95. package/dist/es/components/verifiableStorage.js.map +1 -1
  96. package/dist/es/components/wallet.js +23 -24
  97. package/dist/es/components/wallet.js.map +1 -1
  98. package/dist/es/index.js +49 -14
  99. package/dist/es/index.js.map +1 -1
  100. package/dist/es/models/IEngineConfig.js.map +1 -1
  101. package/dist/es/models/config/backgroundTaskComponentConfig.js +2 -0
  102. package/dist/es/models/config/backgroundTaskComponentConfig.js.map +1 -0
  103. package/dist/es/models/config/blobStorageConnectorConfig.js.map +1 -1
  104. package/dist/es/models/config/contextIdHandlerComponentConfig.js +2 -0
  105. package/dist/es/models/config/contextIdHandlerComponentConfig.js.map +1 -0
  106. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js +2 -0
  107. package/dist/es/models/config/dataspaceControlPlaneComponentConfig.js.map +1 -0
  108. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js +2 -0
  109. package/dist/es/models/config/dataspaceDataPlaneComponentConfig.js.map +1 -0
  110. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js +2 -0
  111. package/dist/es/models/config/federatedCatalogueFilterComponentConfig.js.map +1 -0
  112. package/dist/es/models/config/notarizationComponentConfig.js +2 -0
  113. package/dist/es/models/config/notarizationComponentConfig.js.map +1 -0
  114. package/dist/es/models/config/notarizationConnectorConfig.js +2 -0
  115. package/dist/es/models/config/notarizationConnectorConfig.js.map +1 -0
  116. package/dist/es/models/config/rightsManagementPdpComponentConfig.js.map +1 -1
  117. package/dist/es/models/config/rightsManagementPepComponentConfig.js.map +1 -1
  118. package/dist/es/models/config/rightsManagementPipComponentConfig.js.map +1 -1
  119. package/dist/es/models/config/rightsManagementPnpComponentConfig.js.map +1 -1
  120. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js +2 -0
  121. package/dist/es/models/config/rightsManagementPolicyArbiterComponentConfig.js.map +1 -0
  122. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js +2 -0
  123. package/dist/es/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.js.map +1 -0
  124. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js +2 -0
  125. package/dist/es/models/config/rightsManagementPolicyExecutionActionComponentConfig.js.map +1 -0
  126. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js +2 -0
  127. package/dist/es/models/config/rightsManagementPolicyInformationSourceComponentConfig.js.map +1 -0
  128. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js +2 -0
  129. package/dist/es/models/config/rightsManagementPolicyNegotiatorComponentConfig.js.map +1 -0
  130. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js +2 -0
  131. package/dist/es/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.js.map +1 -0
  132. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js +2 -0
  133. package/dist/es/models/config/rightsManagementPolicyRequesterComponentConfig.js.map +1 -0
  134. package/dist/es/models/config/rightsManagementPxpComponentConfig.js.map +1 -1
  135. package/dist/es/models/config/trustComponentConfig.js +2 -0
  136. package/dist/es/models/config/trustComponentConfig.js.map +1 -0
  137. package/dist/es/models/config/trustGeneratorComponentConfig.js +2 -0
  138. package/dist/es/models/config/trustGeneratorComponentConfig.js.map +1 -0
  139. package/dist/es/models/config/trustVerifierComponentConfig.js +2 -0
  140. package/dist/es/models/config/trustVerifierComponentConfig.js.map +1 -0
  141. package/dist/es/models/types/{rightsManagementDarpComponentType.js → backgroundTaskComponentType.js} +3 -3
  142. package/dist/es/models/types/backgroundTaskComponentType.js.map +1 -0
  143. package/dist/es/models/types/contextIdHandlerComponentType.js +17 -0
  144. package/dist/es/models/types/contextIdHandlerComponentType.js.map +1 -0
  145. package/dist/es/models/types/dataspaceControlPlaneComponentType.js +17 -0
  146. package/dist/es/models/types/dataspaceControlPlaneComponentType.js.map +1 -0
  147. package/dist/es/models/types/{dataSpaceConnectorComponentType.js → dataspaceDataPlaneComponentType.js} +4 -4
  148. package/dist/es/models/types/dataspaceDataPlaneComponentType.js.map +1 -0
  149. package/dist/es/models/types/federatedCatalogueFilterComponentType.js +13 -0
  150. package/dist/es/models/types/federatedCatalogueFilterComponentType.js.map +1 -0
  151. package/dist/es/models/types/{rightsManagementDapComponentType.js → notarizationComponentType.js} +4 -4
  152. package/dist/es/models/types/notarizationComponentType.js.map +1 -0
  153. package/dist/es/models/types/notarizationConnectorType.js +17 -0
  154. package/dist/es/models/types/notarizationConnectorType.js.map +1 -0
  155. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js +17 -0
  156. package/dist/es/models/types/rightsManagementPolicyArbiterComponentType.js.map +1 -0
  157. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js +17 -0
  158. package/dist/es/models/types/rightsManagementPolicyEnforcementProcessorComponentType.js.map +1 -0
  159. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js +13 -0
  160. package/dist/es/models/types/rightsManagementPolicyExecutionActionComponentType.js.map +1 -0
  161. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js +17 -0
  162. package/dist/es/models/types/rightsManagementPolicyInformationSourceComponentType.js.map +1 -0
  163. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js +13 -0
  164. package/dist/es/models/types/rightsManagementPolicyNegotiatorComponentType.js.map +1 -0
  165. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js +13 -0
  166. package/dist/es/models/types/rightsManagementPolicyObligationEnforcerComponentType.js.map +1 -0
  167. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js +13 -0
  168. package/dist/es/models/types/rightsManagementPolicyRequesterComponentType.js.map +1 -0
  169. package/dist/es/models/types/trustComponentType.js +13 -0
  170. package/dist/es/models/types/trustComponentType.js.map +1 -0
  171. package/dist/es/models/types/trustGeneratorComponentType.js +13 -0
  172. package/dist/es/models/types/trustGeneratorComponentType.js.map +1 -0
  173. package/dist/es/models/types/trustVerifierComponentType.js +13 -0
  174. package/dist/es/models/types/trustVerifierComponentType.js.map +1 -0
  175. package/dist/es/utils/engineTypeHelper.js +19 -1
  176. package/dist/es/utils/engineTypeHelper.js.map +1 -1
  177. package/dist/types/components/attestation.d.ts +5 -13
  178. package/dist/types/components/auditableItemGraph.d.ts +3 -7
  179. package/dist/types/components/auditableItemStream.d.ts +3 -7
  180. package/dist/types/components/backgroundTask.d.ts +5 -10
  181. package/dist/types/components/blobStorage.d.ts +4 -12
  182. package/dist/types/components/contextIdHandler.d.ts +12 -0
  183. package/dist/types/components/dataProcessing.d.ts +5 -17
  184. package/dist/types/components/dataspaceControlPlane.d.ts +12 -0
  185. package/dist/types/components/dataspaceDataPlane.d.ts +12 -0
  186. package/dist/types/components/documentManagement.d.ts +3 -7
  187. package/dist/types/components/entityStorage.d.ts +4 -9
  188. package/dist/types/components/eventBus.d.ts +4 -12
  189. package/dist/types/components/faucet.d.ts +2 -7
  190. package/dist/types/components/federatedCatalogue.d.ts +3 -7
  191. package/dist/types/components/federatedCatalogueFilter.d.ts +12 -0
  192. package/dist/types/components/identity.d.ts +4 -12
  193. package/dist/types/components/identityProfile.d.ts +4 -12
  194. package/dist/types/components/identityResolver.d.ts +4 -12
  195. package/dist/types/components/immutableProof.d.ts +3 -7
  196. package/dist/types/components/logging.d.ts +4 -12
  197. package/dist/types/components/messaging.d.ts +7 -27
  198. package/dist/types/components/nft.d.ts +4 -12
  199. package/dist/types/components/notarization.d.ts +22 -0
  200. package/dist/types/components/rightsManagementPap.d.ts +3 -7
  201. package/dist/types/components/rightsManagementPdp.d.ts +3 -7
  202. package/dist/types/components/rightsManagementPep.d.ts +3 -7
  203. package/dist/types/components/rightsManagementPip.d.ts +3 -7
  204. package/dist/types/components/rightsManagementPmp.d.ts +3 -7
  205. package/dist/types/components/rightsManagementPnap.d.ts +3 -7
  206. package/dist/types/components/rightsManagementPnp.d.ts +3 -7
  207. package/dist/types/components/rightsManagementPolicyArbiter.d.ts +12 -0
  208. package/dist/types/components/rightsManagementPolicyEnforcementProcessor.d.ts +12 -0
  209. package/dist/types/components/rightsManagementPolicyExecutionAction.d.ts +12 -0
  210. package/dist/types/components/rightsManagementPolicyInformationSource.d.ts +12 -0
  211. package/dist/types/components/rightsManagementPolicyNegotiator.d.ts +12 -0
  212. package/dist/types/components/rightsManagementPolicyObligationEnforcer.d.ts +12 -0
  213. package/dist/types/components/rightsManagementPolicyRequester.d.ts +12 -0
  214. package/dist/types/components/rightsManagementPxp.d.ts +3 -7
  215. package/dist/types/components/synchronisedStorage.d.ts +3 -7
  216. package/dist/types/components/taskScheduler.d.ts +3 -7
  217. package/dist/types/components/telemetry.d.ts +4 -12
  218. package/dist/types/components/tenant.d.ts +3 -7
  219. package/dist/types/components/trust.d.ts +12 -0
  220. package/dist/types/components/trustGenerator.d.ts +12 -0
  221. package/dist/types/components/trustVerifier.d.ts +12 -0
  222. package/dist/types/components/vault.d.ts +2 -7
  223. package/dist/types/components/verifiableStorage.d.ts +4 -12
  224. package/dist/types/components/wallet.d.ts +2 -7
  225. package/dist/types/index.d.ts +49 -14
  226. package/dist/types/models/IEngineConfig.d.ts +75 -15
  227. package/dist/types/models/config/backgroundTaskComponentConfig.d.ts +9 -0
  228. package/dist/types/models/config/blobStorageConnectorConfig.d.ts +4 -1
  229. package/dist/types/models/config/contextIdHandlerComponentConfig.d.ts +11 -0
  230. package/dist/types/models/config/dataspaceControlPlaneComponentConfig.d.ts +13 -0
  231. package/dist/types/models/config/dataspaceDataPlaneComponentConfig.d.ts +17 -0
  232. package/dist/types/models/config/federatedCatalogueFilterComponentConfig.d.ts +9 -0
  233. package/dist/types/models/config/notarizationComponentConfig.d.ts +13 -0
  234. package/dist/types/models/config/notarizationConnectorConfig.d.ts +13 -0
  235. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +1 -4
  236. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +1 -4
  237. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +1 -4
  238. package/dist/types/models/config/rightsManagementPnpComponentConfig.d.ts +1 -5
  239. package/dist/types/models/config/rightsManagementPolicyArbiterComponentConfig.d.ts +12 -0
  240. package/dist/types/models/config/rightsManagementPolicyEnforcementProcessorComponentConfig.d.ts +12 -0
  241. package/dist/types/models/config/rightsManagementPolicyExecutionActionComponentConfig.d.ts +9 -0
  242. package/dist/types/models/config/rightsManagementPolicyInformationSourceComponentConfig.d.ts +12 -0
  243. package/dist/types/models/config/rightsManagementPolicyNegotiatorComponentConfig.d.ts +9 -0
  244. package/dist/types/models/config/rightsManagementPolicyObligationEnforcerComponentConfig.d.ts +9 -0
  245. package/dist/types/models/config/rightsManagementPolicyRequesterComponentConfig.d.ts +9 -0
  246. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +1 -4
  247. package/dist/types/models/config/trustComponentConfig.d.ts +9 -0
  248. package/dist/types/models/config/trustGeneratorComponentConfig.d.ts +9 -0
  249. package/dist/types/models/config/trustVerifierComponentConfig.d.ts +9 -0
  250. package/dist/types/models/types/backgroundTaskComponentType.d.ts +13 -0
  251. package/dist/types/models/types/contextIdHandlerComponentType.d.ts +17 -0
  252. package/dist/types/models/types/dataspaceControlPlaneComponentType.d.ts +17 -0
  253. package/dist/types/models/types/dataspaceDataPlaneComponentType.d.ts +21 -0
  254. package/dist/types/models/types/federatedCatalogueFilterComponentType.d.ts +13 -0
  255. package/dist/types/models/types/notarizationComponentType.d.ts +17 -0
  256. package/dist/types/models/types/notarizationConnectorType.d.ts +17 -0
  257. package/dist/types/models/types/rightsManagementPolicyArbiterComponentType.d.ts +17 -0
  258. package/dist/types/models/types/rightsManagementPolicyEnforcementProcessorComponentType.d.ts +17 -0
  259. package/dist/types/models/types/rightsManagementPolicyExecutionActionComponentType.d.ts +13 -0
  260. package/dist/types/models/types/rightsManagementPolicyInformationSourceComponentType.d.ts +17 -0
  261. package/dist/types/models/types/rightsManagementPolicyNegotiatorComponentType.d.ts +13 -0
  262. package/dist/types/models/types/rightsManagementPolicyObligationEnforcerComponentType.d.ts +13 -0
  263. package/dist/types/models/types/rightsManagementPolicyRequesterComponentType.d.ts +13 -0
  264. package/dist/types/models/types/trustComponentType.d.ts +13 -0
  265. package/dist/types/models/types/trustGeneratorComponentType.d.ts +13 -0
  266. package/dist/types/models/types/trustVerifierComponentType.d.ts +13 -0
  267. package/dist/types/utils/engineTypeHelper.d.ts +11 -0
  268. package/docs/changelog.md +516 -1
  269. package/docs/examples.md +74 -1
  270. package/docs/reference/classes/EngineTypeHelper.md +57 -4
  271. package/docs/reference/functions/initialiseAttestationComponent.md +2 -2
  272. package/docs/reference/functions/initialiseAttestationConnector.md +3 -3
  273. package/docs/reference/functions/initialiseAuditableItemGraphComponent.md +2 -2
  274. package/docs/reference/functions/initialiseAuditableItemStreamComponent.md +2 -2
  275. package/docs/reference/functions/initialiseBackgroundTaskComponent.md +31 -0
  276. package/docs/reference/functions/initialiseBlobStorageComponent.md +2 -2
  277. package/docs/reference/functions/initialiseBlobStorageConnector.md +2 -2
  278. package/docs/reference/functions/initialiseContextIdHandlerComponent.md +31 -0
  279. package/docs/reference/functions/initialiseDataConverterConnector.md +2 -2
  280. package/docs/reference/functions/initialiseDataExtractorConnector.md +2 -2
  281. package/docs/reference/functions/initialiseDataProcessingComponent.md +2 -2
  282. package/docs/reference/functions/initialiseDataspaceControlPlaneComponent.md +31 -0
  283. package/docs/reference/functions/initialiseDataspaceDataPlaneComponent.md +31 -0
  284. package/docs/reference/functions/initialiseDocumentManagementComponent.md +2 -2
  285. package/docs/reference/functions/initialiseEntityStorageComponent.md +2 -2
  286. package/docs/reference/functions/initialiseEntityStorageConnector.md +4 -6
  287. package/docs/reference/functions/initialiseEventBusComponent.md +2 -2
  288. package/docs/reference/functions/initialiseEventBusConnector.md +2 -2
  289. package/docs/reference/functions/initialiseFaucetConnector.md +2 -2
  290. package/docs/reference/functions/initialiseFederatedCatalogueComponent.md +2 -2
  291. package/docs/reference/functions/initialiseFederatedCatalogueFilterComponent.md +31 -0
  292. package/docs/reference/functions/initialiseIdentityComponent.md +2 -2
  293. package/docs/reference/functions/initialiseIdentityConnector.md +2 -2
  294. package/docs/reference/functions/initialiseIdentityProfileComponent.md +2 -2
  295. package/docs/reference/functions/initialiseIdentityProfileConnector.md +2 -2
  296. package/docs/reference/functions/initialiseIdentityResolverComponent.md +2 -2
  297. package/docs/reference/functions/initialiseIdentityResolverConnector.md +2 -2
  298. package/docs/reference/functions/initialiseImmutableProofComponent.md +2 -2
  299. package/docs/reference/functions/initialiseLoggingComponent.md +2 -2
  300. package/docs/reference/functions/initialiseLoggingConnector.md +2 -2
  301. package/docs/reference/functions/initialiseMessagingAdminComponent.md +2 -2
  302. package/docs/reference/functions/initialiseMessagingComponent.md +2 -2
  303. package/docs/reference/functions/initialiseMessagingEmailConnector.md +2 -2
  304. package/docs/reference/functions/initialiseMessagingPushNotificationConnector.md +2 -2
  305. package/docs/reference/functions/initialiseMessagingSmsConnector.md +2 -2
  306. package/docs/reference/functions/initialiseNftComponent.md +2 -2
  307. package/docs/reference/functions/initialiseNftConnector.md +2 -2
  308. package/docs/reference/functions/initialiseNotarizationComponent.md +31 -0
  309. package/docs/reference/functions/initialiseNotarizationConnector.md +31 -0
  310. package/docs/reference/functions/initialiseRightsManagementPapComponent.md +2 -2
  311. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +2 -2
  312. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +2 -2
  313. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +2 -2
  314. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +2 -2
  315. package/docs/reference/functions/initialiseRightsManagementPnapComponent.md +2 -2
  316. package/docs/reference/functions/initialiseRightsManagementPnpComponent.md +2 -2
  317. package/docs/reference/functions/initialiseRightsManagementPolicyArbiterComponent.md +31 -0
  318. package/docs/reference/functions/initialiseRightsManagementPolicyEnforcementProcessorComponent.md +31 -0
  319. package/docs/reference/functions/initialiseRightsManagementPolicyExecutionActionComponent.md +31 -0
  320. package/docs/reference/functions/initialiseRightsManagementPolicyInformationSourceComponent.md +31 -0
  321. package/docs/reference/functions/initialiseRightsManagementPolicyNegotiatorComponent.md +31 -0
  322. package/docs/reference/functions/initialiseRightsManagementPolicyObligationEnforcerComponent.md +31 -0
  323. package/docs/reference/functions/initialiseRightsManagementPolicyRequesterComponent.md +31 -0
  324. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +2 -2
  325. package/docs/reference/functions/initialiseSynchronisedStorageComponent.md +2 -2
  326. package/docs/reference/functions/initialiseTaskSchedulerComponent.md +2 -2
  327. package/docs/reference/functions/initialiseTelemetryComponent.md +2 -2
  328. package/docs/reference/functions/initialiseTelemetryConnector.md +2 -2
  329. package/docs/reference/functions/initialiseTenantAdminComponent.md +2 -2
  330. package/docs/reference/functions/initialiseTrustComponent.md +31 -0
  331. package/docs/reference/functions/initialiseTrustGeneratorComponent.md +31 -0
  332. package/docs/reference/functions/initialiseTrustVerifierComponent.md +31 -0
  333. package/docs/reference/functions/initialiseVaultConnector.md +2 -2
  334. package/docs/reference/functions/initialiseVerifiableStorageComponent.md +2 -2
  335. package/docs/reference/functions/initialiseVerifiableStorageConnector.md +2 -2
  336. package/docs/reference/functions/initialiseWalletConnector.md +2 -2
  337. package/docs/reference/index.md +68 -20
  338. package/docs/reference/interfaces/IEngineConfig.md +175 -67
  339. package/docs/reference/type-aliases/AttestationConnectorConfig.md +3 -3
  340. package/docs/reference/type-aliases/BackgroundTaskComponentConfig.md +17 -0
  341. package/docs/reference/type-aliases/BackgroundTaskComponentType.md +5 -0
  342. package/docs/reference/type-aliases/BlobStorageConnectorConfig.md +1 -1
  343. package/docs/reference/type-aliases/ContextIdHandlerComponentConfig.md +5 -0
  344. package/docs/reference/type-aliases/ContextIdHandlerComponentType.md +5 -0
  345. package/docs/reference/type-aliases/DataExtractorConnectorConfig.md +3 -3
  346. package/docs/reference/type-aliases/DataspaceControlPlaneComponentConfig.md +5 -0
  347. package/docs/reference/type-aliases/DataspaceControlPlaneComponentType.md +5 -0
  348. package/docs/reference/type-aliases/DataspaceDataPlaneComponentConfig.md +5 -0
  349. package/docs/reference/type-aliases/DataspaceDataPlaneComponentType.md +5 -0
  350. package/docs/reference/type-aliases/DltConfig.md +4 -4
  351. package/docs/reference/type-aliases/EventBusConnectorConfig.md +3 -3
  352. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentConfig.md +17 -0
  353. package/docs/reference/type-aliases/FederatedCatalogueFilterComponentType.md +5 -0
  354. package/docs/reference/type-aliases/IdentityProfileConnectorConfig.md +3 -3
  355. package/docs/reference/type-aliases/MessagingAdminComponentConfig.md +3 -3
  356. package/docs/reference/type-aliases/MessagingComponentConfig.md +3 -3
  357. package/docs/reference/type-aliases/NotarizationComponentConfig.md +5 -0
  358. package/docs/reference/type-aliases/NotarizationComponentType.md +5 -0
  359. package/docs/reference/type-aliases/NotarizationConnectorConfig.md +5 -0
  360. package/docs/reference/type-aliases/NotarizationConnectorType.md +5 -0
  361. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +3 -9
  362. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +3 -9
  363. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +3 -9
  364. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +3 -3
  365. package/docs/reference/type-aliases/RightsManagementPnpComponentConfig.md +1 -1
  366. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentConfig.md +5 -0
  367. package/docs/reference/type-aliases/RightsManagementPolicyArbiterComponentType.md +5 -0
  368. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentConfig.md +5 -0
  369. package/docs/reference/type-aliases/RightsManagementPolicyEnforcementProcessorComponentType.md +5 -0
  370. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentConfig.md +17 -0
  371. package/docs/reference/type-aliases/RightsManagementPolicyExecutionActionComponentType.md +5 -0
  372. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentConfig.md +5 -0
  373. package/docs/reference/type-aliases/RightsManagementPolicyInformationSourceComponentType.md +5 -0
  374. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentConfig.md +17 -0
  375. package/docs/reference/type-aliases/RightsManagementPolicyNegotiatorComponentType.md +5 -0
  376. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentConfig.md +17 -0
  377. package/docs/reference/type-aliases/RightsManagementPolicyObligationEnforcerComponentType.md +5 -0
  378. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentConfig.md +17 -0
  379. package/docs/reference/type-aliases/RightsManagementPolicyRequesterComponentType.md +5 -0
  380. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +3 -9
  381. package/docs/reference/type-aliases/TaskSchedulerComponentConfig.md +3 -3
  382. package/docs/reference/type-aliases/TelemetryConnectorConfig.md +3 -3
  383. package/docs/reference/type-aliases/TenantAdminComponentConfig.md +3 -3
  384. package/docs/reference/type-aliases/TrustComponentConfig.md +17 -0
  385. package/docs/reference/type-aliases/TrustComponentType.md +5 -0
  386. package/docs/reference/type-aliases/TrustGeneratorComponentConfig.md +17 -0
  387. package/docs/reference/type-aliases/TrustGeneratorComponentType.md +5 -0
  388. package/docs/reference/type-aliases/TrustVerifierComponentConfig.md +17 -0
  389. package/docs/reference/type-aliases/TrustVerifierComponentType.md +5 -0
  390. package/docs/reference/variables/AttestationComponentType.md +2 -2
  391. package/docs/reference/variables/AttestationConnectorType.md +1 -1
  392. package/docs/reference/variables/AuditableItemGraphComponentType.md +2 -2
  393. package/docs/reference/variables/AuditableItemStreamComponentType.md +2 -2
  394. package/docs/reference/variables/BackgroundTaskComponentType.md +13 -0
  395. package/docs/reference/variables/BlobStorageComponentType.md +2 -2
  396. package/docs/reference/variables/BlobStorageConnectorType.md +6 -6
  397. package/docs/reference/variables/ContextIdHandlerComponentType.md +19 -0
  398. package/docs/reference/variables/DataConverterConnectorType.md +2 -2
  399. package/docs/reference/variables/DataExtractorConnectorType.md +1 -1
  400. package/docs/reference/variables/DataProcessingComponentType.md +2 -2
  401. package/docs/reference/variables/DataspaceControlPlaneComponentType.md +19 -0
  402. package/docs/reference/variables/{DataSpaceConnectorComponentType.md → DataspaceDataPlaneComponentType.md} +6 -6
  403. package/docs/reference/variables/DltConfigType.md +1 -1
  404. package/docs/reference/variables/DocumentManagementComponentType.md +2 -2
  405. package/docs/reference/variables/EntityStorageComponentType.md +2 -2
  406. package/docs/reference/variables/EntityStorageConnectorType.md +10 -10
  407. package/docs/reference/variables/EventBusComponentType.md +2 -2
  408. package/docs/reference/variables/EventBusConnectorType.md +1 -1
  409. package/docs/reference/variables/FaucetConnectorType.md +2 -2
  410. package/docs/reference/variables/FederatedCatalogueComponentType.md +2 -2
  411. package/docs/reference/variables/FederatedCatalogueFilterComponentType.md +13 -0
  412. package/docs/reference/variables/IdentityComponentType.md +2 -2
  413. package/docs/reference/variables/IdentityConnectorType.md +2 -2
  414. package/docs/reference/variables/IdentityProfileComponentType.md +2 -2
  415. package/docs/reference/variables/IdentityProfileConnectorType.md +1 -1
  416. package/docs/reference/variables/IdentityResolverComponentType.md +2 -2
  417. package/docs/reference/variables/IdentityResolverConnectorType.md +3 -3
  418. package/docs/reference/variables/ImmutableProofComponentType.md +2 -2
  419. package/docs/reference/variables/LoggingComponentType.md +2 -2
  420. package/docs/reference/variables/LoggingConnectorType.md +3 -3
  421. package/docs/reference/variables/MessagingAdminComponentType.md +1 -1
  422. package/docs/reference/variables/MessagingComponentType.md +1 -1
  423. package/docs/reference/variables/MessagingEmailConnectorType.md +2 -2
  424. package/docs/reference/variables/MessagingPushNotificationConnectorType.md +2 -2
  425. package/docs/reference/variables/MessagingSmsConnectorType.md +2 -2
  426. package/docs/reference/variables/NftComponentType.md +2 -2
  427. package/docs/reference/variables/NftConnectorType.md +2 -2
  428. package/docs/reference/variables/NotarizationComponentType.md +19 -0
  429. package/docs/reference/variables/NotarizationConnectorType.md +19 -0
  430. package/docs/reference/variables/RightsManagementPapComponentType.md +2 -2
  431. package/docs/reference/variables/RightsManagementPdpComponentType.md +1 -1
  432. package/docs/reference/variables/RightsManagementPepComponentType.md +2 -2
  433. package/docs/reference/variables/RightsManagementPipComponentType.md +1 -1
  434. package/docs/reference/variables/RightsManagementPmpComponentType.md +1 -1
  435. package/docs/reference/variables/RightsManagementPnapComponentType.md +2 -2
  436. package/docs/reference/variables/RightsManagementPnpComponentType.md +2 -2
  437. package/docs/reference/variables/RightsManagementPolicyArbiterComponentType.md +19 -0
  438. package/docs/reference/variables/RightsManagementPolicyEnforcementProcessorComponentType.md +19 -0
  439. package/docs/reference/variables/RightsManagementPolicyExecutionActionComponentType.md +13 -0
  440. package/docs/reference/variables/RightsManagementPolicyInformationSourceComponentType.md +19 -0
  441. package/docs/reference/variables/RightsManagementPolicyNegotiatorComponentType.md +13 -0
  442. package/docs/reference/variables/RightsManagementPolicyObligationEnforcerComponentType.md +13 -0
  443. package/docs/reference/variables/RightsManagementPolicyRequesterComponentType.md +13 -0
  444. package/docs/reference/variables/RightsManagementPxpComponentType.md +1 -1
  445. package/docs/reference/variables/SynchronisedStorageComponentType.md +2 -2
  446. package/docs/reference/variables/TaskSchedulerComponentType.md +1 -1
  447. package/docs/reference/variables/TelemetryComponentType.md +2 -2
  448. package/docs/reference/variables/TelemetryConnectorType.md +1 -1
  449. package/docs/reference/variables/TenantAdminComponentType.md +1 -1
  450. package/docs/reference/variables/TrustComponentType.md +13 -0
  451. package/docs/reference/variables/TrustGeneratorComponentType.md +13 -0
  452. package/docs/reference/variables/TrustVerifierComponentType.md +13 -0
  453. package/docs/reference/variables/VaultConnectorType.md +2 -2
  454. package/docs/reference/variables/VerifiableStorageComponentType.md +2 -2
  455. package/docs/reference/variables/VerifiableStorageConnectorType.md +2 -2
  456. package/docs/reference/variables/WalletConnectorType.md +2 -2
  457. package/package.json +22 -10
  458. package/dist/es/components/authenticationGenerator.js +0 -30
  459. package/dist/es/components/authenticationGenerator.js.map +0 -1
  460. package/dist/es/components/dataSpaceConnector.js +0 -52
  461. package/dist/es/components/dataSpaceConnector.js.map +0 -1
  462. package/dist/es/components/rightsManagementDap.js +0 -38
  463. package/dist/es/components/rightsManagementDap.js.map +0 -1
  464. package/dist/es/components/rightsManagementDarp.js +0 -29
  465. package/dist/es/components/rightsManagementDarp.js.map +0 -1
  466. package/dist/es/models/config/authenticationGeneratorComponentConfig.js +0 -2
  467. package/dist/es/models/config/authenticationGeneratorComponentConfig.js.map +0 -1
  468. package/dist/es/models/config/backgroundTaskConnectorConfig.js +0 -2
  469. package/dist/es/models/config/backgroundTaskConnectorConfig.js.map +0 -1
  470. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js +0 -2
  471. package/dist/es/models/config/dataSpaceConnectorComponentConfig.js.map +0 -1
  472. package/dist/es/models/config/rightsManagementDapComponentConfig.js +0 -2
  473. package/dist/es/models/config/rightsManagementDapComponentConfig.js.map +0 -1
  474. package/dist/es/models/config/rightsManagementDarpComponentConfig.js +0 -2
  475. package/dist/es/models/config/rightsManagementDarpComponentConfig.js.map +0 -1
  476. package/dist/es/models/types/authenticationGeneratorComponentType.js +0 -13
  477. package/dist/es/models/types/authenticationGeneratorComponentType.js.map +0 -1
  478. package/dist/es/models/types/backgroundTaskConnectorType.js +0 -13
  479. package/dist/es/models/types/backgroundTaskConnectorType.js.map +0 -1
  480. package/dist/es/models/types/dataSpaceConnectorComponentType.js.map +0 -1
  481. package/dist/es/models/types/rightsManagementDapComponentType.js.map +0 -1
  482. package/dist/es/models/types/rightsManagementDarpComponentType.js.map +0 -1
  483. package/dist/types/components/authenticationGenerator.d.ts +0 -17
  484. package/dist/types/components/dataSpaceConnector.d.ts +0 -16
  485. package/dist/types/components/rightsManagementDap.d.ts +0 -16
  486. package/dist/types/components/rightsManagementDarp.d.ts +0 -16
  487. package/dist/types/models/config/authenticationGeneratorComponentConfig.d.ts +0 -9
  488. package/dist/types/models/config/backgroundTaskConnectorConfig.d.ts +0 -9
  489. package/dist/types/models/config/dataSpaceConnectorComponentConfig.d.ts +0 -17
  490. package/dist/types/models/config/rightsManagementDapComponentConfig.d.ts +0 -16
  491. package/dist/types/models/config/rightsManagementDarpComponentConfig.d.ts +0 -12
  492. package/dist/types/models/types/authenticationGeneratorComponentType.d.ts +0 -13
  493. package/dist/types/models/types/backgroundTaskConnectorType.d.ts +0 -13
  494. package/dist/types/models/types/dataSpaceConnectorComponentType.d.ts +0 -21
  495. package/dist/types/models/types/rightsManagementDapComponentType.d.ts +0 -17
  496. package/dist/types/models/types/rightsManagementDarpComponentType.d.ts +0 -13
  497. package/docs/reference/functions/initialiseAuthenticationGeneratorComponent.md +0 -31
  498. package/docs/reference/functions/initialiseBackgroundTaskConnector.md +0 -31
  499. package/docs/reference/functions/initialiseDataSpaceConnectorComponent.md +0 -31
  500. package/docs/reference/functions/initialiseRightsManagementDapComponent.md +0 -31
  501. package/docs/reference/functions/initialiseRightsManagementDarpComponent.md +0 -31
  502. package/docs/reference/type-aliases/AuthenticationGeneratorComponentConfig.md +0 -17
  503. package/docs/reference/type-aliases/AuthenticationGeneratorComponentType.md +0 -5
  504. package/docs/reference/type-aliases/BackgroundTaskConnectorConfig.md +0 -17
  505. package/docs/reference/type-aliases/BackgroundTaskConnectorType.md +0 -5
  506. package/docs/reference/type-aliases/DataSpaceConnectorComponentConfig.md +0 -5
  507. package/docs/reference/type-aliases/DataSpaceConnectorComponentType.md +0 -5
  508. package/docs/reference/type-aliases/RightsManagementDapComponentConfig.md +0 -5
  509. package/docs/reference/type-aliases/RightsManagementDapComponentType.md +0 -5
  510. package/docs/reference/type-aliases/RightsManagementDarpComponentConfig.md +0 -23
  511. package/docs/reference/type-aliases/RightsManagementDarpComponentType.md +0 -5
  512. package/docs/reference/variables/AuthenticationGeneratorComponentType.md +0 -13
  513. package/docs/reference/variables/BackgroundTaskConnectorType.md +0 -13
  514. package/docs/reference/variables/RightsManagementDapComponentType.md +0 -19
  515. package/docs/reference/variables/RightsManagementDarpComponentType.md +0 -13
@@ -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"]}
@@ -6,6 +6,7 @@ import { PolicyNegotiationAdminPointService, initSchema as initSchemaRightsManag
6
6
  import { PolicyNegotiationAdminPointRestClient } from "@twin.org/rights-management-rest-client";
7
7
  import { initialiseEntityStorageConnector } from "./entityStorage.js";
8
8
  import { RightsManagementPnapComponentType } from "../models/types/rightsManagementPnapComponentType.js";
9
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
9
10
  /**
10
11
  * Initialise the rights management PNAP component.
11
12
  * @param engineCore The engine core.
@@ -13,29 +14,31 @@ import { RightsManagementPnapComponentType } from "../models/types/rightsManagem
13
14
  * @param instanceConfig The instance config.
14
15
  * @returns The instance created and the factory for it.
15
16
  */
16
- export async function initialiseRightsManagementPnapComponent(engineCore, context, instanceConfig) {
17
- let component;
18
- let instanceType;
17
+ export function initialiseRightsManagementPnapComponent(engineCore, context, instanceConfig) {
18
+ let createComponent;
19
+ let instanceTypeName;
19
20
  if (instanceConfig.type === RightsManagementPnapComponentType.Service) {
20
- initSchemaRightsManagementPnap();
21
- const partitionContextIds = ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant]);
22
- initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.policyNegotiationEntityStorageType, "PolicyNegotiation", partitionContextIds);
23
- component = new PolicyNegotiationAdminPointService({
24
- loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
25
- taskSchedulerComponentType: engineCore.getRegisteredInstanceType("taskSchedulerComponent"),
26
- policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
27
- partitionContextIds,
28
- ...instanceConfig.options
29
- });
30
- instanceType = "policy-negotiation-admin-point-service";
21
+ createComponent = (createConfig) => {
22
+ initSchemaRightsManagementPnap();
23
+ const partitionContextIds = ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node, ContextIdKeys.Tenant]);
24
+ initialiseEntityStorageConnector(engineCore, context, createConfig.options?.policyNegotiationEntityStorageType, "PolicyNegotiation", partitionContextIds);
25
+ return new PolicyNegotiationAdminPointService(EngineTypeHelper.mergeConfig({
26
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
27
+ taskSchedulerComponentType: engineCore.getRegisteredInstanceType("taskSchedulerComponent"),
28
+ policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
29
+ tenantAdminType: engineCore.getRegisteredInstanceTypeOptional("tenantAdminComponent"),
30
+ partitionContextIds
31
+ }, createConfig.options));
32
+ };
33
+ instanceTypeName = "policy-negotiation-admin-point-service";
31
34
  }
32
35
  else if (instanceConfig.type === RightsManagementPnapComponentType.RestClient) {
33
- component = new PolicyNegotiationAdminPointRestClient(instanceConfig.options);
34
- instanceType = "policy-negotiation-admin-point-rest-client";
36
+ createComponent = (createConfig) => new PolicyNegotiationAdminPointRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
37
+ instanceTypeName = "policy-negotiation-admin-point-rest-client";
35
38
  }
36
39
  return {
37
- component,
38
- instanceType,
40
+ createComponent: createComponent,
41
+ instanceTypeName,
39
42
  factory: ComponentFactory
40
43
  };
41
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPnap.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPnap.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,EAEN,kCAAkC,EAClC,UAAU,IAAI,8BAA8B,EAC5C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AAEzG;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uCAAuC,CAC5D,UAAsC,EACtC,OAA0C,EAC1C,cAAmD;IAMnD,IAAI,SAA4D,CAAC;IACjE,IAAI,YAAgC,CAAC;IAErC,IAAI,cAAc,CAAC,IAAI,KAAK,iCAAiC,CAAC,OAAO,EAAE,CAAC;QACvE,8BAA8B,EAAE,CAAC;QAEjC,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAChE,UAAU,CAAC,gBAAgB,EAAE,EAC7B,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAC1C,CAAC;QAEF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,cAAc,CAAC,OAAO,EAAE,kCAAkC,uBAE1D,mBAAmB,CACnB,CAAC;QAEF,SAAS,GAAG,IAAI,kCAAkC,CAAC;YAClD,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;YAC9E,0BAA0B,EAAE,UAAU,CAAC,yBAAyB,CAAC,wBAAwB,CAAC;YAC1F,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,mBAAmB;YACnB,GAAG,cAAc,CAAC,OAAO;SACzB,CAAC,CAAC;QACH,YAAY,2CAAsD,CAAC;IACpE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,iCAAiC,CAAC,UAAU,EAAE,CAAC;QACjF,SAAS,GAAG,IAAI,qCAAqC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9E,YAAY,+CAAyD,CAAC;IACvE,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 { IPolicyNegotiationAdminPointComponent } from \"@twin.org/rights-management-models\";\nimport {\n\ttype PolicyNegotiation,\n\tPolicyNegotiationAdminPointService,\n\tinitSchema as initSchemaRightsManagementPnap\n} from \"@twin.org/rights-management-pnp-service\";\nimport { PolicyNegotiationAdminPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { RightsManagementPnapComponentConfig } from \"../models/config/rightsManagementPnapComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPnapComponentType } from \"../models/types/rightsManagementPnapComponentType.js\";\n\n/**\n * Initialise the rights management PNAP 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 initialiseRightsManagementPnapComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPnapComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyNegotiationAdminPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPnapComponentType.Service) {\n\t\tinitSchemaRightsManagementPnap();\n\n\t\tconst partitionContextIds = ContextIdHelper.pickKeysFromAvailable(\n\t\t\tengineCore.getContextIdKeys(),\n\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t);\n\n\t\tinitialiseEntityStorageConnector(\n\t\t\tengineCore,\n\t\t\tcontext,\n\t\t\tinstanceConfig.options?.policyNegotiationEntityStorageType,\n\t\t\tnameof<PolicyNegotiation>(),\n\t\t\tpartitionContextIds\n\t\t);\n\n\t\tcomponent = new PolicyNegotiationAdminPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\ttaskSchedulerComponentType: engineCore.getRegisteredInstanceType(\"taskSchedulerComponent\"),\n\t\t\tpolicyInformationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPipComponent\"\n\t\t\t),\n\t\t\tpartitionContextIds,\n\t\t\t...instanceConfig.options\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyNegotiationAdminPointService);\n\t} else if (instanceConfig.type === RightsManagementPnapComponentType.RestClient) {\n\t\tcomponent = new PolicyNegotiationAdminPointRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(PolicyNegotiationAdminPointRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPnap.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPnap.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,EAEN,kCAAkC,EAClC,UAAU,IAAI,8BAA8B,EAC5C,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAGtE,OAAO,EAAE,iCAAiC,EAAE,MAAM,sDAAsD,CAAC;AACzG,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,uCAAuC,CACtD,UAAsC,EACtC,OAA0C,EAC1C,cAAmD;IAEnD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,iCAAiC,CAAC,OAAO,EAAE,CAAC;QACvE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,8BAA8B,EAAE,CAAC;YAEjC,MAAM,mBAAmB,GAAG,eAAe,CAAC,qBAAqB,CAChE,UAAU,CAAC,gBAAgB,EAAE,EAC7B,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,CAC1C,CAAC;YAEF,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,kCAAkC,uBAExD,mBAAmB,CACnB,CAAC;YAEF,OAAO,IAAI,kCAAkC,CAC5C,gBAAgB,CAAC,WAAW,CAC3B;gBACC,oBAAoB,EAAE,UAAU,CAAC,yBAAyB,CAAC,kBAAkB,CAAC;gBAC9E,0BAA0B,EACzB,UAAU,CAAC,yBAAyB,CAAC,wBAAwB,CAAC;gBAC/D,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;gBACD,eAAe,EAAE,UAAU,CAAC,iCAAiC,CAAC,sBAAsB,CAAC;gBACrF,mBAAmB;aACnB,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,2CAAsD,CAAC;IACxE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,iCAAiC,CAAC,UAAU,EAAE,CAAC;QACjF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,qCAAqC,CACxC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,+CAAyD,CAAC;IAC3E,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\ttype PolicyNegotiation,\n\tPolicyNegotiationAdminPointService,\n\tinitSchema as initSchemaRightsManagementPnap\n} from \"@twin.org/rights-management-pnp-service\";\nimport { PolicyNegotiationAdminPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport { initialiseEntityStorageConnector } from \"./entityStorage.js\";\nimport type { RightsManagementPnapComponentConfig } from \"../models/config/rightsManagementPnapComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPnapComponentType } from \"../models/types/rightsManagementPnapComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PNAP 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 initialiseRightsManagementPnapComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPnapComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPnapComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaRightsManagementPnap();\n\n\t\t\tconst partitionContextIds = ContextIdHelper.pickKeysFromAvailable(\n\t\t\t\tengineCore.getContextIdKeys(),\n\t\t\t\t[ContextIdKeys.Node, ContextIdKeys.Tenant]\n\t\t\t);\n\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.policyNegotiationEntityStorageType,\n\t\t\t\tnameof<PolicyNegotiation>(),\n\t\t\t\tpartitionContextIds\n\t\t\t);\n\n\t\t\treturn new PolicyNegotiationAdminPointService(\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\ttaskSchedulerComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceType(\"taskSchedulerComponent\"),\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\ttenantAdminType: engineCore.getRegisteredInstanceTypeOptional(\"tenantAdminComponent\"),\n\t\t\t\t\t\tpartitionContextIds\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 = nameofKebabCase(PolicyNegotiationAdminPointService);\n\t} else if (instanceConfig.type === RightsManagementPnapComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyNegotiationAdminPointRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyNegotiationAdminPointRestClient);\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,10 +1,10 @@
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 { PolicyNegotiationPointService } from "@twin.org/rights-management-pnp-service";
6
5
  import { PolicyNegotiationPointRestClient } from "@twin.org/rights-management-rest-client";
7
6
  import { RightsManagementPnpComponentType } from "../models/types/rightsManagementPnpComponentType.js";
7
+ import { EngineTypeHelper } from "../utils/engineTypeHelper.js";
8
8
  /**
9
9
  * Initialise the rights management PNP component.
10
10
  * @param engineCore The engine core.
@@ -12,49 +12,27 @@ import { RightsManagementPnpComponentType } from "../models/types/rightsManageme
12
12
  * @param instanceConfig The instance config.
13
13
  * @returns The instance created and the factory for it.
14
14
  */
15
- export async function initialiseRightsManagementPnpComponent(engineCore, context, instanceConfig) {
16
- let component;
17
- let instanceType;
15
+ export function initialiseRightsManagementPnpComponent(engineCore, context, instanceConfig) {
16
+ let createComponent;
17
+ let instanceTypeName;
18
18
  if (instanceConfig.type === RightsManagementPnpComponentType.Service) {
19
- const negotiatorModules = [];
20
- if (Is.arrayValue(instanceConfig.options?.negotiatorModulesConfig)) {
21
- for (const moduleConfig of instanceConfig.options.negotiatorModulesConfig) {
22
- negotiatorModules.push({
23
- negotiatorId: moduleConfig.id,
24
- negotiator: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
25
- });
26
- }
27
- }
28
- const requesterModules = [];
29
- if (Is.arrayValue(instanceConfig.options?.requesterModulesConfig)) {
30
- for (const moduleConfig of instanceConfig.options.requesterModulesConfig) {
31
- requesterModules.push({
32
- requesterId: moduleConfig.id,
33
- requester: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)
34
- });
35
- }
36
- }
37
- component = new PolicyNegotiationPointService({
19
+ createComponent = (createConfig) => new PolicyNegotiationPointService(EngineTypeHelper.mergeConfig({
38
20
  loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
39
21
  policyNegotiationAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPnapComponent"),
40
22
  policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
41
23
  policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
42
- ...instanceConfig.options,
43
- config: {
44
- ...instanceConfig.options?.config,
45
- negotiators: instanceConfig.options?.config?.negotiators ?? negotiatorModules,
46
- requesters: instanceConfig.options?.config?.requesters ?? requesterModules
47
- }
48
- });
49
- instanceType = "policy-negotiation-point-service";
24
+ trustComponentType: engineCore.getRegisteredInstanceType("trustComponent"),
25
+ policyNegotiationPointRemoteComponentType: engineCore.getRegisteredInstanceType("rightsManagementPnpComponent", ["remote"])
26
+ }, createConfig.options));
27
+ instanceTypeName = "policy-negotiation-point-service";
50
28
  }
51
29
  else if (instanceConfig.type === RightsManagementPnpComponentType.RestClient) {
52
- component = new PolicyNegotiationPointRestClient(instanceConfig.options);
53
- instanceType = "policy-negotiation-point-rest-client";
30
+ createComponent = (createConfig) => new PolicyNegotiationPointRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
31
+ instanceTypeName = "policy-negotiation-point-rest-client";
54
32
  }
55
33
  return {
56
- component,
57
- instanceType,
34
+ createComponent: createComponent,
35
+ instanceTypeName,
58
36
  factory: ComponentFactory
59
37
  };
60
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rightsManagementPnp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPnp.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;AAQ3D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,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,iBAAiB,GAA8D,EAAE,CAAC;QACxF,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,uBAAuB,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBAC3E,iBAAiB,CAAC,IAAI,CAAC;oBACtB,YAAY,EAAE,YAAY,CAAC,EAAE;oBAC7B,UAAU,EAAE,MAAM,kBAAkB,CAAC,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC;iBAC5E,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,MAAM,gBAAgB,GAA2D,EAAE,CAAC;QACpF,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,iDAAiD,EAAE,UAAU,CAAC,yBAAyB,CACtF,+BAA+B,CAC/B;YACD,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;YACD,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,GAAG,cAAc,CAAC,OAAO;YACzB,MAAM,EAAE;gBACP,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM;gBACjC,WAAW,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,IAAI,iBAAiB;gBAC7E,UAAU,EAAE,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,gBAAgB;aAC1E;SACD,CAAC,CAAC;QACH,YAAY,qCAAiD,CAAC;IAC/D,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,SAAS,GAAG,IAAI,gCAAgC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACzE,YAAY,yCAAoD,CAAC;IAClE,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\tIPolicyNegotiationPointComponent,\n\tIPolicyNegotiator,\n\tIPolicyRequester\n} from \"@twin.org/rights-management-models\";\nimport { PolicyNegotiationPointService } from \"@twin.org/rights-management-pnp-service\";\nimport { PolicyNegotiationPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport type { RightsManagementPnpComponentConfig } from \"../models/config/rightsManagementPnpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPnpComponentType } from \"../models/types/rightsManagementPnpComponentType.js\";\n\n/**\n * Initialise the rights management PNP 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 initialiseRightsManagementPnpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPnpComponentConfig\n): Promise<{\n\tinstanceType?: string;\n\tfactory?: typeof ComponentFactory;\n\tcomponent?: IComponent;\n}> {\n\tlet component: IPolicyNegotiationPointComponent | undefined;\n\tlet instanceType: string | undefined;\n\n\tif (instanceConfig.type === RightsManagementPnpComponentType.Service) {\n\t\tconst negotiatorModules: { negotiatorId: string; negotiator: IPolicyNegotiator }[] = [];\n\t\tif (Is.arrayValue(instanceConfig.options?.negotiatorModulesConfig)) {\n\t\t\tfor (const moduleConfig of instanceConfig.options.negotiatorModulesConfig) {\n\t\t\t\tnegotiatorModules.push({\n\t\t\t\t\tnegotiatorId: moduleConfig.id,\n\t\t\t\t\tnegotiator: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tconst requesterModules: { requesterId: string; requester: IPolicyRequester }[] = [];\n\t\tif (Is.arrayValue(instanceConfig.options?.requesterModulesConfig)) {\n\t\t\tfor (const moduleConfig of instanceConfig.options.requesterModulesConfig) {\n\t\t\t\trequesterModules.push({\n\t\t\t\t\trequesterId: moduleConfig.id,\n\t\t\t\t\trequester: await EngineModuleHelper.loadComponent(engineCore, moduleConfig)\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tcomponent = new PolicyNegotiationPointService({\n\t\t\tloggingComponentType: engineCore.getRegisteredInstanceType(\"loggingComponent\"),\n\t\t\tpolicyNegotiationAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPnapComponent\"\n\t\t\t),\n\t\t\tpolicyAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPapComponent\"\n\t\t\t),\n\t\t\tpolicyInformationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\"rightsManagementPipComponent\"\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\tnegotiators: instanceConfig.options?.config?.negotiators ?? negotiatorModules,\n\t\t\t\trequesters: instanceConfig.options?.config?.requesters ?? requesterModules\n\t\t\t}\n\t\t});\n\t\tinstanceType = nameofKebabCase(PolicyNegotiationPointService);\n\t} else if (instanceConfig.type === RightsManagementPnpComponentType.RestClient) {\n\t\tcomponent = new PolicyNegotiationPointRestClient(instanceConfig.options);\n\t\tinstanceType = nameofKebabCase(PolicyNegotiationPointRestClient);\n\t}\n\n\treturn {\n\t\tcomponent,\n\t\tinstanceType,\n\t\tfactory: ComponentFactory\n\t};\n}\n"]}
1
+ {"version":3,"file":"rightsManagementPnp.js","sourceRoot":"","sources":["../../../src/components/rightsManagementPnp.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAOnE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AACxF,OAAO,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAC;AAG3F,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,iDAAiD,EAAE,UAAU,CAAC,yBAAyB,CACtF,+BAA+B,CAC/B;YACD,sCAAsC,EAAE,UAAU,CAAC,yBAAyB,CAC3E,8BAA8B,CAC9B;YACD,mCAAmC,EAAE,UAAU,CAAC,yBAAyB,CACxE,8BAA8B,CAC9B;YACD,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;YAC1E,yCAAyC,EAAE,UAAU,CAAC,yBAAyB,CAC9E,8BAA8B,EAC9B,CAAC,QAAQ,CAAC,CACV;SACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,qCAAiD,CAAC;IACnE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,UAAU,EAAE,CAAC;QAChF,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,gCAAgC,CACnC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,yCAAoD,CAAC;IACtE,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, 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 { PolicyNegotiationPointService } from \"@twin.org/rights-management-pnp-service\";\nimport { PolicyNegotiationPointRestClient } from \"@twin.org/rights-management-rest-client\";\nimport type { RightsManagementPnpComponentConfig } from \"../models/config/rightsManagementPnpComponentConfig.js\";\nimport type { IEngineConfig } from \"../models/IEngineConfig.js\";\nimport { RightsManagementPnpComponentType } from \"../models/types/rightsManagementPnpComponentType.js\";\nimport { EngineTypeHelper } from \"../utils/engineTypeHelper.js\";\n\n/**\n * Initialise the rights management PNP 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 initialiseRightsManagementPnpComponent(\n\tengineCore: IEngineCore<IEngineConfig>,\n\tcontext: IEngineCoreContext<IEngineConfig>,\n\tinstanceConfig: RightsManagementPnpComponentConfig\n): EngineTypeInitialiserReturn<typeof instanceConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RightsManagementPnpComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyNegotiationPointService(\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\tpolicyNegotiationAdministrationPointComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPnapComponent\"\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\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\ttrustComponentType: engineCore.getRegisteredInstanceType(\"trustComponent\"),\n\t\t\t\t\t\tpolicyNegotiationPointRemoteComponentType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"rightsManagementPnpComponent\",\n\t\t\t\t\t\t\t[\"remote\"]\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(PolicyNegotiationPointService);\n\t} else if (instanceConfig.type === RightsManagementPnpComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew PolicyNegotiationPointRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(PolicyNegotiationPointRestClient);\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"]}