@twin.org/engine-types 0.0.2-next.7 → 0.0.2-next.8

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 (43) hide show
  1. package/dist/cjs/index.cjs +291 -2
  2. package/dist/esm/index.mjs +282 -3
  3. package/dist/types/components/rightsManagementPdp.d.ts +13 -0
  4. package/dist/types/components/rightsManagementPep.d.ts +13 -0
  5. package/dist/types/components/rightsManagementPip.d.ts +13 -0
  6. package/dist/types/components/rightsManagementPmp.d.ts +13 -0
  7. package/dist/types/components/rightsManagementPxp.d.ts +13 -0
  8. package/dist/types/index.d.ts +15 -0
  9. package/dist/types/models/IEngineConfig.d.ts +25 -0
  10. package/dist/types/models/config/rightsManagementPdpComponentConfig.d.ts +9 -0
  11. package/dist/types/models/config/rightsManagementPepComponentConfig.d.ts +9 -0
  12. package/dist/types/models/config/rightsManagementPipComponentConfig.d.ts +9 -0
  13. package/dist/types/models/config/rightsManagementPmpComponentConfig.d.ts +9 -0
  14. package/dist/types/models/config/rightsManagementPxpComponentConfig.d.ts +9 -0
  15. package/dist/types/models/types/rightsManagementPdpComponentType.d.ts +13 -0
  16. package/dist/types/models/types/rightsManagementPepComponentType.d.ts +13 -0
  17. package/dist/types/models/types/rightsManagementPipComponentType.d.ts +13 -0
  18. package/dist/types/models/types/rightsManagementPmpComponentType.d.ts +13 -0
  19. package/dist/types/models/types/rightsManagementPxpComponentType.d.ts +13 -0
  20. package/docs/changelog.md +14 -0
  21. package/docs/reference/functions/initialiseRightsManagementPdpComponent.md +41 -0
  22. package/docs/reference/functions/initialiseRightsManagementPepComponent.md +41 -0
  23. package/docs/reference/functions/initialiseRightsManagementPipComponent.md +41 -0
  24. package/docs/reference/functions/initialiseRightsManagementPmpComponent.md +41 -0
  25. package/docs/reference/functions/initialiseRightsManagementPxpComponent.md +41 -0
  26. package/docs/reference/index.md +20 -0
  27. package/docs/reference/interfaces/IEngineConfig.md +30 -0
  28. package/docs/reference/type-aliases/RightsManagementPdpComponentConfig.md +17 -0
  29. package/docs/reference/type-aliases/RightsManagementPdpComponentType.md +5 -0
  30. package/docs/reference/type-aliases/RightsManagementPepComponentConfig.md +17 -0
  31. package/docs/reference/type-aliases/RightsManagementPepComponentType.md +5 -0
  32. package/docs/reference/type-aliases/RightsManagementPipComponentConfig.md +17 -0
  33. package/docs/reference/type-aliases/RightsManagementPipComponentType.md +5 -0
  34. package/docs/reference/type-aliases/RightsManagementPmpComponentConfig.md +17 -0
  35. package/docs/reference/type-aliases/RightsManagementPmpComponentType.md +5 -0
  36. package/docs/reference/type-aliases/RightsManagementPxpComponentConfig.md +17 -0
  37. package/docs/reference/type-aliases/RightsManagementPxpComponentType.md +5 -0
  38. package/docs/reference/variables/RightsManagementPdpComponentType.md +13 -0
  39. package/docs/reference/variables/RightsManagementPepComponentType.md +13 -0
  40. package/docs/reference/variables/RightsManagementPipComponentType.md +13 -0
  41. package/docs/reference/variables/RightsManagementPmpComponentType.md +13 -0
  42. package/docs/reference/variables/RightsManagementPxpComponentType.md +13 -0
  43. package/package.json +7 -2
@@ -75,6 +75,11 @@ var nftService = require('@twin.org/nft-service');
75
75
  var rightsManagementRestClient = require('@twin.org/rights-management-rest-client');
76
76
  var rightsManagementService = require('@twin.org/rights-management-service');
77
77
  var rightsManagementPapService = require('@twin.org/rights-management-pap-service');
78
+ var rightsManagementPdpService = require('@twin.org/rights-management-pdp-service');
79
+ var rightsManagementPepService = require('@twin.org/rights-management-pep-service');
80
+ var rightsManagementPipService = require('@twin.org/rights-management-pip-service');
81
+ var rightsManagementPmpService = require('@twin.org/rights-management-pmp-service');
82
+ var rightsManagementPxpService = require('@twin.org/rights-management-pxp-service');
78
83
  var synchronisedStorageRestClient = require('@twin.org/synchronised-storage-rest-client');
79
84
  var synchronisedStorageService = require('@twin.org/synchronised-storage-service');
80
85
  var backgroundTaskScheduler = require('@twin.org/background-task-scheduler');
@@ -2247,7 +2252,8 @@ function initialiseRightsManagementComponent(engineCore, context, instanceConfig
2247
2252
  let instanceType;
2248
2253
  if (type === RightsManagementComponentType.Service) {
2249
2254
  component = new rightsManagementService.RightsManagementService({
2250
- papComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2255
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2256
+ policyEnforcementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPepComponent"),
2251
2257
  ...instanceConfig.options
2252
2258
  });
2253
2259
  instanceType = core.StringHelper.kebabCase("RightsManagementService");
@@ -2305,7 +2311,10 @@ function initialiseRightsManagementPapComponent(engineCore, context, instanceCon
2305
2311
  if (type === RightsManagementPapComponentType.Service) {
2306
2312
  rightsManagementPapService.initSchema();
2307
2313
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.odrlPolicyEntityStorageType, "OdrlPolicy");
2308
- component = new rightsManagementPapService.PolicyAdministrationPointService(instanceConfig.options);
2314
+ component = new rightsManagementPapService.PolicyAdministrationPointService({
2315
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2316
+ ...instanceConfig.options
2317
+ });
2309
2318
  instanceType = core.StringHelper.kebabCase("PolicyAdministrationPointService");
2310
2319
  }
2311
2320
  else {
@@ -2323,6 +2332,276 @@ function initialiseRightsManagementPapComponent(engineCore, context, instanceCon
2323
2332
  return finalInstanceType;
2324
2333
  }
2325
2334
 
2335
+ // Copyright 2024 IOTA Stiftung.
2336
+ // SPDX-License-Identifier: Apache-2.0.
2337
+ /**
2338
+ * Rights management PDP component types.
2339
+ */
2340
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2341
+ const RightsManagementPdpComponentType = {
2342
+ /**
2343
+ * Service.
2344
+ */
2345
+ Service: "service"
2346
+ };
2347
+
2348
+ // Copyright 2024 IOTA Stiftung.
2349
+ // SPDX-License-Identifier: Apache-2.0.
2350
+ /**
2351
+ * Initialise the rights management PDP component.
2352
+ * @param engineCore The engine core.
2353
+ * @param context The context for the engine.
2354
+ * @param instanceConfig The instance config.
2355
+ * @param overrideInstanceType The instance type to override the default.
2356
+ * @returns The name of the instance created.
2357
+ * @throws GeneralError if the component type is unknown.
2358
+ */
2359
+ function initialiseRightsManagementPdpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2360
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2361
+ element: `Rights Management PDP Component: ${instanceConfig.type}`
2362
+ }));
2363
+ const type = instanceConfig.type;
2364
+ let component;
2365
+ let instanceType;
2366
+ if (type === RightsManagementPdpComponentType.Service) {
2367
+ component = new rightsManagementPdpService.PolicyDecisionPointService({
2368
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2369
+ policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
2370
+ policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent"),
2371
+ policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent"),
2372
+ ...instanceConfig.options
2373
+ });
2374
+ instanceType = core.StringHelper.kebabCase("PolicyDecisionPointService");
2375
+ }
2376
+ else {
2377
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
2378
+ type,
2379
+ componentType: "RightsManagementPdpComponent"
2380
+ });
2381
+ }
2382
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2383
+ context.componentInstances.push({
2384
+ instanceType: finalInstanceType,
2385
+ component
2386
+ });
2387
+ core.ComponentFactory.register(finalInstanceType, () => component);
2388
+ return finalInstanceType;
2389
+ }
2390
+
2391
+ // Copyright 2024 IOTA Stiftung.
2392
+ // SPDX-License-Identifier: Apache-2.0.
2393
+ /**
2394
+ * Rights management PEP component types.
2395
+ */
2396
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2397
+ const RightsManagementPepComponentType = {
2398
+ /**
2399
+ * Service.
2400
+ */
2401
+ Service: "service"
2402
+ };
2403
+
2404
+ // Copyright 2024 IOTA Stiftung.
2405
+ // SPDX-License-Identifier: Apache-2.0.
2406
+ /**
2407
+ * Initialise the rights management PEP component.
2408
+ * @param engineCore The engine core.
2409
+ * @param context The context for the engine.
2410
+ * @param instanceConfig The instance config.
2411
+ * @param overrideInstanceType The instance type to override the default.
2412
+ * @returns The name of the instance created.
2413
+ * @throws GeneralError if the component type is unknown.
2414
+ */
2415
+ function initialiseRightsManagementPepComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2416
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2417
+ element: `Rights Management PEP Component: ${instanceConfig.type}`
2418
+ }));
2419
+ const type = instanceConfig.type;
2420
+ let component;
2421
+ let instanceType;
2422
+ if (type === RightsManagementPepComponentType.Service) {
2423
+ component = new rightsManagementPepService.PolicyEnforcementPointService({
2424
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2425
+ policyDecisionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPdpComponent"),
2426
+ ...instanceConfig.options
2427
+ });
2428
+ instanceType = core.StringHelper.kebabCase("PolicyEnforcementPointService");
2429
+ }
2430
+ else {
2431
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
2432
+ type,
2433
+ componentType: "RightsManagementPepComponent"
2434
+ });
2435
+ }
2436
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2437
+ context.componentInstances.push({
2438
+ instanceType: finalInstanceType,
2439
+ component
2440
+ });
2441
+ core.ComponentFactory.register(finalInstanceType, () => component);
2442
+ return finalInstanceType;
2443
+ }
2444
+
2445
+ // Copyright 2024 IOTA Stiftung.
2446
+ // SPDX-License-Identifier: Apache-2.0.
2447
+ /**
2448
+ * Rights management PIP component types.
2449
+ */
2450
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2451
+ const RightsManagementPipComponentType = {
2452
+ /**
2453
+ * Service.
2454
+ */
2455
+ Service: "service"
2456
+ };
2457
+
2458
+ // Copyright 2024 IOTA Stiftung.
2459
+ // SPDX-License-Identifier: Apache-2.0.
2460
+ /**
2461
+ * Initialise the rights management PIP component.
2462
+ * @param engineCore The engine core.
2463
+ * @param context The context for the engine.
2464
+ * @param instanceConfig The instance config.
2465
+ * @param overrideInstanceType The instance type to override the default.
2466
+ * @returns The name of the instance created.
2467
+ * @throws GeneralError if the component type is unknown.
2468
+ */
2469
+ function initialiseRightsManagementPipComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2470
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2471
+ element: `Rights Management PIP Component: ${instanceConfig.type}`
2472
+ }));
2473
+ const type = instanceConfig.type;
2474
+ let component;
2475
+ let instanceType;
2476
+ if (type === RightsManagementPipComponentType.Service) {
2477
+ component = new rightsManagementPipService.PolicyInformationPointService({
2478
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2479
+ ...instanceConfig.options
2480
+ });
2481
+ instanceType = core.StringHelper.kebabCase("PolicyInformationPointService");
2482
+ }
2483
+ else {
2484
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
2485
+ type,
2486
+ componentType: "RightsManagementPipComponent"
2487
+ });
2488
+ }
2489
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2490
+ context.componentInstances.push({
2491
+ instanceType: finalInstanceType,
2492
+ component
2493
+ });
2494
+ core.ComponentFactory.register(finalInstanceType, () => component);
2495
+ return finalInstanceType;
2496
+ }
2497
+
2498
+ // Copyright 2024 IOTA Stiftung.
2499
+ // SPDX-License-Identifier: Apache-2.0.
2500
+ /**
2501
+ * Rights management PMP component types.
2502
+ */
2503
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2504
+ const RightsManagementPmpComponentType = {
2505
+ /**
2506
+ * Service.
2507
+ */
2508
+ Service: "service"
2509
+ };
2510
+
2511
+ // Copyright 2024 IOTA Stiftung.
2512
+ // SPDX-License-Identifier: Apache-2.0.
2513
+ /**
2514
+ * Initialise the rights management PMP component.
2515
+ * @param engineCore The engine core.
2516
+ * @param context The context for the engine.
2517
+ * @param instanceConfig The instance config.
2518
+ * @param overrideInstanceType The instance type to override the default.
2519
+ * @returns The name of the instance created.
2520
+ * @throws GeneralError if the component type is unknown.
2521
+ */
2522
+ function initialiseRightsManagementPmpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2523
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2524
+ element: `Rights Management PMP Component: ${instanceConfig.type}`
2525
+ }));
2526
+ const type = instanceConfig.type;
2527
+ let component;
2528
+ let instanceType;
2529
+ if (type === RightsManagementPmpComponentType.Service) {
2530
+ component = new rightsManagementPmpService.PolicyManagementPointService({
2531
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2532
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2533
+ ...instanceConfig.options
2534
+ });
2535
+ instanceType = core.StringHelper.kebabCase("PolicyManagementPointService");
2536
+ }
2537
+ else {
2538
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
2539
+ type,
2540
+ componentType: "RightsManagementPmpComponent"
2541
+ });
2542
+ }
2543
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2544
+ context.componentInstances.push({
2545
+ instanceType: finalInstanceType,
2546
+ component
2547
+ });
2548
+ core.ComponentFactory.register(finalInstanceType, () => component);
2549
+ return finalInstanceType;
2550
+ }
2551
+
2552
+ // Copyright 2024 IOTA Stiftung.
2553
+ // SPDX-License-Identifier: Apache-2.0.
2554
+ /**
2555
+ * Rights management PXP component types.
2556
+ */
2557
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2558
+ const RightsManagementPxpComponentType = {
2559
+ /**
2560
+ * Service.
2561
+ */
2562
+ Service: "service"
2563
+ };
2564
+
2565
+ // Copyright 2024 IOTA Stiftung.
2566
+ // SPDX-License-Identifier: Apache-2.0.
2567
+ /**
2568
+ * Initialise the rights management PXP component.
2569
+ * @param engineCore The engine core.
2570
+ * @param context The context for the engine.
2571
+ * @param instanceConfig The instance config.
2572
+ * @param overrideInstanceType The instance type to override the default.
2573
+ * @returns The name of the instance created.
2574
+ * @throws GeneralError if the component type is unknown.
2575
+ */
2576
+ function initialiseRightsManagementPxpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2577
+ engineCore.logInfo(core.I18n.formatMessage("engineCore.configuring", {
2578
+ element: `Rights Management PXP Component: ${instanceConfig.type}`
2579
+ }));
2580
+ const type = instanceConfig.type;
2581
+ let component;
2582
+ let instanceType;
2583
+ if (type === RightsManagementPxpComponentType.Service) {
2584
+ component = new rightsManagementPxpService.PolicyExecutionPointService({
2585
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2586
+ ...instanceConfig.options
2587
+ });
2588
+ instanceType = core.StringHelper.kebabCase("PolicyExecutionPointService");
2589
+ }
2590
+ else {
2591
+ throw new core.GeneralError("engineCore", "componentUnknownType", {
2592
+ type,
2593
+ componentType: "RightsManagementPxpComponent"
2594
+ });
2595
+ }
2596
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2597
+ context.componentInstances.push({
2598
+ instanceType: finalInstanceType,
2599
+ component
2600
+ });
2601
+ core.ComponentFactory.register(finalInstanceType, () => component);
2602
+ return finalInstanceType;
2603
+ }
2604
+
2326
2605
  // Copyright 2024 IOTA Stiftung.
2327
2606
  // SPDX-License-Identifier: Apache-2.0.
2328
2607
  /**
@@ -2882,6 +3161,11 @@ exports.NftComponentType = NftComponentType;
2882
3161
  exports.NftConnectorType = NftConnectorType;
2883
3162
  exports.RightsManagementComponentType = RightsManagementComponentType;
2884
3163
  exports.RightsManagementPapComponentType = RightsManagementPapComponentType;
3164
+ exports.RightsManagementPdpComponentType = RightsManagementPdpComponentType;
3165
+ exports.RightsManagementPepComponentType = RightsManagementPepComponentType;
3166
+ exports.RightsManagementPipComponentType = RightsManagementPipComponentType;
3167
+ exports.RightsManagementPmpComponentType = RightsManagementPmpComponentType;
3168
+ exports.RightsManagementPxpComponentType = RightsManagementPxpComponentType;
2885
3169
  exports.SynchronisedStorageComponentType = SynchronisedStorageComponentType;
2886
3170
  exports.TaskSchedulerComponentType = TaskSchedulerComponentType;
2887
3171
  exports.TelemetryComponentType = TelemetryComponentType;
@@ -2924,6 +3208,11 @@ exports.initialiseNftComponent = initialiseNftComponent;
2924
3208
  exports.initialiseNftConnector = initialiseNftConnector;
2925
3209
  exports.initialiseRightsManagementComponent = initialiseRightsManagementComponent;
2926
3210
  exports.initialiseRightsManagementPapComponent = initialiseRightsManagementPapComponent;
3211
+ exports.initialiseRightsManagementPdpComponent = initialiseRightsManagementPdpComponent;
3212
+ exports.initialiseRightsManagementPepComponent = initialiseRightsManagementPepComponent;
3213
+ exports.initialiseRightsManagementPipComponent = initialiseRightsManagementPipComponent;
3214
+ exports.initialiseRightsManagementPmpComponent = initialiseRightsManagementPmpComponent;
3215
+ exports.initialiseRightsManagementPxpComponent = initialiseRightsManagementPxpComponent;
2927
3216
  exports.initialiseSynchronisedStorageComponent = initialiseSynchronisedStorageComponent;
2928
3217
  exports.initialiseTaskSchedulerComponent = initialiseTaskSchedulerComponent;
2929
3218
  exports.initialiseTelemetryComponent = initialiseTelemetryComponent;
@@ -73,6 +73,11 @@ import { NftService } from '@twin.org/nft-service';
73
73
  import { RightsManagementClient } from '@twin.org/rights-management-rest-client';
74
74
  import { RightsManagementService } from '@twin.org/rights-management-service';
75
75
  import { initSchema as initSchema$c, PolicyAdministrationPointService } from '@twin.org/rights-management-pap-service';
76
+ import { PolicyDecisionPointService } from '@twin.org/rights-management-pdp-service';
77
+ import { PolicyEnforcementPointService } from '@twin.org/rights-management-pep-service';
78
+ import { PolicyInformationPointService } from '@twin.org/rights-management-pip-service';
79
+ import { PolicyManagementPointService } from '@twin.org/rights-management-pmp-service';
80
+ import { PolicyExecutionPointService } from '@twin.org/rights-management-pxp-service';
76
81
  import { SynchronisedStorageClient } from '@twin.org/synchronised-storage-rest-client';
77
82
  import { initSchema as initSchema$d, SynchronisedStorageService } from '@twin.org/synchronised-storage-service';
78
83
  import { TaskSchedulerService } from '@twin.org/background-task-scheduler';
@@ -2245,7 +2250,8 @@ function initialiseRightsManagementComponent(engineCore, context, instanceConfig
2245
2250
  let instanceType;
2246
2251
  if (type === RightsManagementComponentType.Service) {
2247
2252
  component = new RightsManagementService({
2248
- papComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2253
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2254
+ policyEnforcementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPepComponent"),
2249
2255
  ...instanceConfig.options
2250
2256
  });
2251
2257
  instanceType = StringHelper.kebabCase("RightsManagementService");
@@ -2303,7 +2309,10 @@ function initialiseRightsManagementPapComponent(engineCore, context, instanceCon
2303
2309
  if (type === RightsManagementPapComponentType.Service) {
2304
2310
  initSchema$c();
2305
2311
  initialiseEntityStorageConnector(engineCore, context, instanceConfig.options?.odrlPolicyEntityStorageType, "OdrlPolicy");
2306
- component = new PolicyAdministrationPointService(instanceConfig.options);
2312
+ component = new PolicyAdministrationPointService({
2313
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2314
+ ...instanceConfig.options
2315
+ });
2307
2316
  instanceType = StringHelper.kebabCase("PolicyAdministrationPointService");
2308
2317
  }
2309
2318
  else {
@@ -2321,6 +2330,276 @@ function initialiseRightsManagementPapComponent(engineCore, context, instanceCon
2321
2330
  return finalInstanceType;
2322
2331
  }
2323
2332
 
2333
+ // Copyright 2024 IOTA Stiftung.
2334
+ // SPDX-License-Identifier: Apache-2.0.
2335
+ /**
2336
+ * Rights management PDP component types.
2337
+ */
2338
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2339
+ const RightsManagementPdpComponentType = {
2340
+ /**
2341
+ * Service.
2342
+ */
2343
+ Service: "service"
2344
+ };
2345
+
2346
+ // Copyright 2024 IOTA Stiftung.
2347
+ // SPDX-License-Identifier: Apache-2.0.
2348
+ /**
2349
+ * Initialise the rights management PDP component.
2350
+ * @param engineCore The engine core.
2351
+ * @param context The context for the engine.
2352
+ * @param instanceConfig The instance config.
2353
+ * @param overrideInstanceType The instance type to override the default.
2354
+ * @returns The name of the instance created.
2355
+ * @throws GeneralError if the component type is unknown.
2356
+ */
2357
+ function initialiseRightsManagementPdpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2358
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2359
+ element: `Rights Management PDP Component: ${instanceConfig.type}`
2360
+ }));
2361
+ const type = instanceConfig.type;
2362
+ let component;
2363
+ let instanceType;
2364
+ if (type === RightsManagementPdpComponentType.Service) {
2365
+ component = new PolicyDecisionPointService({
2366
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2367
+ policyInformationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPipComponent"),
2368
+ policyManagementPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPmpComponent"),
2369
+ policyExecutionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPxpComponent"),
2370
+ ...instanceConfig.options
2371
+ });
2372
+ instanceType = StringHelper.kebabCase("PolicyDecisionPointService");
2373
+ }
2374
+ else {
2375
+ throw new GeneralError("engineCore", "componentUnknownType", {
2376
+ type,
2377
+ componentType: "RightsManagementPdpComponent"
2378
+ });
2379
+ }
2380
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2381
+ context.componentInstances.push({
2382
+ instanceType: finalInstanceType,
2383
+ component
2384
+ });
2385
+ ComponentFactory.register(finalInstanceType, () => component);
2386
+ return finalInstanceType;
2387
+ }
2388
+
2389
+ // Copyright 2024 IOTA Stiftung.
2390
+ // SPDX-License-Identifier: Apache-2.0.
2391
+ /**
2392
+ * Rights management PEP component types.
2393
+ */
2394
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2395
+ const RightsManagementPepComponentType = {
2396
+ /**
2397
+ * Service.
2398
+ */
2399
+ Service: "service"
2400
+ };
2401
+
2402
+ // Copyright 2024 IOTA Stiftung.
2403
+ // SPDX-License-Identifier: Apache-2.0.
2404
+ /**
2405
+ * Initialise the rights management PEP component.
2406
+ * @param engineCore The engine core.
2407
+ * @param context The context for the engine.
2408
+ * @param instanceConfig The instance config.
2409
+ * @param overrideInstanceType The instance type to override the default.
2410
+ * @returns The name of the instance created.
2411
+ * @throws GeneralError if the component type is unknown.
2412
+ */
2413
+ function initialiseRightsManagementPepComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2414
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2415
+ element: `Rights Management PEP Component: ${instanceConfig.type}`
2416
+ }));
2417
+ const type = instanceConfig.type;
2418
+ let component;
2419
+ let instanceType;
2420
+ if (type === RightsManagementPepComponentType.Service) {
2421
+ component = new PolicyEnforcementPointService({
2422
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2423
+ policyDecisionPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPdpComponent"),
2424
+ ...instanceConfig.options
2425
+ });
2426
+ instanceType = StringHelper.kebabCase("PolicyEnforcementPointService");
2427
+ }
2428
+ else {
2429
+ throw new GeneralError("engineCore", "componentUnknownType", {
2430
+ type,
2431
+ componentType: "RightsManagementPepComponent"
2432
+ });
2433
+ }
2434
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2435
+ context.componentInstances.push({
2436
+ instanceType: finalInstanceType,
2437
+ component
2438
+ });
2439
+ ComponentFactory.register(finalInstanceType, () => component);
2440
+ return finalInstanceType;
2441
+ }
2442
+
2443
+ // Copyright 2024 IOTA Stiftung.
2444
+ // SPDX-License-Identifier: Apache-2.0.
2445
+ /**
2446
+ * Rights management PIP component types.
2447
+ */
2448
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2449
+ const RightsManagementPipComponentType = {
2450
+ /**
2451
+ * Service.
2452
+ */
2453
+ Service: "service"
2454
+ };
2455
+
2456
+ // Copyright 2024 IOTA Stiftung.
2457
+ // SPDX-License-Identifier: Apache-2.0.
2458
+ /**
2459
+ * Initialise the rights management PIP component.
2460
+ * @param engineCore The engine core.
2461
+ * @param context The context for the engine.
2462
+ * @param instanceConfig The instance config.
2463
+ * @param overrideInstanceType The instance type to override the default.
2464
+ * @returns The name of the instance created.
2465
+ * @throws GeneralError if the component type is unknown.
2466
+ */
2467
+ function initialiseRightsManagementPipComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2468
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2469
+ element: `Rights Management PIP Component: ${instanceConfig.type}`
2470
+ }));
2471
+ const type = instanceConfig.type;
2472
+ let component;
2473
+ let instanceType;
2474
+ if (type === RightsManagementPipComponentType.Service) {
2475
+ component = new PolicyInformationPointService({
2476
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2477
+ ...instanceConfig.options
2478
+ });
2479
+ instanceType = StringHelper.kebabCase("PolicyInformationPointService");
2480
+ }
2481
+ else {
2482
+ throw new GeneralError("engineCore", "componentUnknownType", {
2483
+ type,
2484
+ componentType: "RightsManagementPipComponent"
2485
+ });
2486
+ }
2487
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2488
+ context.componentInstances.push({
2489
+ instanceType: finalInstanceType,
2490
+ component
2491
+ });
2492
+ ComponentFactory.register(finalInstanceType, () => component);
2493
+ return finalInstanceType;
2494
+ }
2495
+
2496
+ // Copyright 2024 IOTA Stiftung.
2497
+ // SPDX-License-Identifier: Apache-2.0.
2498
+ /**
2499
+ * Rights management PMP component types.
2500
+ */
2501
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2502
+ const RightsManagementPmpComponentType = {
2503
+ /**
2504
+ * Service.
2505
+ */
2506
+ Service: "service"
2507
+ };
2508
+
2509
+ // Copyright 2024 IOTA Stiftung.
2510
+ // SPDX-License-Identifier: Apache-2.0.
2511
+ /**
2512
+ * Initialise the rights management PMP component.
2513
+ * @param engineCore The engine core.
2514
+ * @param context The context for the engine.
2515
+ * @param instanceConfig The instance config.
2516
+ * @param overrideInstanceType The instance type to override the default.
2517
+ * @returns The name of the instance created.
2518
+ * @throws GeneralError if the component type is unknown.
2519
+ */
2520
+ function initialiseRightsManagementPmpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2521
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2522
+ element: `Rights Management PMP Component: ${instanceConfig.type}`
2523
+ }));
2524
+ const type = instanceConfig.type;
2525
+ let component;
2526
+ let instanceType;
2527
+ if (type === RightsManagementPmpComponentType.Service) {
2528
+ component = new PolicyManagementPointService({
2529
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2530
+ policyAdministrationPointComponentType: engineCore.getRegisteredInstanceType("rightsManagementPapComponent"),
2531
+ ...instanceConfig.options
2532
+ });
2533
+ instanceType = StringHelper.kebabCase("PolicyManagementPointService");
2534
+ }
2535
+ else {
2536
+ throw new GeneralError("engineCore", "componentUnknownType", {
2537
+ type,
2538
+ componentType: "RightsManagementPmpComponent"
2539
+ });
2540
+ }
2541
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2542
+ context.componentInstances.push({
2543
+ instanceType: finalInstanceType,
2544
+ component
2545
+ });
2546
+ ComponentFactory.register(finalInstanceType, () => component);
2547
+ return finalInstanceType;
2548
+ }
2549
+
2550
+ // Copyright 2024 IOTA Stiftung.
2551
+ // SPDX-License-Identifier: Apache-2.0.
2552
+ /**
2553
+ * Rights management PXP component types.
2554
+ */
2555
+ // eslint-disable-next-line @typescript-eslint/naming-convention
2556
+ const RightsManagementPxpComponentType = {
2557
+ /**
2558
+ * Service.
2559
+ */
2560
+ Service: "service"
2561
+ };
2562
+
2563
+ // Copyright 2024 IOTA Stiftung.
2564
+ // SPDX-License-Identifier: Apache-2.0.
2565
+ /**
2566
+ * Initialise the rights management PXP component.
2567
+ * @param engineCore The engine core.
2568
+ * @param context The context for the engine.
2569
+ * @param instanceConfig The instance config.
2570
+ * @param overrideInstanceType The instance type to override the default.
2571
+ * @returns The name of the instance created.
2572
+ * @throws GeneralError if the component type is unknown.
2573
+ */
2574
+ function initialiseRightsManagementPxpComponent(engineCore, context, instanceConfig, overrideInstanceType) {
2575
+ engineCore.logInfo(I18n.formatMessage("engineCore.configuring", {
2576
+ element: `Rights Management PXP Component: ${instanceConfig.type}`
2577
+ }));
2578
+ const type = instanceConfig.type;
2579
+ let component;
2580
+ let instanceType;
2581
+ if (type === RightsManagementPxpComponentType.Service) {
2582
+ component = new PolicyExecutionPointService({
2583
+ loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent"),
2584
+ ...instanceConfig.options
2585
+ });
2586
+ instanceType = StringHelper.kebabCase("PolicyExecutionPointService");
2587
+ }
2588
+ else {
2589
+ throw new GeneralError("engineCore", "componentUnknownType", {
2590
+ type,
2591
+ componentType: "RightsManagementPxpComponent"
2592
+ });
2593
+ }
2594
+ const finalInstanceType = overrideInstanceType ?? instanceType;
2595
+ context.componentInstances.push({
2596
+ instanceType: finalInstanceType,
2597
+ component
2598
+ });
2599
+ ComponentFactory.register(finalInstanceType, () => component);
2600
+ return finalInstanceType;
2601
+ }
2602
+
2324
2603
  // Copyright 2024 IOTA Stiftung.
2325
2604
  // SPDX-License-Identifier: Apache-2.0.
2326
2605
  /**
@@ -2845,4 +3124,4 @@ const DltConfigType = {
2845
3124
  Iota: "iota"
2846
3125
  };
2847
3126
 
2848
- export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DltConfigType, DocumentManagementComponentType, EntityStorageComponentType, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, RightsManagementComponentType, RightsManagementPapComponentType, SynchronisedStorageComponentType, TaskSchedulerComponentType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType, initialiseAttestationComponent, initialiseAttestationConnector, initialiseAuditableItemGraphComponent, initialiseAuditableItemStreamComponent, initialiseBackgroundTaskConnector, initialiseBlobStorageComponent, initialiseBlobStorageConnector, initialiseDataConverterConnector, initialiseDataExtractorConnector, initialiseDataProcessingComponent, initialiseDocumentManagementComponent, initialiseEntityStorageComponent, initialiseEntityStorageConnector, initialiseEventBusComponent, initialiseEventBusConnector, initialiseFaucetConnector, initialiseFederatedCatalogueComponent, initialiseIdentityComponent, initialiseIdentityConnector, initialiseIdentityProfileComponent, initialiseIdentityProfileConnector, initialiseIdentityResolverComponent, initialiseIdentityResolverConnector, initialiseImmutableProofComponent, initialiseLoggingComponent, initialiseLoggingConnector, initialiseMessagingComponent, initialiseMessagingEmailConnector, initialiseMessagingPushNotificationConnector, initialiseMessagingSmsConnector, initialiseNftComponent, initialiseNftConnector, initialiseRightsManagementComponent, initialiseRightsManagementPapComponent, initialiseSynchronisedStorageComponent, initialiseTaskSchedulerComponent, initialiseTelemetryComponent, initialiseTelemetryConnector, initialiseVaultConnector, initialiseVerifiableStorageComponent, initialiseVerifiableStorageConnector, initialiseWalletConnector, initialiseWalletStorage };
3127
+ export { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, BackgroundTaskConnectorType, BlobStorageComponentType, BlobStorageConnectorType, DataConverterConnectorType, DataExtractorConnectorType, DataProcessingComponentType, DltConfigType, DocumentManagementComponentType, EntityStorageComponentType, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, RightsManagementComponentType, RightsManagementPapComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPipComponentType, RightsManagementPmpComponentType, RightsManagementPxpComponentType, SynchronisedStorageComponentType, TaskSchedulerComponentType, TelemetryComponentType, TelemetryConnectorType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType, initialiseAttestationComponent, initialiseAttestationConnector, initialiseAuditableItemGraphComponent, initialiseAuditableItemStreamComponent, initialiseBackgroundTaskConnector, initialiseBlobStorageComponent, initialiseBlobStorageConnector, initialiseDataConverterConnector, initialiseDataExtractorConnector, initialiseDataProcessingComponent, initialiseDocumentManagementComponent, initialiseEntityStorageComponent, initialiseEntityStorageConnector, initialiseEventBusComponent, initialiseEventBusConnector, initialiseFaucetConnector, initialiseFederatedCatalogueComponent, initialiseIdentityComponent, initialiseIdentityConnector, initialiseIdentityProfileComponent, initialiseIdentityProfileConnector, initialiseIdentityResolverComponent, initialiseIdentityResolverConnector, initialiseImmutableProofComponent, initialiseLoggingComponent, initialiseLoggingConnector, initialiseMessagingComponent, initialiseMessagingEmailConnector, initialiseMessagingPushNotificationConnector, initialiseMessagingSmsConnector, initialiseNftComponent, initialiseNftConnector, initialiseRightsManagementComponent, initialiseRightsManagementPapComponent, initialiseRightsManagementPdpComponent, initialiseRightsManagementPepComponent, initialiseRightsManagementPipComponent, initialiseRightsManagementPmpComponent, initialiseRightsManagementPxpComponent, initialiseSynchronisedStorageComponent, initialiseTaskSchedulerComponent, initialiseTelemetryComponent, initialiseTelemetryConnector, initialiseVaultConnector, initialiseVerifiableStorageComponent, initialiseVerifiableStorageConnector, initialiseWalletConnector, initialiseWalletStorage };
@@ -0,0 +1,13 @@
1
+ import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
2
+ import type { RightsManagementPdpComponentConfig } from "../models/config/rightsManagementPdpComponentConfig";
3
+ import type { IEngineConfig } from "../models/IEngineConfig";
4
+ /**
5
+ * Initialise the rights management PDP component.
6
+ * @param engineCore The engine core.
7
+ * @param context The context for the engine.
8
+ * @param instanceConfig The instance config.
9
+ * @param overrideInstanceType The instance type to override the default.
10
+ * @returns The name of the instance created.
11
+ * @throws GeneralError if the component type is unknown.
12
+ */
13
+ export declare function initialiseRightsManagementPdpComponent(engineCore: IEngineCore<IEngineConfig>, context: IEngineCoreContext<IEngineConfig>, instanceConfig: RightsManagementPdpComponentConfig, overrideInstanceType?: string): string | undefined;