@twin.org/node-core 0.0.3-next.1 → 0.0.3-next.10
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.
- package/dist/es/builders/engineEnvBuilder.js +155 -74
- package/dist/es/builders/engineEnvBuilder.js.map +1 -1
- package/dist/es/builders/engineServerEnvBuilder.js +24 -15
- package/dist/es/builders/engineServerEnvBuilder.js.map +1 -1
- package/dist/es/builders/extensionsBuilder.js +26 -17
- package/dist/es/builders/extensionsBuilder.js.map +1 -1
- package/dist/es/cli.js +255 -0
- package/dist/es/cli.js.map +1 -0
- package/dist/es/commands/bootstrapLegacy.js +175 -0
- package/dist/es/commands/bootstrapLegacy.js.map +1 -0
- package/dist/es/commands/help.js +85 -0
- package/dist/es/commands/help.js.map +1 -0
- package/dist/es/commands/identityCreate.js +310 -0
- package/dist/es/commands/identityCreate.js.map +1 -0
- package/dist/es/commands/identityImports.js +76 -0
- package/dist/es/commands/identityImports.js.map +1 -0
- package/dist/es/commands/identityVerifiableCredentialCreate.js +140 -0
- package/dist/es/commands/identityVerifiableCredentialCreate.js.map +1 -0
- package/dist/es/commands/identityVerificationMethodCreate.js +208 -0
- package/dist/es/commands/identityVerificationMethodCreate.js.map +1 -0
- package/dist/es/commands/identityVerificationMethodImport.js +120 -0
- package/dist/es/commands/identityVerificationMethodImport.js.map +1 -0
- package/dist/es/commands/nodeSetIdentity.js +51 -0
- package/dist/es/commands/nodeSetIdentity.js.map +1 -0
- package/dist/es/commands/nodeSetTenant.js +49 -0
- package/dist/es/commands/nodeSetTenant.js.map +1 -0
- package/dist/es/commands/tenantCreate.js +120 -0
- package/dist/es/commands/tenantCreate.js.map +1 -0
- package/dist/es/commands/tenantImport.js +78 -0
- package/dist/es/commands/tenantImport.js.map +1 -0
- package/dist/es/commands/userCreate.js +197 -0
- package/dist/es/commands/userCreate.js.map +1 -0
- package/dist/es/commands/vaultKeyCreate.js +185 -0
- package/dist/es/commands/vaultKeyCreate.js.map +1 -0
- package/dist/es/commands/vaultKeyImport.js +98 -0
- package/dist/es/commands/vaultKeyImport.js.map +1 -0
- package/dist/es/defaults.js +20 -1
- package/dist/es/defaults.js.map +1 -1
- package/dist/es/index.js +7 -3
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/ICliArgs.js +4 -0
- package/dist/es/models/ICliArgs.js.map +1 -0
- package/dist/es/models/ICliCommand.js +2 -0
- package/dist/es/models/ICliCommand.js.map +1 -0
- package/dist/es/models/ICliCommandDefinition.js +2 -0
- package/dist/es/models/ICliCommandDefinition.js.map +1 -0
- package/dist/es/models/ICliCommandDefinitionParam.js +2 -0
- package/dist/es/models/ICliCommandDefinitionParam.js.map +1 -0
- package/dist/es/models/IEngineEnvironmentVariables.js.map +1 -1
- package/dist/es/models/INodeEngineState.js.map +1 -1
- package/dist/es/models/INodeEnvironmentVariables.js.map +1 -1
- package/dist/es/models/cliCommandParamType.js +4 -0
- package/dist/es/models/cliCommandParamType.js.map +1 -0
- package/dist/es/node.js +55 -35
- package/dist/es/node.js.map +1 -1
- package/dist/es/start.js +128 -0
- package/dist/es/start.js.map +1 -0
- package/dist/es/utils.js +1 -22
- package/dist/es/utils.js.map +1 -1
- package/dist/types/builders/engineEnvBuilder.d.ts +4 -1
- package/dist/types/builders/engineServerEnvBuilder.d.ts +5 -2
- package/dist/types/cli.d.ts +66 -0
- package/dist/types/commands/bootstrapLegacy.d.ts +66 -0
- package/dist/types/commands/help.d.ts +23 -0
- package/dist/types/commands/identityCreate.d.ts +39 -0
- package/dist/types/commands/identityImports.d.ts +24 -0
- package/dist/types/commands/identityVerifiableCredentialCreate.d.ts +43 -0
- package/dist/types/commands/identityVerificationMethodCreate.d.ts +47 -0
- package/dist/types/commands/identityVerificationMethodImport.d.ts +31 -0
- package/dist/types/commands/nodeSetIdentity.d.ts +22 -0
- package/dist/types/commands/nodeSetTenant.d.ts +22 -0
- package/dist/types/commands/tenantCreate.d.ts +35 -0
- package/dist/types/commands/tenantImport.d.ts +24 -0
- package/dist/types/commands/userCreate.d.ts +46 -0
- package/dist/types/commands/vaultKeyCreate.d.ts +43 -0
- package/dist/types/commands/vaultKeyImport.d.ts +28 -0
- package/dist/types/defaults.d.ts +11 -1
- package/dist/types/index.d.ts +7 -3
- package/dist/types/models/ICliArgs.d.ts +20 -0
- package/dist/types/models/ICliCommand.d.ts +17 -0
- package/dist/types/models/ICliCommandDefinition.d.ts +46 -0
- package/dist/types/models/ICliCommandDefinitionParam.d.ts +35 -0
- package/dist/types/models/IEngineEnvironmentVariables.d.ts +51 -42
- package/dist/types/models/INodeEngineState.d.ts +0 -8
- package/dist/types/models/INodeEnvironmentVariables.d.ts +0 -38
- package/dist/types/models/cliCommandParamType.d.ts +4 -0
- package/dist/types/node.d.ts +6 -2
- package/dist/types/{server.d.ts → start.d.ts} +7 -2
- package/dist/types/utils.d.ts +0 -8
- package/docs/changelog.md +63 -0
- package/docs/reference/functions/buildConfiguration.md +2 -2
- package/docs/reference/functions/buildEngineConfiguration.md +1 -1
- package/docs/reference/functions/buildEngineServerConfiguration.md +3 -3
- package/docs/reference/functions/constructCliCommand.md +27 -0
- package/docs/reference/functions/executeCommand.md +29 -0
- package/docs/reference/functions/getEnvDefaults.md +19 -0
- package/docs/reference/functions/initCli.md +27 -0
- package/docs/reference/functions/parseCommandLineArgs.md +19 -0
- package/docs/reference/functions/processEnvOptions.md +27 -0
- package/docs/reference/functions/registerCommands.md +9 -0
- package/docs/reference/functions/run.md +7 -1
- package/docs/reference/functions/start.md +10 -4
- package/docs/reference/functions/substituteEnvOptions.md +25 -0
- package/docs/reference/index.md +15 -12
- package/docs/reference/interfaces/ICliArgs.md +35 -0
- package/docs/reference/interfaces/ICliCommand.md +23 -0
- package/docs/reference/interfaces/ICliCommandDefinition.md +101 -0
- package/docs/reference/interfaces/ICliCommandDefinitionParam.md +65 -0
- package/docs/reference/interfaces/IEngineEnvironmentVariables.md +90 -65
- package/docs/reference/interfaces/IEngineServerEnvironmentVariables.md +129 -88
- package/docs/reference/interfaces/INodeEngineState.md +0 -16
- package/docs/reference/interfaces/INodeEnvironmentVariables.md +129 -172
- package/docs/reference/type-aliases/CliCommandParamType.md +5 -0
- package/docs/reference/variables/CONTEXT_ID_HANDLER_FEATURE_DID.md +3 -0
- package/docs/reference/variables/CONTEXT_ID_HANDLER_FEATURE_TENANT.md +3 -0
- package/docs/reference/variables/VC_AUTHENTICATION_VERIFICATION_METHOD_ID.md +1 -1
- package/locales/en.json +463 -30
- package/package.json +3 -1
- package/dist/es/bootstrap.js +0 -374
- package/dist/es/bootstrap.js.map +0 -1
- package/dist/es/identity.js +0 -169
- package/dist/es/identity.js.map +0 -1
- package/dist/es/models/nodeFeatures.js +0 -21
- package/dist/es/models/nodeFeatures.js.map +0 -1
- package/dist/es/server.js +0 -74
- package/dist/es/server.js.map +0 -1
- package/dist/types/bootstrap.d.ts +0 -76
- package/dist/types/identity.d.ts +0 -14
- package/dist/types/models/nodeFeatures.d.ts +0 -21
- package/docs/reference/functions/bootstrap.md +0 -29
- package/docs/reference/functions/bootstrapAuth.md +0 -35
- package/docs/reference/functions/bootstrapBlobEncryption.md +0 -35
- package/docs/reference/functions/bootstrapContextIdHandlers.md +0 -35
- package/docs/reference/functions/bootstrapImmutableProofMethod.md +0 -35
- package/docs/reference/functions/bootstrapNodeAdminUser.md +0 -35
- package/docs/reference/functions/bootstrapNodeId.md +0 -35
- package/docs/reference/functions/bootstrapSynchronisedStorage.md +0 -35
- package/docs/reference/functions/bootstrapTenantId.md +0 -35
- package/docs/reference/functions/getFeatures.md +0 -19
- package/docs/reference/type-aliases/NodeFeatures.md +0 -5
- package/docs/reference/variables/NodeFeatures.md +0 -25
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { Coerce, Is } from "@twin.org/core";
|
|
5
|
-
import { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, AuthenticationGeneratorComponentType,
|
|
5
|
+
import { AttestationComponentType, AttestationConnectorType, AuditableItemGraphComponentType, AuditableItemStreamComponentType, AuthenticationGeneratorComponentType, BackgroundTaskComponentType, BlobStorageComponentType, BlobStorageConnectorType, ContextIdHandlerComponentType, DataProcessingComponentType, DataSpaceConnectorComponentType, DltConfigType, DocumentManagementComponentType, EngineTypeHelper, EntityStorageConnectorType, EventBusComponentType, EventBusConnectorType, FaucetConnectorType, FederatedCatalogueComponentType, IdentityComponentType, IdentityConnectorType, IdentityProfileComponentType, IdentityProfileConnectorType, IdentityResolverComponentType, IdentityResolverConnectorType, ImmutableProofComponentType, LoggingComponentType, LoggingConnectorType, MessagingAdminComponentType, MessagingComponentType, MessagingEmailConnectorType, MessagingPushNotificationConnectorType, MessagingSmsConnectorType, NftComponentType, NftConnectorType, RightsManagementDapComponentType, RightsManagementDarpComponentType, RightsManagementPapComponentType, RightsManagementPdpComponentType, RightsManagementPepComponentType, RightsManagementPipComponentType, RightsManagementPmpComponentType, RightsManagementPnapComponentType, RightsManagementPnpComponentType, RightsManagementPxpComponentType, SynchronisedStorageComponentType, TaskSchedulerComponentType, TelemetryComponentType, TelemetryConnectorType, TenantAdminComponentType, TrustComponentType, VaultConnectorType, VerifiableStorageComponentType, VerifiableStorageConnectorType, WalletConnectorType } from "@twin.org/engine-types";
|
|
6
6
|
import { DataAccessPointRestClient, PolicyNegotiationPointRestClient } from "@twin.org/rights-management-rest-client";
|
|
7
|
-
import {
|
|
7
|
+
import { CONTEXT_ID_HANDLER_FEATURE_DID, CONTEXT_ID_HANDLER_FEATURE_TENANT } from "../defaults.js";
|
|
8
8
|
/**
|
|
9
9
|
* Build the engine core configuration from environment variables.
|
|
10
10
|
* @param envVars The environment variables.
|
|
@@ -19,9 +19,11 @@ export async function buildEngineConfiguration(envVars, contextIdKeys) {
|
|
|
19
19
|
}
|
|
20
20
|
const coreConfig = {
|
|
21
21
|
debug: Coerce.boolean(envVars.debug) ?? false,
|
|
22
|
+
silent: Coerce.boolean(envVars.silent) ?? false,
|
|
22
23
|
types: {}
|
|
23
24
|
};
|
|
24
25
|
await configureTenant(coreConfig, envVars);
|
|
26
|
+
await configureContextIdHandlers(coreConfig, envVars);
|
|
25
27
|
await configureEntityStorage(coreConfig, envVars);
|
|
26
28
|
await configureBlobStorage(coreConfig, envVars);
|
|
27
29
|
await configureVault(coreConfig, envVars);
|
|
@@ -45,6 +47,7 @@ export async function buildEngineConfiguration(envVars, contextIdKeys) {
|
|
|
45
47
|
await configureAuditableItemStream(coreConfig, envVars);
|
|
46
48
|
await configureDocumentManagement(coreConfig, envVars);
|
|
47
49
|
await configureVerifiableCredentialAuthentication(coreConfig, envVars);
|
|
50
|
+
await configureTrust(coreConfig, envVars);
|
|
48
51
|
await configureRightsManagement(coreConfig, envVars);
|
|
49
52
|
await configureSynchronisedStorage(coreConfig, envVars);
|
|
50
53
|
await configureFederatedCatalogue(coreConfig, envVars);
|
|
@@ -59,7 +62,7 @@ export async function buildEngineConfiguration(envVars, contextIdKeys) {
|
|
|
59
62
|
async function configureEntityStorage(coreConfig, envVars) {
|
|
60
63
|
coreConfig.types ??= {};
|
|
61
64
|
coreConfig.types.entityStorageConnector ??= [];
|
|
62
|
-
const entityStorageConnectorTypes = envVars.entityStorageConnectorType
|
|
65
|
+
const entityStorageConnectorTypes = commaSeparatedListToArray(envVars.entityStorageConnectorType);
|
|
63
66
|
if (entityStorageConnectorTypes.includes(EntityStorageConnectorType.Memory)) {
|
|
64
67
|
coreConfig.types.entityStorageConnector.push({
|
|
65
68
|
type: EntityStorageConnectorType.Memory
|
|
@@ -83,7 +86,8 @@ async function configureEntityStorage(coreConfig, envVars) {
|
|
|
83
86
|
authMode: envVars.awsDynamodbAuthMode,
|
|
84
87
|
accessKeyId: envVars.awsDynamodbAccessKeyId,
|
|
85
88
|
secretAccessKey: envVars.awsDynamodbSecretAccessKey,
|
|
86
|
-
endpoint: envVars.awsDynamodbEndpoint
|
|
89
|
+
endpoint: envVars.awsDynamodbEndpoint,
|
|
90
|
+
connectionTimeoutMs: Coerce.integer(envVars.awsDynamodbConnectionTimeoutMs)
|
|
87
91
|
},
|
|
88
92
|
tablePrefix: envVars.entityStorageTablePrefix
|
|
89
93
|
}
|
|
@@ -123,7 +127,7 @@ async function configureEntityStorage(coreConfig, envVars) {
|
|
|
123
127
|
type: EntityStorageConnectorType.ScyllaDb,
|
|
124
128
|
options: {
|
|
125
129
|
config: {
|
|
126
|
-
hosts: envVars.scylladbHosts
|
|
130
|
+
hosts: commaSeparatedListToArray(envVars.scylladbHosts),
|
|
127
131
|
localDataCenter: envVars.scylladbLocalDataCenter ?? "",
|
|
128
132
|
keyspace: envVars.scylladbKeyspace ?? "",
|
|
129
133
|
port: Coerce.integer(envVars.scylladbPort)
|
|
@@ -203,7 +207,7 @@ async function configureEntityStorage(coreConfig, envVars) {
|
|
|
203
207
|
*/
|
|
204
208
|
async function configureBlobStorage(coreConfig, envVars) {
|
|
205
209
|
coreConfig.types.blobStorageConnector ??= [];
|
|
206
|
-
const blobStorageConnectorTypes = envVars.blobStorageConnectorType
|
|
210
|
+
const blobStorageConnectorTypes = commaSeparatedListToArray(envVars.blobStorageConnectorType);
|
|
207
211
|
if (blobStorageConnectorTypes.includes(BlobStorageConnectorType.Memory)) {
|
|
208
212
|
coreConfig.types.blobStorageConnector.push({
|
|
209
213
|
type: BlobStorageConnectorType.Memory
|
|
@@ -300,7 +304,7 @@ async function configureBlobStorage(coreConfig, envVars) {
|
|
|
300
304
|
options: {
|
|
301
305
|
config: {
|
|
302
306
|
vaultKeyId: (envVars.blobStorageEnableEncryption ?? false)
|
|
303
|
-
?
|
|
307
|
+
? envVars.blobStorageEncryptionKeyId
|
|
304
308
|
: undefined
|
|
305
309
|
}
|
|
306
310
|
}
|
|
@@ -314,7 +318,7 @@ async function configureBlobStorage(coreConfig, envVars) {
|
|
|
314
318
|
*/
|
|
315
319
|
async function configureLogging(coreConfig, envVars) {
|
|
316
320
|
coreConfig.types.loggingConnector ??= [];
|
|
317
|
-
const loggingConnectorTypes = (envVars.loggingConnector
|
|
321
|
+
const loggingConnectorTypes = commaSeparatedListToArray(envVars.loggingConnector);
|
|
318
322
|
let additionalConnectorCount = 0;
|
|
319
323
|
for (const loggingConnector of loggingConnectorTypes) {
|
|
320
324
|
if (loggingConnector === LoggingConnectorType.Console) {
|
|
@@ -389,10 +393,10 @@ async function configureVault(coreConfig, envVars) {
|
|
|
389
393
|
* @param envVars The environment variables.
|
|
390
394
|
*/
|
|
391
395
|
async function configureBackgroundTask(coreConfig, envVars) {
|
|
392
|
-
coreConfig.types.
|
|
393
|
-
if (envVars.
|
|
394
|
-
coreConfig.types.
|
|
395
|
-
type:
|
|
396
|
+
coreConfig.types.backgroundTaskComponent ??= [];
|
|
397
|
+
if (Coerce.boolean(envVars.backgroundTasksEnabled) ?? false) {
|
|
398
|
+
coreConfig.types.backgroundTaskComponent.push({
|
|
399
|
+
type: BackgroundTaskComponentType.Service
|
|
396
400
|
});
|
|
397
401
|
}
|
|
398
402
|
}
|
|
@@ -445,6 +449,24 @@ async function configureTenant(coreConfig, envVars) {
|
|
|
445
449
|
coreConfig.types.tenantComponent.push({ type: TenantAdminComponentType.Service });
|
|
446
450
|
}
|
|
447
451
|
}
|
|
452
|
+
/**
|
|
453
|
+
* Configures the context id handlers.
|
|
454
|
+
* @param coreConfig The core config.
|
|
455
|
+
* @param envVars The environment variables.
|
|
456
|
+
*/
|
|
457
|
+
async function configureContextIdHandlers(coreConfig, envVars) {
|
|
458
|
+
coreConfig.types.contextIdHandlerComponent ??= [];
|
|
459
|
+
coreConfig.types.contextIdHandlerComponent.push({
|
|
460
|
+
type: ContextIdHandlerComponentType.Did,
|
|
461
|
+
features: [CONTEXT_ID_HANDLER_FEATURE_DID]
|
|
462
|
+
});
|
|
463
|
+
if (Coerce.boolean(envVars.tenantEnabled) ?? false) {
|
|
464
|
+
coreConfig.types.contextIdHandlerComponent.push({
|
|
465
|
+
type: ContextIdHandlerComponentType.Tenant,
|
|
466
|
+
features: [CONTEXT_ID_HANDLER_FEATURE_TENANT]
|
|
467
|
+
});
|
|
468
|
+
}
|
|
469
|
+
}
|
|
448
470
|
/**
|
|
449
471
|
* Configures the messaging.
|
|
450
472
|
* @param coreConfig The core config.
|
|
@@ -629,7 +651,7 @@ async function configureVerifiableStorage(coreConfig, envVars) {
|
|
|
629
651
|
type: ImmutableProofComponentType.Service,
|
|
630
652
|
options: {
|
|
631
653
|
config: {
|
|
632
|
-
verificationMethodId: envVars.immutableProofVerificationMethodId
|
|
654
|
+
verificationMethodId: envVars.immutableProofVerificationMethodId
|
|
633
655
|
}
|
|
634
656
|
}
|
|
635
657
|
});
|
|
@@ -652,7 +674,10 @@ async function configureIdentity(coreConfig, envVars) {
|
|
|
652
674
|
coreConfig.types.identityConnector.push({
|
|
653
675
|
type: IdentityConnectorType.Iota,
|
|
654
676
|
options: {
|
|
655
|
-
config:
|
|
677
|
+
config: {
|
|
678
|
+
...(dltConfig?.options?.config ?? {}),
|
|
679
|
+
walletAddressIndex: Coerce.integer(envVars.identityWalletAddressIndex) ?? 0
|
|
680
|
+
}
|
|
656
681
|
}
|
|
657
682
|
});
|
|
658
683
|
}
|
|
@@ -734,7 +759,7 @@ async function configureAttestation(coreConfig, envVars) {
|
|
|
734
759
|
type: AttestationComponentType.Service,
|
|
735
760
|
options: {
|
|
736
761
|
config: {
|
|
737
|
-
verificationMethodId: envVars.attestationVerificationMethodId
|
|
762
|
+
verificationMethodId: envVars.attestationVerificationMethodId
|
|
738
763
|
}
|
|
739
764
|
}
|
|
740
765
|
});
|
|
@@ -776,27 +801,18 @@ async function configureDataProcessing(coreConfig, envVars) {
|
|
|
776
801
|
coreConfig.types.dataProcessingComponent ??= [];
|
|
777
802
|
coreConfig.types.dataProcessingComponent.push({ type: DataProcessingComponentType.Service });
|
|
778
803
|
coreConfig.types.dataConverterConnector ??= [];
|
|
779
|
-
const converterConnectors = envVars.dataConverterConnectors
|
|
804
|
+
const converterConnectors = commaSeparatedListToArray(envVars.dataConverterConnectors);
|
|
780
805
|
for (const converterConnector of converterConnectors) {
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
});
|
|
785
|
-
}
|
|
786
|
-
else if (converterConnector === DataConverterConnectorType.Xml) {
|
|
787
|
-
coreConfig.types.dataConverterConnector.push({
|
|
788
|
-
type: DataConverterConnectorType.Xml
|
|
789
|
-
});
|
|
790
|
-
}
|
|
806
|
+
coreConfig.types.dataConverterConnector.push({
|
|
807
|
+
type: converterConnector
|
|
808
|
+
});
|
|
791
809
|
}
|
|
792
810
|
coreConfig.types.dataExtractorConnector ??= [];
|
|
793
|
-
const extractorConnectors = envVars.dataExtractorConnectors
|
|
811
|
+
const extractorConnectors = commaSeparatedListToArray(envVars.dataExtractorConnectors);
|
|
794
812
|
for (const extractorConnector of extractorConnectors) {
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
});
|
|
799
|
-
}
|
|
813
|
+
coreConfig.types.dataExtractorConnector.push({
|
|
814
|
+
type: extractorConnector
|
|
815
|
+
});
|
|
800
816
|
}
|
|
801
817
|
}
|
|
802
818
|
}
|
|
@@ -826,13 +842,45 @@ async function configureVerifiableCredentialAuthentication(coreConfig, envVars)
|
|
|
826
842
|
type: AuthenticationGeneratorComponentType.VerifiableCredential,
|
|
827
843
|
options: {
|
|
828
844
|
config: {
|
|
829
|
-
verificationMethodId: envVars.vcAuthenticationVerificationMethodId ??
|
|
845
|
+
verificationMethodId: envVars.vcAuthenticationVerificationMethodId ?? ""
|
|
830
846
|
}
|
|
831
847
|
},
|
|
832
848
|
features: ["verifiable-credential"]
|
|
833
849
|
});
|
|
834
850
|
}
|
|
835
851
|
}
|
|
852
|
+
/**
|
|
853
|
+
* Configures the trust components.
|
|
854
|
+
* @param coreConfig The core config.
|
|
855
|
+
* @param envVars The environment variables.
|
|
856
|
+
*/
|
|
857
|
+
async function configureTrust(coreConfig, envVars) {
|
|
858
|
+
if (Coerce.boolean(envVars.trustEnabled) ?? false) {
|
|
859
|
+
coreConfig.types.trustComponent ??= [];
|
|
860
|
+
coreConfig.types.trustComponent.push({
|
|
861
|
+
type: TrustComponentType.Service
|
|
862
|
+
});
|
|
863
|
+
coreConfig.types.trustGeneratorComponent ??= [];
|
|
864
|
+
const trustGeneratorTypes = commaSeparatedListToArray(envVars.trustGenerators);
|
|
865
|
+
for (const trustGeneratorType of trustGeneratorTypes) {
|
|
866
|
+
coreConfig.types.trustGeneratorComponent.push({
|
|
867
|
+
type: trustGeneratorType,
|
|
868
|
+
options: {
|
|
869
|
+
config: {
|
|
870
|
+
verificationMethodId: envVars.trustVerificationMethodId ?? ""
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
});
|
|
874
|
+
}
|
|
875
|
+
coreConfig.types.trustVerifierComponent ??= [];
|
|
876
|
+
const trustVerifierTypes = commaSeparatedListToArray(envVars.trustVerifiers);
|
|
877
|
+
for (const trustVerifierType of trustVerifierTypes) {
|
|
878
|
+
coreConfig.types.trustVerifierComponent.push({
|
|
879
|
+
type: trustVerifierType
|
|
880
|
+
});
|
|
881
|
+
}
|
|
882
|
+
}
|
|
883
|
+
}
|
|
836
884
|
/**
|
|
837
885
|
* Configures the rights management.
|
|
838
886
|
* @param coreConfig The core config.
|
|
@@ -850,55 +898,26 @@ async function configureRightsManagement(coreConfig, envVars) {
|
|
|
850
898
|
});
|
|
851
899
|
coreConfig.types.rightsManagementPipComponent ??= [];
|
|
852
900
|
coreConfig.types.rightsManagementPipComponent.push({
|
|
853
|
-
type: RightsManagementPipComponentType.Service
|
|
854
|
-
options: {
|
|
855
|
-
informationModulesConfig: Is.arrayValue(envVars.rightsManagementInformationSources)
|
|
856
|
-
? envVars.rightsManagementInformationSources
|
|
857
|
-
: undefined
|
|
858
|
-
}
|
|
901
|
+
type: RightsManagementPipComponentType.Service
|
|
859
902
|
});
|
|
860
903
|
coreConfig.types.rightsManagementPxpComponent ??= [];
|
|
861
904
|
coreConfig.types.rightsManagementPxpComponent.push({
|
|
862
|
-
type: RightsManagementPxpComponentType.Service
|
|
863
|
-
options: {
|
|
864
|
-
actionModulesConfig: Is.arrayValue(envVars.rightsManagementExecutionActions)
|
|
865
|
-
? envVars.rightsManagementExecutionActions
|
|
866
|
-
: undefined
|
|
867
|
-
}
|
|
905
|
+
type: RightsManagementPxpComponentType.Service
|
|
868
906
|
});
|
|
869
907
|
coreConfig.types.rightsManagementPdpComponent ??= [];
|
|
870
908
|
coreConfig.types.rightsManagementPdpComponent.push({
|
|
871
|
-
type: RightsManagementPdpComponentType.Service
|
|
872
|
-
options: {
|
|
873
|
-
arbiterModulesConfig: Is.arrayValue(envVars.rightsManagementArbiters)
|
|
874
|
-
? envVars.rightsManagementArbiters
|
|
875
|
-
: undefined
|
|
876
|
-
}
|
|
909
|
+
type: RightsManagementPdpComponentType.Service
|
|
877
910
|
});
|
|
878
911
|
coreConfig.types.rightsManagementPepComponent ??= [];
|
|
879
912
|
coreConfig.types.rightsManagementPepComponent.push({
|
|
880
|
-
type: RightsManagementPepComponentType.Service
|
|
881
|
-
options: {
|
|
882
|
-
processorModulesConfig: Is.arrayValue(envVars.rightsManagementEnforcementProcessors)
|
|
883
|
-
? envVars.rightsManagementEnforcementProcessors
|
|
884
|
-
: undefined
|
|
885
|
-
}
|
|
913
|
+
type: RightsManagementPepComponentType.Service
|
|
886
914
|
});
|
|
887
915
|
coreConfig.types.rightsManagementPnpComponent ??= [];
|
|
888
916
|
coreConfig.types.rightsManagementPnpComponent.push({
|
|
889
917
|
type: RightsManagementPnpComponentType.Service,
|
|
890
918
|
options: {
|
|
891
|
-
negotiatorModulesConfig: Is.arrayValue(envVars.rightsManagementNegotiators)
|
|
892
|
-
? envVars.rightsManagementNegotiators
|
|
893
|
-
: undefined,
|
|
894
|
-
requesterModulesConfig: Is.arrayValue(envVars.rightsManagementRequesters)
|
|
895
|
-
? envVars.rightsManagementRequesters
|
|
896
|
-
: undefined,
|
|
897
919
|
config: {
|
|
898
920
|
baseCallbackUrl: envVars.rightsManagementBaseCallbackUrl ?? "",
|
|
899
|
-
offers: Is.arrayValue(envVars.rightsManagementOffers)
|
|
900
|
-
? envVars.rightsManagementOffers
|
|
901
|
-
: [],
|
|
902
921
|
negotiationComponentCreator: async (url) => new PolicyNegotiationPointRestClient({ endpoint: url })
|
|
903
922
|
}
|
|
904
923
|
}
|
|
@@ -920,6 +939,55 @@ async function configureRightsManagement(coreConfig, envVars) {
|
|
|
920
939
|
}
|
|
921
940
|
}
|
|
922
941
|
});
|
|
942
|
+
coreConfig.types.rightsManagementDataAccessHandlerComponent ??= [];
|
|
943
|
+
const dataAccessHandlerTypes = commaSeparatedListToArray(envVars.rightsManagementDataAccessHandlers);
|
|
944
|
+
for (const dataAccessHandlerType of dataAccessHandlerTypes) {
|
|
945
|
+
coreConfig.types.rightsManagementDataAccessHandlerComponent.push({
|
|
946
|
+
type: dataAccessHandlerType
|
|
947
|
+
});
|
|
948
|
+
}
|
|
949
|
+
coreConfig.types.rightsManagementPolicyArbiterComponent ??= [];
|
|
950
|
+
const policyArbiterTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyArbiters);
|
|
951
|
+
for (const policyArbiterType of policyArbiterTypes) {
|
|
952
|
+
coreConfig.types.rightsManagementPolicyArbiterComponent.push({
|
|
953
|
+
type: policyArbiterType
|
|
954
|
+
});
|
|
955
|
+
}
|
|
956
|
+
coreConfig.types.rightsManagementPolicyEnforcementProcessorComponent ??= [];
|
|
957
|
+
const policyEnforcementProcessTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyEnforcementProcessors);
|
|
958
|
+
for (const policyEnforcementProcessorType of policyEnforcementProcessTypes) {
|
|
959
|
+
coreConfig.types.rightsManagementPolicyEnforcementProcessorComponent.push({
|
|
960
|
+
type: policyEnforcementProcessorType
|
|
961
|
+
});
|
|
962
|
+
}
|
|
963
|
+
coreConfig.types.rightsManagementPolicyExecutionActionComponent ??= [];
|
|
964
|
+
const policyExecutionActionTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyExecutionActions);
|
|
965
|
+
for (const policyExecutionActionType of policyExecutionActionTypes) {
|
|
966
|
+
coreConfig.types.rightsManagementPolicyExecutionActionComponent.push({
|
|
967
|
+
type: policyExecutionActionType
|
|
968
|
+
});
|
|
969
|
+
}
|
|
970
|
+
coreConfig.types.rightsManagementPolicyInformationSourceComponent ??= [];
|
|
971
|
+
const policyInformationSourceTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyInformationSources);
|
|
972
|
+
for (const policyInformationSourceType of policyInformationSourceTypes) {
|
|
973
|
+
coreConfig.types.rightsManagementPolicyInformationSourceComponent.push({
|
|
974
|
+
type: policyInformationSourceType
|
|
975
|
+
});
|
|
976
|
+
}
|
|
977
|
+
coreConfig.types.rightsManagementPolicyRequesterComponent ??= [];
|
|
978
|
+
const policyRequesterTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyRequesters);
|
|
979
|
+
for (const policyRequesterType of policyRequesterTypes) {
|
|
980
|
+
coreConfig.types.rightsManagementPolicyRequesterComponent.push({
|
|
981
|
+
type: policyRequesterType
|
|
982
|
+
});
|
|
983
|
+
}
|
|
984
|
+
coreConfig.types.rightsManagementPolicyNegotiatorComponent ??= [];
|
|
985
|
+
const policyNegotiatorTypes = commaSeparatedListToArray(envVars.rightsManagementPolicyNegotiators);
|
|
986
|
+
for (const policyNegotiatorType of policyNegotiatorTypes) {
|
|
987
|
+
coreConfig.types.rightsManagementPolicyNegotiatorComponent.push({
|
|
988
|
+
type: policyNegotiatorType
|
|
989
|
+
});
|
|
990
|
+
}
|
|
923
991
|
}
|
|
924
992
|
}
|
|
925
993
|
/**
|
|
@@ -955,8 +1023,7 @@ async function configureSynchronisedStorage(coreConfig, envVars) {
|
|
|
955
1023
|
options: {
|
|
956
1024
|
config: {
|
|
957
1025
|
verifiableStorageKeyId: verifiableStorageKeyId ?? "",
|
|
958
|
-
blobStorageEncryptionKeyId: envVars.synchronisedStorageBlobStorageEncryptionKeyId
|
|
959
|
-
SYNCHRONISED_STORAGE_BLOB_STORAGE_ENCRYPTION_KEY_ID,
|
|
1026
|
+
blobStorageEncryptionKeyId: envVars.synchronisedStorageBlobStorageEncryptionKeyId,
|
|
960
1027
|
entityUpdateIntervalMinutes: Coerce.number(envVars.synchronisedStorageEntityUpdateIntervalMinutes),
|
|
961
1028
|
consolidationIntervalMinutes: Coerce.number(envVars.synchronisedStorageConsolidationIntervalMinutes),
|
|
962
1029
|
consolidationBatchSize: Coerce.number(envVars.synchronisedStorageConsolidationBatchSize),
|
|
@@ -988,13 +1055,16 @@ async function configureFederatedCatalogue(coreConfig, envVars) {
|
|
|
988
1055
|
coreConfig.types.federatedCatalogueComponent ??= [];
|
|
989
1056
|
coreConfig.types.federatedCatalogueComponent.push({
|
|
990
1057
|
type: FederatedCatalogueComponentType.Service,
|
|
991
|
-
options: {
|
|
992
|
-
config: {
|
|
993
|
-
subResourceCacheTtlMs: Coerce.number(envVars.federatedCatalogueCacheTtlMs),
|
|
994
|
-
clearingHouseApproverList: Coerce.object(envVars.federatedCatalogueClearingHouseApproverList) ?? []
|
|
995
|
-
}
|
|
996
|
-
}
|
|
1058
|
+
options: {}
|
|
997
1059
|
});
|
|
1060
|
+
coreConfig.types.federatedCatalogueFilterComponent ??= [];
|
|
1061
|
+
const filters = commaSeparatedListToArray(envVars.federatedCatalogueFilters);
|
|
1062
|
+
for (const filter of filters) {
|
|
1063
|
+
coreConfig.types.federatedCatalogueFilterComponent.push({
|
|
1064
|
+
type: filter,
|
|
1065
|
+
options: {}
|
|
1066
|
+
});
|
|
1067
|
+
}
|
|
998
1068
|
}
|
|
999
1069
|
}
|
|
1000
1070
|
/**
|
|
@@ -1048,4 +1118,15 @@ async function configureDlt(coreConfig, envVars) {
|
|
|
1048
1118
|
});
|
|
1049
1119
|
}
|
|
1050
1120
|
}
|
|
1121
|
+
/**
|
|
1122
|
+
* Converts a comma separated list to an array.
|
|
1123
|
+
* @param value The comma separated list.
|
|
1124
|
+
* @returns The array.
|
|
1125
|
+
*/
|
|
1126
|
+
function commaSeparatedListToArray(value) {
|
|
1127
|
+
return (value ?? "")
|
|
1128
|
+
.split(",")
|
|
1129
|
+
.map(item => item.trim())
|
|
1130
|
+
.filter(item => item.length > 0);
|
|
1131
|
+
}
|
|
1051
1132
|
//# sourceMappingURL=engineEnvBuilder.js.map
|