@twin.org/engine-server-types 0.0.3-next.20 → 0.0.3-next.22
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/components/authentication.js +22 -19
- package/dist/es/components/authentication.js.map +1 -1
- package/dist/es/components/authenticationAdmin.js +17 -15
- package/dist/es/components/authenticationAdmin.js.map +1 -1
- package/dist/es/components/hosting.js +12 -10
- package/dist/es/components/hosting.js.map +1 -1
- package/dist/es/components/information.js +12 -9
- package/dist/es/components/information.js.map +1 -1
- package/dist/es/components/mimeTypeProcessor.js +7 -7
- package/dist/es/components/mimeTypeProcessor.js.map +1 -1
- package/dist/es/components/restRouteProcessor.js +29 -33
- package/dist/es/components/restRouteProcessor.js.map +1 -1
- package/dist/es/components/socketRouteProcessor.js +26 -30
- package/dist/es/components/socketRouteProcessor.js.map +1 -1
- package/dist/types/components/authentication.d.ts +3 -7
- package/dist/types/components/authenticationAdmin.d.ts +3 -7
- package/dist/types/components/hosting.d.ts +3 -7
- package/dist/types/components/information.d.ts +3 -7
- package/dist/types/components/mimeTypeProcessor.d.ts +2 -7
- package/dist/types/components/restRouteProcessor.d.ts +2 -7
- package/dist/types/components/socketRouteProcessor.d.ts +2 -7
- package/docs/changelog.md +30 -0
- package/docs/reference/functions/initialiseAuthenticationAdminComponent.md +2 -2
- package/docs/reference/functions/initialiseAuthenticationComponent.md +2 -2
- package/docs/reference/functions/initialiseHostingComponent.md +2 -2
- package/docs/reference/functions/initialiseInformationComponent.md +2 -2
- package/docs/reference/functions/initialiseMimeTypeProcessorComponent.md +2 -2
- package/docs/reference/functions/initialiseRestRouteProcessorComponent.md +2 -2
- package/docs/reference/functions/initialiseSocketRouteProcessorComponent.md +2 -2
- package/package.json +3 -3
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
1
3
|
import { EntityStorageAuthenticationRestClient } from "@twin.org/api-auth-entity-storage-rest-client";
|
|
2
4
|
import { EntityStorageAuthenticationService, initSchema as initSchemaAuthEntityStorage } from "@twin.org/api-auth-entity-storage-service";
|
|
3
5
|
import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
|
|
4
6
|
import { ComponentFactory } from "@twin.org/core";
|
|
5
|
-
import { initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
7
|
+
import { EngineTypeHelper, initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
6
8
|
import { AuthenticationComponentType } from "../models/types/authenticationComponentType.js";
|
|
7
9
|
/**
|
|
8
10
|
* Initialise the authentication.
|
|
@@ -11,29 +13,30 @@ import { AuthenticationComponentType } from "../models/types/authenticationCompo
|
|
|
11
13
|
* @param instanceConfig The instance config.
|
|
12
14
|
* @returns The instance created and the factory for it.
|
|
13
15
|
*/
|
|
14
|
-
export
|
|
15
|
-
let
|
|
16
|
-
let
|
|
16
|
+
export function initialiseAuthenticationComponent(engineCore, context, instanceConfig) {
|
|
17
|
+
let createComponent;
|
|
18
|
+
let instanceTypeName;
|
|
17
19
|
if (instanceConfig.type === AuthenticationComponentType.EntityStorage) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
createComponent = (createConfig) => {
|
|
21
|
+
initSchemaAuthEntityStorage();
|
|
22
|
+
initialiseEntityStorageConnector(engineCore, context, createConfig.options?.userEntityStorageType, "AuthenticationUser", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
|
|
23
|
+
ContextIdKeys.Node,
|
|
24
|
+
ContextIdKeys.Tenant
|
|
25
|
+
]));
|
|
26
|
+
return new EntityStorageAuthenticationService(EngineTypeHelper.mergeConfig({
|
|
27
|
+
vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector"),
|
|
28
|
+
authenticationAdminServiceType: engineCore.getRegisteredInstanceType("authenticationAdminComponent")
|
|
29
|
+
}, createConfig.options));
|
|
30
|
+
};
|
|
31
|
+
instanceTypeName = "entity-storage-authentication-service";
|
|
29
32
|
}
|
|
30
33
|
else if (instanceConfig.type === AuthenticationComponentType.RestClient) {
|
|
31
|
-
|
|
32
|
-
|
|
34
|
+
createComponent = (createConfig) => new EntityStorageAuthenticationRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
35
|
+
instanceTypeName = "entity-storage-authentication-rest-client";
|
|
33
36
|
}
|
|
34
37
|
return {
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
createComponent: createComponent,
|
|
39
|
+
instanceTypeName,
|
|
37
40
|
factory: ComponentFactory
|
|
38
41
|
};
|
|
39
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../src/components/authentication.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../src/components/authentication.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,qCAAqC,EAAE,MAAM,+CAA+C,CAAC;AACtG,OAAO,EACN,kCAAkC,EAClC,UAAU,IAAI,2BAA2B,EAEzC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAI5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAE7F;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAChD,UAA4C,EAC5C,OAAgD,EAChD,cAA6C;IAE7C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,aAAa,EAAE,CAAC;QACvE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,2BAA2B,EAAE,CAAC;YAC9B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,qBAAqB,wBAE3C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,kCAAkC,CAC5C,gBAAgB,CAAC,WAAW,CAC3B;gBACC,kBAAkB,EAAE,UAAU,CAAC,yBAAyB,CAAC,gBAAgB,CAAC;gBAC1E,8BAA8B,EAAE,UAAU,CAAC,yBAAyB,CACnE,8BAA8B,CAC9B;aACD,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,0CAAsD,CAAC;IACxE,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,2BAA2B,CAAC,UAAU,EAAE,CAAC;QAC3E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,qCAAqC,CACxC,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,8CAAyD,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 { EntityStorageAuthenticationRestClient } from \"@twin.org/api-auth-entity-storage-rest-client\";\nimport {\n\tEntityStorageAuthenticationService,\n\tinitSchema as initSchemaAuthEntityStorage,\n\ttype AuthenticationUser\n} from \"@twin.org/api-auth-entity-storage-service\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { EngineTypeHelper, initialiseEntityStorageConnector } from \"@twin.org/engine-types\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { AuthenticationComponentConfig } from \"../models/config/authenticationComponentConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { AuthenticationComponentType } from \"../models/types/authenticationComponentType.js\";\n\n/**\n * Initialise the authentication.\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 initialiseAuthenticationComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: AuthenticationComponentConfig\n): EngineTypeInitialiserReturn<AuthenticationComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === AuthenticationComponentType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaAuthEntityStorage();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.userEntityStorageType,\n\t\t\t\tnameof<AuthenticationUser>(),\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 EntityStorageAuthenticationService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\"),\n\t\t\t\t\t\tauthenticationAdminServiceType: engineCore.getRegisteredInstanceType(\n\t\t\t\t\t\t\t\"authenticationAdminComponent\"\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\t};\n\t\tinstanceTypeName = nameofKebabCase(EntityStorageAuthenticationService);\n\t} else if (instanceConfig.type === AuthenticationComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew EntityStorageAuthenticationRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(EntityStorageAuthenticationRestClient);\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,7 +1,9 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
1
3
|
import { EntityStorageAuthenticationAdminService, initSchema as initSchemaAuthEntityStorage } from "@twin.org/api-auth-entity-storage-service";
|
|
2
4
|
import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
|
|
3
5
|
import { ComponentFactory } from "@twin.org/core";
|
|
4
|
-
import { initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
6
|
+
import { EngineTypeHelper, initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
5
7
|
import { AuthenticationAdminComponentType } from "../models/types/authenticationAdminComponentType.js";
|
|
6
8
|
/**
|
|
7
9
|
* Initialise the authentication admin.
|
|
@@ -10,23 +12,23 @@ import { AuthenticationAdminComponentType } from "../models/types/authentication
|
|
|
10
12
|
* @param instanceConfig The instance config.
|
|
11
13
|
* @returns The instance created and the factory for it.
|
|
12
14
|
*/
|
|
13
|
-
export
|
|
14
|
-
let
|
|
15
|
-
let
|
|
15
|
+
export function initialiseAuthenticationAdminComponent(engineCore, context, instanceConfig) {
|
|
16
|
+
let createComponent;
|
|
17
|
+
let instanceTypeName;
|
|
16
18
|
if (instanceConfig.type === AuthenticationAdminComponentType.EntityStorage) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
19
|
+
createComponent = (createConfig) => {
|
|
20
|
+
initSchemaAuthEntityStorage();
|
|
21
|
+
initialiseEntityStorageConnector(engineCore, context, createConfig.options?.userEntityStorageType, "AuthenticationUser", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
|
|
22
|
+
ContextIdKeys.Node,
|
|
23
|
+
ContextIdKeys.Tenant
|
|
24
|
+
]));
|
|
25
|
+
return new EntityStorageAuthenticationAdminService(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
26
|
+
};
|
|
27
|
+
instanceTypeName = "entity-storage-authentication-admin-service";
|
|
26
28
|
}
|
|
27
29
|
return {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
createComponent: createComponent,
|
|
31
|
+
instanceTypeName,
|
|
30
32
|
factory: ComponentFactory
|
|
31
33
|
};
|
|
32
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticationAdmin.js","sourceRoot":"","sources":["../../../src/components/authenticationAdmin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authenticationAdmin.js","sourceRoot":"","sources":["../../../src/components/authenticationAdmin.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EACN,uCAAuC,EACvC,UAAU,IAAI,2BAA2B,EAEzC,MAAM,2CAA2C,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAI5F,OAAO,EAAE,gCAAgC,EAAE,MAAM,qDAAqD,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,UAAU,sCAAsC,CACrD,UAA4C,EAC5C,OAAgD,EAChD,cAAkD;IAElD,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,gCAAgC,CAAC,aAAa,EAAE,CAAC;QAC5E,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE;YACzD,2BAA2B,EAAE,CAAC;YAC9B,gCAAgC,CAC/B,UAAU,EACV,OAAO,EACP,YAAY,CAAC,OAAO,EAAE,qBAAqB,wBAE3C,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE;gBACpE,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,MAAM;aACpB,CAAC,CACF,CAAC;YACF,OAAO,IAAI,uCAAuC,CACjD,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,CAAC,CAAC;QACF,gBAAgB,gDAA2D,CAAC;IAC7E,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 {\n\tEntityStorageAuthenticationAdminService,\n\tinitSchema as initSchemaAuthEntityStorage,\n\ttype AuthenticationUser\n} from \"@twin.org/api-auth-entity-storage-service\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { EngineTypeHelper, initialiseEntityStorageConnector } from \"@twin.org/engine-types\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { AuthenticationAdminComponentConfig } from \"../models/config/authenticationAdminComponentConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { AuthenticationAdminComponentType } from \"../models/types/authenticationAdminComponentType.js\";\n\n/**\n * Initialise the authentication admin.\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 initialiseAuthenticationAdminComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: AuthenticationAdminComponentConfig\n): EngineTypeInitialiserReturn<AuthenticationAdminComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === AuthenticationAdminComponentType.EntityStorage) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaAuthEntityStorage();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.userEntityStorageType,\n\t\t\t\tnameof<AuthenticationUser>(),\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 EntityStorageAuthenticationAdminService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(EntityStorageAuthenticationAdminService);\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,5 +1,8 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
1
3
|
import { HostingService } from "@twin.org/api-service";
|
|
2
4
|
import { ComponentFactory } from "@twin.org/core";
|
|
5
|
+
import { EngineTypeHelper } from "@twin.org/engine-types";
|
|
3
6
|
import { HostingComponentType } from "../models/types/hostingComponentType.js";
|
|
4
7
|
/**
|
|
5
8
|
* Initialise the hosting component.
|
|
@@ -8,19 +11,18 @@ import { HostingComponentType } from "../models/types/hostingComponentType.js";
|
|
|
8
11
|
* @param instanceConfig The instance config.
|
|
9
12
|
* @returns The instance created and the factory for it.
|
|
10
13
|
*/
|
|
11
|
-
export
|
|
12
|
-
let
|
|
13
|
-
let
|
|
14
|
+
export function initialiseHostingComponent(engineCore, context, instanceConfig) {
|
|
15
|
+
let createComponent;
|
|
16
|
+
let instanceTypeName;
|
|
14
17
|
if (instanceConfig.type === HostingComponentType.Service) {
|
|
15
|
-
|
|
16
|
-
tenantAdminComponentType: engineCore.getRegisteredInstanceTypeOptional("tenantAdminComponent")
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
instanceType = "hosting-service";
|
|
18
|
+
createComponent = (createConfig) => new HostingService(EngineTypeHelper.mergeConfig({
|
|
19
|
+
tenantAdminComponentType: engineCore.getRegisteredInstanceTypeOptional("tenantAdminComponent")
|
|
20
|
+
}, createConfig.options));
|
|
21
|
+
instanceTypeName = "hosting-service";
|
|
20
22
|
}
|
|
21
23
|
return {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
createComponent: createComponent,
|
|
25
|
+
instanceTypeName,
|
|
24
26
|
factory: ComponentFactory
|
|
25
27
|
};
|
|
26
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosting.js","sourceRoot":"","sources":["../../../src/components/hosting.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hosting.js","sourceRoot":"","sources":["../../../src/components/hosting.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAE/E;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACzC,UAA4C,EAC5C,OAAgD,EAChD,cAAsC;IAEtC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,oBAAoB,CAAC,OAAO,EAAE,CAAC;QAC1D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,cAAc,CACjB,gBAAgB,CAAC,WAAW,CAC3B;YACC,wBAAwB,EACvB,UAAU,CAAC,iCAAiC,CAAC,sBAAsB,CAAC;SACrE,EACD,YAAY,CAAC,OAAO,CACpB,CACD,CAAC;QACH,gBAAgB,oBAAkC,CAAC;IACpD,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 { HostingService } from \"@twin.org/api-service\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { EngineTypeHelper } from \"@twin.org/engine-types\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { HostingComponentConfig } from \"../models/config/hostingComponentConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { HostingComponentType } from \"../models/types/hostingComponentType.js\";\n\n/**\n * Initialise the hosting 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 initialiseHostingComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: HostingComponentConfig\n): EngineTypeInitialiserReturn<HostingComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === HostingComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew HostingService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\ttenantAdminComponentType:\n\t\t\t\t\t\t\tengineCore.getRegisteredInstanceTypeOptional(\"tenantAdminComponent\")\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(HostingService);\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,6 +1,9 @@
|
|
|
1
|
+
// Copyright 2024 IOTA Stiftung.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0.
|
|
1
3
|
import { InformationRestClient } from "@twin.org/api-rest-client";
|
|
2
4
|
import { InformationService } from "@twin.org/api-service";
|
|
3
5
|
import { ComponentFactory } from "@twin.org/core";
|
|
6
|
+
import { EngineTypeHelper } from "@twin.org/engine-types";
|
|
4
7
|
import { InformationComponentType } from "../models/types/informationComponentType.js";
|
|
5
8
|
/**
|
|
6
9
|
* Initialise the information component.
|
|
@@ -9,20 +12,20 @@ import { InformationComponentType } from "../models/types/informationComponentTy
|
|
|
9
12
|
* @param instanceConfig The instance config.
|
|
10
13
|
* @returns The instance created and the factory for it.
|
|
11
14
|
*/
|
|
12
|
-
export
|
|
13
|
-
let
|
|
14
|
-
let
|
|
15
|
+
export function initialiseInformationComponent(engineCore, context, instanceConfig) {
|
|
16
|
+
let createComponent;
|
|
17
|
+
let instanceTypeName;
|
|
15
18
|
if (instanceConfig.type === InformationComponentType.Service) {
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
createComponent = (createConfig) => new InformationService(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
20
|
+
instanceTypeName = "information-service";
|
|
18
21
|
}
|
|
19
22
|
else if (instanceConfig.type === InformationComponentType.RestClient) {
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
createComponent = (createConfig) => new InformationRestClient(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
24
|
+
instanceTypeName = "information-rest-client";
|
|
22
25
|
}
|
|
23
26
|
return {
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
createComponent: createComponent,
|
|
28
|
+
instanceTypeName,
|
|
26
29
|
factory: ComponentFactory
|
|
27
30
|
};
|
|
28
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"information.js","sourceRoot":"","sources":["../../../src/components/information.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"information.js","sourceRoot":"","sources":["../../../src/components/information.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AAMnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAC7C,UAA4C,EAC5C,OAAgD,EAChD,cAA0C;IAE1C,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,wBAAwB,CAAC,OAAO,EAAE,CAAC;QAC9D,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,kBAAkB,CACrB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,wBAAsC,CAAC;IACxD,CAAC;SAAM,IAAI,cAAc,CAAC,IAAI,KAAK,wBAAwB,CAAC,UAAU,EAAE,CAAC;QACxE,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CACzD,IAAI,qBAAqB,CACxB,gBAAgB,CAAC,WAAW,CAAqC,YAAY,CAAC,OAAO,CAAC,CACtF,CAAC;QACH,gBAAgB,4BAAyC,CAAC;IAC3D,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 { InformationRestClient } from \"@twin.org/api-rest-client\";\nimport { InformationService } from \"@twin.org/api-service\";\nimport { ComponentFactory, type IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { EngineTypeHelper } from \"@twin.org/engine-types\";\nimport { nameofKebabCase } from \"@twin.org/nameof\";\nimport type { InformationComponentConfig } from \"../models/config/informationComponentConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { InformationComponentType } from \"../models/types/informationComponentType.js\";\n\n/**\n * Initialise the information 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 initialiseInformationComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: InformationComponentConfig\n): EngineTypeInitialiserReturn<InformationComponentConfig, typeof ComponentFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === InformationComponentType.Service) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew InformationService(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(InformationService);\n\t} else if (instanceConfig.type === InformationComponentType.RestClient) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew InformationRestClient(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(InformationRestClient);\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"]}
|
|
@@ -10,16 +10,16 @@ import { MimeTypeProcessorType } from "../models/types/mimeTypeProcessorType.js"
|
|
|
10
10
|
* @param instanceConfig The instance config.
|
|
11
11
|
* @returns The instance created and the factory for it.
|
|
12
12
|
*/
|
|
13
|
-
export
|
|
14
|
-
let
|
|
15
|
-
let
|
|
13
|
+
export function initialiseMimeTypeProcessorComponent(engineCore, context, instanceConfig) {
|
|
14
|
+
let createComponent;
|
|
15
|
+
let instanceTypeName;
|
|
16
16
|
if (instanceConfig.type === MimeTypeProcessorType.Jwt) {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
createComponent = (createConfig) => new JwtMimeTypeProcessor();
|
|
18
|
+
instanceTypeName = "jwt-mime-type-processor";
|
|
19
19
|
}
|
|
20
20
|
return {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
createComponent: createComponent,
|
|
22
|
+
instanceTypeName,
|
|
23
23
|
factory: MimeTypeProcessorFactory
|
|
24
24
|
};
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mimeTypeProcessor.js","sourceRoot":"","sources":["../../../src/components/mimeTypeProcessor.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,wBAAwB,
|
|
1
|
+
{"version":3,"file":"mimeTypeProcessor.js","sourceRoot":"","sources":["../../../src/components/mimeTypeProcessor.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAUhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,oCAAoC,CACnD,UAA4C,EAC5C,OAAgD,EAChD,cAAuC;IAEvC,IAAI,eAAe,CAAC;IACpB,IAAI,gBAAgB,CAAC;IAErB,IAAI,cAAc,CAAC,IAAI,KAAK,qBAAqB,CAAC,GAAG,EAAE,CAAC;QACvD,eAAe,GAAG,CAAC,YAAmC,EAAE,EAAE,CAAC,IAAI,oBAAoB,EAAE,CAAC;QACtF,gBAAgB,4BAAwC,CAAC;IAC1D,CAAC;IAED,OAAO;QACN,eAAe,EAAE,eAAsE;QACvF,gBAAgB;QAChB,OAAO,EAAE,wBAAwB;KACjC,CAAC;AACH,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { MimeTypeProcessorFactory } from \"@twin.org/api-models\";\nimport { JwtMimeTypeProcessor } from \"@twin.org/api-processors\";\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 type { MimeTypeProcessorConfig } from \"../models/config/mimeTypeProcessorConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { MimeTypeProcessorType } from \"../models/types/mimeTypeProcessorType.js\";\n\n/**\n * Initialise the mime type processor.\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 initialiseMimeTypeProcessorComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: MimeTypeProcessorConfig\n): EngineTypeInitialiserReturn<MimeTypeProcessorConfig, typeof MimeTypeProcessorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === MimeTypeProcessorType.Jwt) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => new JwtMimeTypeProcessor();\n\t\tinstanceTypeName = nameofKebabCase(JwtMimeTypeProcessor);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: MimeTypeProcessorFactory\n\t};\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import { RestRouteProcessorFactory } from "@twin.org/api-models";
|
|
|
5
5
|
import { LoggingProcessor, ContextIdProcessor, RestRouteProcessor, StaticContextIdProcessor } from "@twin.org/api-processors";
|
|
6
6
|
import { initSchema as initSchemaTenantProcessor, TenantProcessor } from "@twin.org/api-tenant-processor";
|
|
7
7
|
import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
|
|
8
|
-
import { initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
8
|
+
import { EngineTypeHelper, initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
9
9
|
import { RestRouteProcessorType } from "../models/types/restRouteProcessorType.js";
|
|
10
10
|
/**
|
|
11
11
|
* Initialise the rest route processor.
|
|
@@ -14,51 +14,47 @@ import { RestRouteProcessorType } from "../models/types/restRouteProcessorType.j
|
|
|
14
14
|
* @param instanceConfig The instance config.
|
|
15
15
|
* @returns The instance created and the factory for it.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
18
|
-
let
|
|
19
|
-
let
|
|
17
|
+
export function initialiseRestRouteProcessorComponent(engineCore, context, instanceConfig) {
|
|
18
|
+
let createComponent;
|
|
19
|
+
let instanceTypeName;
|
|
20
20
|
if (instanceConfig.type === RestRouteProcessorType.AuthHeader) {
|
|
21
|
-
|
|
22
|
-
vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector")
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
instanceType = "auth-header-processor";
|
|
21
|
+
createComponent = (createConfig) => new AuthHeaderProcessor(EngineTypeHelper.mergeConfig({
|
|
22
|
+
vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector")
|
|
23
|
+
}, createConfig.options));
|
|
24
|
+
instanceTypeName = "auth-header-processor";
|
|
28
25
|
}
|
|
29
26
|
else if (instanceConfig.type === RestRouteProcessorType.Logging) {
|
|
30
|
-
|
|
31
|
-
loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
instanceType = "logging-processor";
|
|
27
|
+
createComponent = (createConfig) => new LoggingProcessor(EngineTypeHelper.mergeConfig({
|
|
28
|
+
loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent")
|
|
29
|
+
}, createConfig.options));
|
|
30
|
+
instanceTypeName = "logging-processor";
|
|
37
31
|
}
|
|
38
32
|
else if (instanceConfig.type === RestRouteProcessorType.ContextId) {
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
createComponent = (createConfig) => new ContextIdProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
34
|
+
instanceTypeName = "context-id-processor";
|
|
41
35
|
}
|
|
42
36
|
else if (instanceConfig.type === RestRouteProcessorType.StaticContextId) {
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
createComponent = (createConfig) => new StaticContextIdProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
38
|
+
instanceTypeName = "static-context-id-processor";
|
|
45
39
|
}
|
|
46
40
|
else if (instanceConfig.type === RestRouteProcessorType.RestRoute) {
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
createComponent = (createConfig) => new RestRouteProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
42
|
+
instanceTypeName = "rest-route-processor";
|
|
49
43
|
}
|
|
50
44
|
else if (instanceConfig.type === RestRouteProcessorType.Tenant) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
45
|
+
createComponent = (createConfig) => {
|
|
46
|
+
initSchemaTenantProcessor();
|
|
47
|
+
initialiseEntityStorageConnector(engineCore, context, createConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [
|
|
48
|
+
ContextIdKeys.Node,
|
|
49
|
+
ContextIdKeys.Tenant
|
|
50
|
+
]));
|
|
51
|
+
return new TenantProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
52
|
+
};
|
|
53
|
+
instanceTypeName = "tenant-processor";
|
|
58
54
|
}
|
|
59
55
|
return {
|
|
60
|
-
|
|
61
|
-
|
|
56
|
+
createComponent: createComponent,
|
|
57
|
+
instanceTypeName,
|
|
62
58
|
factory: RestRouteProcessorFactory
|
|
63
59
|
};
|
|
64
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restRouteProcessor.js","sourceRoot":"","sources":["../../../src/components/restRouteProcessor.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,yBAAyB,
|
|
1
|
+
{"version":3,"file":"restRouteProcessor.js","sourceRoot":"","sources":["../../../src/components/restRouteProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { AuthHeaderProcessor } from \"@twin.org/api-auth-entity-storage-service\";\nimport { RestRouteProcessorFactory } from \"@twin.org/api-models\";\nimport {\n\tLoggingProcessor,\n\tContextIdProcessor,\n\tRestRouteProcessor,\n\tStaticContextIdProcessor\n} from \"@twin.org/api-processors\";\nimport {\n\tinitSchema as initSchemaTenantProcessor,\n\ttype Tenant,\n\tTenantProcessor\n} from \"@twin.org/api-tenant-processor\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { EngineTypeHelper, initialiseEntityStorageConnector } from \"@twin.org/engine-types\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { RestRouteProcessorConfig } from \"../models/config/restRouteProcessorConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { RestRouteProcessorType } from \"../models/types/restRouteProcessorType.js\";\n\n/**\n * Initialise the rest route processor.\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 initialiseRestRouteProcessorComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: RestRouteProcessorConfig\n): EngineTypeInitialiserReturn<RestRouteProcessorConfig, typeof RestRouteProcessorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === RestRouteProcessorType.AuthHeader) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AuthHeaderProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(AuthHeaderProcessor);\n\t} else if (instanceConfig.type === RestRouteProcessorType.Logging) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew LoggingProcessor(\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},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(LoggingProcessor);\n\t} else if (instanceConfig.type === RestRouteProcessorType.ContextId) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew ContextIdProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(ContextIdProcessor);\n\t} else if (instanceConfig.type === RestRouteProcessorType.StaticContextId) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew StaticContextIdProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(StaticContextIdProcessor);\n\t} else if (instanceConfig.type === RestRouteProcessorType.RestRoute) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew RestRouteProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(RestRouteProcessor);\n\t} else if (instanceConfig.type === RestRouteProcessorType.Tenant) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaTenantProcessor();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.tenantEntityStorageType,\n\t\t\t\tnameof<Tenant>(),\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 TenantProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(TenantProcessor);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: RestRouteProcessorFactory\n\t};\n}\n"]}
|
|
@@ -5,7 +5,7 @@ import { SocketRouteProcessorFactory } from "@twin.org/api-models";
|
|
|
5
5
|
import { LoggingProcessor, ContextIdProcessor, SocketRouteProcessor, StaticContextIdProcessor } from "@twin.org/api-processors";
|
|
6
6
|
import { initSchema as initSchemaTenantProcessor, TenantProcessor } from "@twin.org/api-tenant-processor";
|
|
7
7
|
import { ContextIdHelper, ContextIdKeys } from "@twin.org/context";
|
|
8
|
-
import { initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
8
|
+
import { EngineTypeHelper, initialiseEntityStorageConnector } from "@twin.org/engine-types";
|
|
9
9
|
import { SocketRouteProcessorType } from "../models/types/socketRouteProcessorType.js";
|
|
10
10
|
/**
|
|
11
11
|
* Initialise the socket route processor.
|
|
@@ -14,48 +14,44 @@ import { SocketRouteProcessorType } from "../models/types/socketRouteProcessorTy
|
|
|
14
14
|
* @param instanceConfig The instance config.
|
|
15
15
|
* @returns The instance created and the factory for it.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
18
|
-
let
|
|
19
|
-
let
|
|
17
|
+
export function initialiseSocketRouteProcessorComponent(engineCore, context, instanceConfig) {
|
|
18
|
+
let createComponent;
|
|
19
|
+
let instanceTypeName;
|
|
20
20
|
if (instanceConfig.type === SocketRouteProcessorType.AuthHeader) {
|
|
21
|
-
|
|
22
|
-
vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector")
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
instanceType = "auth-header-processor";
|
|
21
|
+
createComponent = (createConfig) => new AuthHeaderProcessor(EngineTypeHelper.mergeConfig({
|
|
22
|
+
vaultConnectorType: engineCore.getRegisteredInstanceType("vaultConnector")
|
|
23
|
+
}, createConfig.options));
|
|
24
|
+
instanceTypeName = "auth-header-processor";
|
|
28
25
|
}
|
|
29
26
|
else if (instanceConfig.type === SocketRouteProcessorType.Logging) {
|
|
30
|
-
|
|
31
|
-
loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent")
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
instanceType = "logging-processor";
|
|
27
|
+
createComponent = (createConfig) => new LoggingProcessor(EngineTypeHelper.mergeConfig({
|
|
28
|
+
loggingComponentType: engineCore.getRegisteredInstanceType("loggingComponent")
|
|
29
|
+
}, createConfig.options));
|
|
30
|
+
instanceTypeName = "logging-processor";
|
|
37
31
|
}
|
|
38
32
|
else if (instanceConfig.type === SocketRouteProcessorType.ContextId) {
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
createComponent = (createConfig) => new ContextIdProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
34
|
+
instanceTypeName = "context-id-processor";
|
|
41
35
|
}
|
|
42
36
|
else if (instanceConfig.type === SocketRouteProcessorType.StaticContextId) {
|
|
43
|
-
|
|
44
|
-
|
|
37
|
+
createComponent = (createConfig) => new StaticContextIdProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
38
|
+
instanceTypeName = "static-context-id-processor";
|
|
45
39
|
}
|
|
46
40
|
else if (instanceConfig.type === SocketRouteProcessorType.SocketRoute) {
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
createComponent = (createConfig) => new SocketRouteProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
42
|
+
instanceTypeName = "socket-route-processor";
|
|
49
43
|
}
|
|
50
44
|
else if (instanceConfig.type === SocketRouteProcessorType.Tenant) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
createComponent = (createConfig) => {
|
|
46
|
+
initSchemaTenantProcessor();
|
|
47
|
+
initialiseEntityStorageConnector(engineCore, context, createConfig.options?.tenantEntityStorageType, "Tenant", ContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node]));
|
|
48
|
+
return new TenantProcessor(EngineTypeHelper.mergeConfig(createConfig.options));
|
|
49
|
+
};
|
|
50
|
+
instanceTypeName = "tenant-processor";
|
|
55
51
|
}
|
|
56
52
|
return {
|
|
57
|
-
|
|
58
|
-
|
|
53
|
+
createComponent: createComponent,
|
|
54
|
+
instanceTypeName,
|
|
59
55
|
factory: SocketRouteProcessorFactory
|
|
60
56
|
};
|
|
61
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socketRouteProcessor.js","sourceRoot":"","sources":["../../../src/components/socketRouteProcessor.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"socketRouteProcessor.js","sourceRoot":"","sources":["../../../src/components/socketRouteProcessor.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { AuthHeaderProcessor } from \"@twin.org/api-auth-entity-storage-service\";\nimport { SocketRouteProcessorFactory } from \"@twin.org/api-models\";\nimport {\n\tLoggingProcessor,\n\tContextIdProcessor,\n\tSocketRouteProcessor,\n\tStaticContextIdProcessor\n} from \"@twin.org/api-processors\";\nimport {\n\tinitSchema as initSchemaTenantProcessor,\n\ttype Tenant,\n\tTenantProcessor\n} from \"@twin.org/api-tenant-processor\";\nimport { ContextIdHelper, ContextIdKeys } from \"@twin.org/context\";\nimport type { IComponent } from \"@twin.org/core\";\nimport type {\n\tEngineTypeInitialiserReturn,\n\tIEngineCore,\n\tIEngineCoreContext\n} from \"@twin.org/engine-models\";\nimport { EngineTypeHelper, initialiseEntityStorageConnector } from \"@twin.org/engine-types\";\nimport { nameof, nameofKebabCase } from \"@twin.org/nameof\";\nimport type { SocketRouteProcessorConfig } from \"../models/config/socketRouteProcessorConfig.js\";\nimport type { IEngineServerConfig } from \"../models/IEngineServerConfig.js\";\nimport { SocketRouteProcessorType } from \"../models/types/socketRouteProcessorType.js\";\n\n/**\n * Initialise the socket route processor.\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 initialiseSocketRouteProcessorComponent(\n\tengineCore: IEngineCore<IEngineServerConfig>,\n\tcontext: IEngineCoreContext<IEngineServerConfig>,\n\tinstanceConfig: SocketRouteProcessorConfig\n): EngineTypeInitialiserReturn<SocketRouteProcessorConfig, typeof SocketRouteProcessorFactory> {\n\tlet createComponent;\n\tlet instanceTypeName;\n\n\tif (instanceConfig.type === SocketRouteProcessorType.AuthHeader) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew AuthHeaderProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(\n\t\t\t\t\t{\n\t\t\t\t\t\tvaultConnectorType: engineCore.getRegisteredInstanceType(\"vaultConnector\")\n\t\t\t\t\t},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(AuthHeaderProcessor);\n\t} else if (instanceConfig.type === SocketRouteProcessorType.Logging) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew LoggingProcessor(\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},\n\t\t\t\t\tcreateConfig.options\n\t\t\t\t)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(LoggingProcessor);\n\t} else if (instanceConfig.type === SocketRouteProcessorType.ContextId) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew ContextIdProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(ContextIdProcessor);\n\t} else if (instanceConfig.type === SocketRouteProcessorType.StaticContextId) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew StaticContextIdProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(StaticContextIdProcessor);\n\t} else if (instanceConfig.type === SocketRouteProcessorType.SocketRoute) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) =>\n\t\t\tnew SocketRouteProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\tinstanceTypeName = nameofKebabCase(SocketRouteProcessor);\n\t} else if (instanceConfig.type === SocketRouteProcessorType.Tenant) {\n\t\tcreateComponent = (createConfig: typeof instanceConfig) => {\n\t\t\tinitSchemaTenantProcessor();\n\t\t\tinitialiseEntityStorageConnector(\n\t\t\t\tengineCore,\n\t\t\t\tcontext,\n\t\t\t\tcreateConfig.options?.tenantEntityStorageType,\n\t\t\t\tnameof<Tenant>(),\n\t\t\t\tContextIdHelper.pickKeysFromAvailable(engineCore.getContextIdKeys(), [ContextIdKeys.Node])\n\t\t\t);\n\t\t\treturn new TenantProcessor(\n\t\t\t\tEngineTypeHelper.mergeConfig<(typeof instanceConfig)[\"options\"]>(createConfig.options)\n\t\t\t);\n\t\t};\n\t\tinstanceTypeName = nameofKebabCase(TenantProcessor);\n\t}\n\n\treturn {\n\t\tcreateComponent: createComponent as (createConfig: typeof instanceConfig) => IComponent,\n\t\tinstanceTypeName,\n\t\tfactory: SocketRouteProcessorFactory\n\t};\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentFactory
|
|
2
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
1
|
+
import { ComponentFactory } from "@twin.org/core";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
3
3
|
import type { AuthenticationComponentConfig } from "../models/config/authenticationComponentConfig.js";
|
|
4
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
5
5
|
/**
|
|
@@ -9,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
9
9
|
* @param instanceConfig The instance config.
|
|
10
10
|
* @returns The instance created and the factory for it.
|
|
11
11
|
*/
|
|
12
|
-
export declare function initialiseAuthenticationComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: AuthenticationComponentConfig):
|
|
13
|
-
instanceType?: string;
|
|
14
|
-
factory?: typeof ComponentFactory;
|
|
15
|
-
component?: IComponent;
|
|
16
|
-
}>;
|
|
12
|
+
export declare function initialiseAuthenticationComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: AuthenticationComponentConfig): EngineTypeInitialiserReturn<AuthenticationComponentConfig, typeof ComponentFactory>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentFactory
|
|
2
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
1
|
+
import { ComponentFactory } from "@twin.org/core";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
3
3
|
import type { AuthenticationAdminComponentConfig } from "../models/config/authenticationAdminComponentConfig.js";
|
|
4
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
5
5
|
/**
|
|
@@ -9,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
9
9
|
* @param instanceConfig The instance config.
|
|
10
10
|
* @returns The instance created and the factory for it.
|
|
11
11
|
*/
|
|
12
|
-
export declare function initialiseAuthenticationAdminComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: AuthenticationAdminComponentConfig):
|
|
13
|
-
instanceType?: string;
|
|
14
|
-
factory?: typeof ComponentFactory;
|
|
15
|
-
component?: IComponent;
|
|
16
|
-
}>;
|
|
12
|
+
export declare function initialiseAuthenticationAdminComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: AuthenticationAdminComponentConfig): EngineTypeInitialiserReturn<AuthenticationAdminComponentConfig, typeof ComponentFactory>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentFactory
|
|
2
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
1
|
+
import { ComponentFactory } from "@twin.org/core";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
3
3
|
import type { HostingComponentConfig } from "../models/config/hostingComponentConfig.js";
|
|
4
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
5
5
|
/**
|
|
@@ -9,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
9
9
|
* @param instanceConfig The instance config.
|
|
10
10
|
* @returns The instance created and the factory for it.
|
|
11
11
|
*/
|
|
12
|
-
export declare function initialiseHostingComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: HostingComponentConfig):
|
|
13
|
-
instanceType?: string;
|
|
14
|
-
factory?: typeof ComponentFactory;
|
|
15
|
-
component?: IComponent;
|
|
16
|
-
}>;
|
|
12
|
+
export declare function initialiseHostingComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: HostingComponentConfig): EngineTypeInitialiserReturn<HostingComponentConfig, typeof ComponentFactory>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentFactory
|
|
2
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
1
|
+
import { ComponentFactory } from "@twin.org/core";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
3
3
|
import type { InformationComponentConfig } from "../models/config/informationComponentConfig.js";
|
|
4
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
5
5
|
/**
|
|
@@ -9,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
9
9
|
* @param instanceConfig The instance config.
|
|
10
10
|
* @returns The instance created and the factory for it.
|
|
11
11
|
*/
|
|
12
|
-
export declare function initialiseInformationComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: InformationComponentConfig):
|
|
13
|
-
instanceType?: string;
|
|
14
|
-
factory?: typeof ComponentFactory;
|
|
15
|
-
component?: IComponent;
|
|
16
|
-
}>;
|
|
12
|
+
export declare function initialiseInformationComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: InformationComponentConfig): EngineTypeInitialiserReturn<InformationComponentConfig, typeof ComponentFactory>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { MimeTypeProcessorFactory } from "@twin.org/api-models";
|
|
2
|
-
import type {
|
|
3
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
4
3
|
import type { MimeTypeProcessorConfig } from "../models/config/mimeTypeProcessorConfig.js";
|
|
5
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
6
5
|
/**
|
|
@@ -10,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
10
9
|
* @param instanceConfig The instance config.
|
|
11
10
|
* @returns The instance created and the factory for it.
|
|
12
11
|
*/
|
|
13
|
-
export declare function initialiseMimeTypeProcessorComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: MimeTypeProcessorConfig):
|
|
14
|
-
instanceType?: string;
|
|
15
|
-
factory?: typeof MimeTypeProcessorFactory;
|
|
16
|
-
component?: IComponent;
|
|
17
|
-
}>;
|
|
12
|
+
export declare function initialiseMimeTypeProcessorComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: MimeTypeProcessorConfig): EngineTypeInitialiserReturn<MimeTypeProcessorConfig, typeof MimeTypeProcessorFactory>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { RestRouteProcessorFactory } from "@twin.org/api-models";
|
|
2
|
-
import type {
|
|
3
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
4
3
|
import type { RestRouteProcessorConfig } from "../models/config/restRouteProcessorConfig.js";
|
|
5
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
6
5
|
/**
|
|
@@ -10,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
10
9
|
* @param instanceConfig The instance config.
|
|
11
10
|
* @returns The instance created and the factory for it.
|
|
12
11
|
*/
|
|
13
|
-
export declare function initialiseRestRouteProcessorComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: RestRouteProcessorConfig):
|
|
14
|
-
instanceType?: string;
|
|
15
|
-
factory?: typeof RestRouteProcessorFactory;
|
|
16
|
-
component?: IComponent;
|
|
17
|
-
}>;
|
|
12
|
+
export declare function initialiseRestRouteProcessorComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: RestRouteProcessorConfig): EngineTypeInitialiserReturn<RestRouteProcessorConfig, typeof RestRouteProcessorFactory>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { SocketRouteProcessorFactory } from "@twin.org/api-models";
|
|
2
|
-
import type {
|
|
3
|
-
import type { IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
2
|
+
import type { EngineTypeInitialiserReturn, IEngineCore, IEngineCoreContext } from "@twin.org/engine-models";
|
|
4
3
|
import type { SocketRouteProcessorConfig } from "../models/config/socketRouteProcessorConfig.js";
|
|
5
4
|
import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
6
5
|
/**
|
|
@@ -10,8 +9,4 @@ import type { IEngineServerConfig } from "../models/IEngineServerConfig.js";
|
|
|
10
9
|
* @param instanceConfig The instance config.
|
|
11
10
|
* @returns The instance created and the factory for it.
|
|
12
11
|
*/
|
|
13
|
-
export declare function initialiseSocketRouteProcessorComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: SocketRouteProcessorConfig):
|
|
14
|
-
instanceType?: string;
|
|
15
|
-
factory?: typeof SocketRouteProcessorFactory;
|
|
16
|
-
component?: IComponent;
|
|
17
|
-
}>;
|
|
12
|
+
export declare function initialiseSocketRouteProcessorComponent(engineCore: IEngineCore<IEngineServerConfig>, context: IEngineCoreContext<IEngineServerConfig>, instanceConfig: SocketRouteProcessorConfig): EngineTypeInitialiserReturn<SocketRouteProcessorConfig, typeof SocketRouteProcessorFactory>;
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,35 @@
|
|
|
1
1
|
# @twin.org/engine-server-types - Changelog
|
|
2
2
|
|
|
3
|
+
## [0.0.3-next.22](https://github.com/twinfoundation/engine/compare/engine-server-types-v0.0.3-next.21...engine-server-types-v0.0.3-next.22) (2026-02-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Miscellaneous Chores
|
|
7
|
+
|
|
8
|
+
* **engine-server-types:** Synchronize repo versions
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* The following workspace dependencies were updated
|
|
14
|
+
* dependencies
|
|
15
|
+
* @twin.org/engine-models bumped from 0.0.3-next.21 to 0.0.3-next.22
|
|
16
|
+
* @twin.org/engine-types bumped from 0.0.3-next.21 to 0.0.3-next.22
|
|
17
|
+
|
|
18
|
+
## [0.0.3-next.21](https://github.com/twinfoundation/engine/compare/engine-server-types-v0.0.3-next.20...engine-server-types-v0.0.3-next.21) (2026-02-13)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* multi instance component support ([#83](https://github.com/twinfoundation/engine/issues/83)) ([6012b50](https://github.com/twinfoundation/engine/commit/6012b50959df5af893f05516d42eea2e0800b31a))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Dependencies
|
|
27
|
+
|
|
28
|
+
* The following workspace dependencies were updated
|
|
29
|
+
* dependencies
|
|
30
|
+
* @twin.org/engine-models bumped from 0.0.3-next.20 to 0.0.3-next.21
|
|
31
|
+
* @twin.org/engine-types bumped from 0.0.3-next.20 to 0.0.3-next.21
|
|
32
|
+
|
|
3
33
|
## [0.0.3-next.20](https://github.com/twinfoundation/engine/compare/engine-server-types-v0.0.3-next.19...engine-server-types-v0.0.3-next.20) (2026-02-06)
|
|
4
34
|
|
|
5
35
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseAuthenticationAdminComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseAuthenticationAdminComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseAuthenticationAdminComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`AuthenticationAdminComponentConfig`](../type-aliases/AuthenticationAdminComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the authentication admin.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`AuthenticationAdminComponentConfig`](../type-aliases/AuthenticationAdminComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseAuthenticationComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseAuthenticationComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseAuthenticationComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`AuthenticationComponentConfig`](../type-aliases/AuthenticationComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the authentication.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`AuthenticationComponentConfig`](../type-aliases/AuthenticationComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseHostingComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseHostingComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseHostingComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`HostingComponentConfig`](../type-aliases/HostingComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the hosting component.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`HostingComponentConfig`](../type-aliases/HostingComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseInformationComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseInformationComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseInformationComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`InformationComponentConfig`](../type-aliases/InformationComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the information component.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`InformationComponentConfig`](../type-aliases/InformationComponentConfig.md), `Factory`\<`IComponent`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseMimeTypeProcessorComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseMimeTypeProcessorComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseMimeTypeProcessorComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`MimeTypeProcessorConfig`](../type-aliases/MimeTypeProcessorConfig.md), `Factory`\<`IMimeTypeProcessor`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the mime type processor.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`MimeTypeProcessorConfig`](../type-aliases/MimeTypeProcessorConfig.md), `Factory`\<`IMimeTypeProcessor`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseRestRouteProcessorComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseRestRouteProcessorComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseRestRouteProcessorComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`RestRouteProcessorConfig`](../type-aliases/RestRouteProcessorConfig.md), `Factory`\<`IRestRouteProcessor`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the rest route processor.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`RestRouteProcessorConfig`](../type-aliases/RestRouteProcessorConfig.md), `Factory`\<`IRestRouteProcessor`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Function: initialiseSocketRouteProcessorComponent()
|
|
2
2
|
|
|
3
|
-
> **initialiseSocketRouteProcessorComponent**(`engineCore`, `context`, `instanceConfig`): `
|
|
3
|
+
> **initialiseSocketRouteProcessorComponent**(`engineCore`, `context`, `instanceConfig`): `EngineTypeInitialiserReturn`\<[`SocketRouteProcessorConfig`](../type-aliases/SocketRouteProcessorConfig.md), `Factory`\<`ISocketRouteProcessor`\>\>
|
|
4
4
|
|
|
5
5
|
Initialise the socket route processor.
|
|
6
6
|
|
|
@@ -26,6 +26,6 @@ The instance config.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
`
|
|
29
|
+
`EngineTypeInitialiserReturn`\<[`SocketRouteProcessorConfig`](../type-aliases/SocketRouteProcessorConfig.md), `Factory`\<`ISocketRouteProcessor`\>\>
|
|
30
30
|
|
|
31
31
|
The instance created and the factory for it.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/engine-server-types",
|
|
3
|
-
"version": "0.0.3-next.
|
|
3
|
+
"version": "0.0.3-next.22",
|
|
4
4
|
"description": "Server types to use in an engine server.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"@twin.org/api-tenant-processor": "next",
|
|
26
26
|
"@twin.org/context": "next",
|
|
27
27
|
"@twin.org/core": "next",
|
|
28
|
-
"@twin.org/engine-models": "0.0.3-next.
|
|
29
|
-
"@twin.org/engine-types": "0.0.3-next.
|
|
28
|
+
"@twin.org/engine-models": "0.0.3-next.22",
|
|
29
|
+
"@twin.org/engine-types": "0.0.3-next.22",
|
|
30
30
|
"@twin.org/entity": "next",
|
|
31
31
|
"@twin.org/nameof": "next"
|
|
32
32
|
},
|