@party-stack/foundry-ontology 0.17.0 → 0.18.1
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/lib/adapter/convertLoadSubsetOptions.d.ts +2 -0
- package/lib/adapter/convertLoadSubsetOptions.d.ts.map +1 -1
- package/lib/adapter/convertLoadSubsetOptions.js +158 -191
- package/lib/adapter/convertLoadSubsetOptions.js.map +1 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts +17 -15
- package/lib/adapter/createFoundryOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.js +288 -400
- package/lib/adapter/createFoundryOntologyBackendAdapter.js.map +1 -1
- package/lib/adapter/foundryActionValidation.d.ts +17 -15
- package/lib/adapter/foundryActionValidation.d.ts.map +1 -1
- package/lib/adapter/foundryActionValidation.js +206 -305
- package/lib/adapter/foundryActionValidation.js.map +1 -1
- package/lib/adapter/foundryCodec.d.ts +10 -9
- package/lib/adapter/foundryCodec.d.ts.map +1 -1
- package/lib/adapter/foundryCodec.js +180 -287
- package/lib/adapter/foundryCodec.js.map +1 -1
- package/lib/adapter/foundryMediaId.d.ts +6 -4
- package/lib/adapter/foundryMediaId.d.ts.map +1 -1
- package/lib/adapter/foundryMediaId.js +31 -32
- package/lib/adapter/foundryMediaId.js.map +1 -1
- package/lib/adapter/index.d.ts +4 -4
- package/lib/adapter/index.js +4 -4
- package/lib/adapter/objectCollectionOptions.d.ts +17 -18
- package/lib/adapter/objectCollectionOptions.d.ts.map +1 -1
- package/lib/adapter/objectCollectionOptions.js +417 -538
- package/lib/adapter/objectCollectionOptions.js.map +1 -1
- package/lib/config/applyAttachmentConstraintOverrides.d.ts +6 -4
- package/lib/config/applyAttachmentConstraintOverrides.d.ts.map +1 -1
- package/lib/config/applyAttachmentConstraintOverrides.js +45 -49
- package/lib/config/applyAttachmentConstraintOverrides.js.map +1 -1
- package/lib/config/index.d.ts +17 -15
- package/lib/config/index.d.ts.map +1 -1
- package/lib/config/index.js +56 -81
- package/lib/config/index.js.map +1 -1
- package/lib/connection.d.ts +28 -26
- package/lib/connection.d.ts.map +1 -1
- package/lib/connection.js +183 -215
- package/lib/connection.js.map +1 -1
- package/lib/index.d.ts +9 -5
- package/lib/index.js +9 -5
- package/lib/installation/createFoundryBackendInstallation.d.ts +21 -20
- package/lib/installation/createFoundryBackendInstallation.d.ts.map +1 -1
- package/lib/installation/createFoundryBackendInstallation.js +52 -62
- package/lib/installation/createFoundryBackendInstallation.js.map +1 -1
- package/lib/installation/index.d.ts +2 -2
- package/lib/installation/index.js +2 -2
- package/lib/meta/actionTypeCollectionOptions.d.ts +8 -6
- package/lib/meta/actionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/actionTypeCollectionOptions.js +49 -49
- package/lib/meta/actionTypeCollectionOptions.js.map +1 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts +3 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.d.ts.map +1 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.js +69 -75
- package/lib/meta/convertActionTypeLoadSubsetOptions.js.map +1 -1
- package/lib/meta/convertMetaActionType.d.ts +7 -5
- package/lib/meta/convertMetaActionType.d.ts.map +1 -1
- package/lib/meta/convertMetaActionType.js +458 -581
- package/lib/meta/convertMetaActionType.js.map +1 -1
- package/lib/meta/convertMetaLinkType.d.ts +4 -2
- package/lib/meta/convertMetaLinkType.d.ts.map +1 -1
- package/lib/meta/convertMetaLinkType.js +37 -43
- package/lib/meta/convertMetaLinkType.js.map +1 -1
- package/lib/meta/convertMetaObjectType.d.ts +4 -2
- package/lib/meta/convertMetaObjectType.d.ts.map +1 -1
- package/lib/meta/convertMetaObjectType.js +34 -35
- package/lib/meta/convertMetaObjectType.js.map +1 -1
- package/lib/meta/convertMetaQueryFunctionType.d.ts +4 -2
- package/lib/meta/convertMetaQueryFunctionType.d.ts.map +1 -1
- package/lib/meta/convertMetaQueryFunctionType.js +113 -94
- package/lib/meta/convertMetaQueryFunctionType.js.map +1 -1
- package/lib/meta/convertMetaTypeDef.d.ts +4 -2
- package/lib/meta/convertMetaTypeDef.d.ts.map +1 -1
- package/lib/meta/convertMetaTypeDef.js +178 -176
- package/lib/meta/convertMetaTypeDef.js.map +1 -1
- package/lib/meta/convertMetaValueType.d.ts +4 -2
- package/lib/meta/convertMetaValueType.d.ts.map +1 -1
- package/lib/meta/convertMetaValueType.js +11 -7
- package/lib/meta/convertMetaValueType.js.map +1 -1
- package/lib/meta/convertOmsActionParameterMetadata.d.ts +4 -2
- package/lib/meta/convertOmsActionParameterMetadata.d.ts.map +1 -1
- package/lib/meta/convertOmsActionParameterMetadata.js +107 -163
- package/lib/meta/convertOmsActionParameterMetadata.js.map +1 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts +7 -5
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.d.ts.map +1 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.js +39 -41
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.js.map +1 -1
- package/lib/meta/entityCollectionOptions.d.ts +12 -11
- package/lib/meta/entityCollectionOptions.d.ts.map +1 -1
- package/lib/meta/entityCollectionOptions.js +59 -62
- package/lib/meta/entityCollectionOptions.js.map +1 -1
- package/lib/meta/foundryAttachmentMetadata.d.ts +2 -0
- package/lib/meta/foundryAttachmentMetadata.d.ts.map +1 -1
- package/lib/meta/foundryAttachmentMetadata.js +13 -14
- package/lib/meta/foundryAttachmentMetadata.js.map +1 -1
- package/lib/meta/index.d.ts +5 -5
- package/lib/meta/index.js +5 -5
- package/lib/meta/loadActionTypeOmsMetadata.d.ts +5 -4
- package/lib/meta/loadActionTypeOmsMetadata.d.ts.map +1 -1
- package/lib/meta/loadActionTypeOmsMetadata.js +102 -139
- package/lib/meta/loadActionTypeOmsMetadata.js.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts +7 -5
- package/lib/meta/queryFunctionTypeCollectionOptions.d.ts.map +1 -1
- package/lib/meta/queryFunctionTypeCollectionOptions.js +47 -49
- package/lib/meta/queryFunctionTypeCollectionOptions.js.map +1 -1
- package/lib/stagedWrites.d.ts +26 -24
- package/lib/stagedWrites.d.ts.map +1 -1
- package/lib/stagedWrites.js +55 -66
- package/lib/stagedWrites.js.map +1 -1
- package/lib/users/createFoundryAdminOntologyRoute.d.ts +47 -17366
- package/lib/users/createFoundryAdminOntologyRoute.d.ts.map +1 -1
- package/lib/users/createFoundryAdminOntologyRoute.js +29 -37
- package/lib/users/createFoundryAdminOntologyRoute.js.map +1 -1
- package/lib/users/createFoundryUsersIntegration.d.ts +6 -4
- package/lib/users/createFoundryUsersIntegration.d.ts.map +1 -1
- package/lib/users/createFoundryUsersIntegration.js +28 -30
- package/lib/users/createFoundryUsersIntegration.js.map +1 -1
- package/lib/users/foundryUser.d.ts +4 -2
- package/lib/users/foundryUser.d.ts.map +1 -1
- package/lib/users/foundryUser.js +69 -74
- package/lib/users/foundryUser.js.map +1 -1
- package/lib/users/index.d.ts +5 -5
- package/lib/users/index.js +5 -5
- package/lib/users/userCollectionOptions.d.ts +13 -12
- package/lib/users/userCollectionOptions.d.ts.map +1 -1
- package/lib/users/userCollectionOptions.js +82 -100
- package/lib/users/userCollectionOptions.js.map +1 -1
- package/lib/utils/AsyncIterable.d.ts +2 -0
- package/lib/utils/AsyncIterable.d.ts.map +1 -1
- package/lib/utils/AsyncIterable.js +26 -34
- package/lib/utils/AsyncIterable.js.map +1 -1
- package/lib/utils/actionTypeName.d.ts +2 -0
- package/lib/utils/actionTypeName.d.ts.map +1 -1
- package/lib/utils/actionTypeName.js +9 -7
- package/lib/utils/actionTypeName.js.map +1 -1
- package/lib/utils/chunk.d.ts +2 -0
- package/lib/utils/chunk.d.ts.map +1 -1
- package/lib/utils/chunk.js +8 -6
- package/lib/utils/chunk.js.map +1 -1
- package/package.json +21 -27
- package/lib/adapter/convertLoadSubsetOptions.test.d.ts +0 -2
- package/lib/adapter/convertLoadSubsetOptions.test.d.ts.map +0 -1
- package/lib/adapter/convertLoadSubsetOptions.test.js +0 -213
- package/lib/adapter/convertLoadSubsetOptions.test.js.map +0 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.js +0 -628
- package/lib/adapter/createFoundryOntologyBackendAdapter.test.js.map +0 -1
- package/lib/adapter/foundryActionValidation.test.d.ts +0 -2
- package/lib/adapter/foundryActionValidation.test.d.ts.map +0 -1
- package/lib/adapter/foundryActionValidation.test.js +0 -243
- package/lib/adapter/foundryActionValidation.test.js.map +0 -1
- package/lib/adapter/foundryCodec.test.d.ts +0 -2
- package/lib/adapter/foundryCodec.test.d.ts.map +0 -1
- package/lib/adapter/foundryCodec.test.js +0 -137
- package/lib/adapter/foundryCodec.test.js.map +0 -1
- package/lib/adapter/foundryMediaId.test.d.ts +0 -2
- package/lib/adapter/foundryMediaId.test.d.ts.map +0 -1
- package/lib/adapter/foundryMediaId.test.js +0 -23
- package/lib/adapter/foundryMediaId.test.js.map +0 -1
- package/lib/adapter/index.d.ts.map +0 -1
- package/lib/adapter/index.js.map +0 -1
- package/lib/adapter/objectCollectionOptions.test.d.ts +0 -2
- package/lib/adapter/objectCollectionOptions.test.d.ts.map +0 -1
- package/lib/adapter/objectCollectionOptions.test.js +0 -1289
- package/lib/adapter/objectCollectionOptions.test.js.map +0 -1
- package/lib/config/connectionPull.test.d.ts +0 -2
- package/lib/config/connectionPull.test.d.ts.map +0 -1
- package/lib/config/connectionPull.test.js +0 -151
- package/lib/config/connectionPull.test.js.map +0 -1
- package/lib/config/index.test.d.ts +0 -2
- package/lib/config/index.test.d.ts.map +0 -1
- package/lib/config/index.test.js +0 -182
- package/lib/config/index.test.js.map +0 -1
- package/lib/connection.test.d.ts +0 -2
- package/lib/connection.test.d.ts.map +0 -1
- package/lib/connection.test.js +0 -162
- package/lib/connection.test.js.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js.map +0 -1
- package/lib/installation/createFoundryBackendInstallation.test.d.ts +0 -2
- package/lib/installation/createFoundryBackendInstallation.test.d.ts.map +0 -1
- package/lib/installation/createFoundryBackendInstallation.test.js +0 -83
- package/lib/installation/createFoundryBackendInstallation.test.js.map +0 -1
- package/lib/installation/index.d.ts.map +0 -1
- package/lib/installation/index.js.map +0 -1
- package/lib/meta/actionTypeCollectionOptions.test.d.ts +0 -2
- package/lib/meta/actionTypeCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/actionTypeCollectionOptions.test.js +0 -24
- package/lib/meta/actionTypeCollectionOptions.test.js.map +0 -1
- package/lib/meta/actionTypeIdQuery.test.d.ts +0 -2
- package/lib/meta/actionTypeIdQuery.test.d.ts.map +0 -1
- package/lib/meta/actionTypeIdQuery.test.js +0 -131
- package/lib/meta/actionTypeIdQuery.test.js.map +0 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts +0 -2
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.d.ts.map +0 -1
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.js +0 -138
- package/lib/meta/convertActionTypeLoadSubsetOptions.test.js.map +0 -1
- package/lib/meta/convertMetaActionType.test.d.ts +0 -2
- package/lib/meta/convertMetaActionType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaActionType.test.js +0 -1565
- package/lib/meta/convertMetaActionType.test.js.map +0 -1
- package/lib/meta/convertMetaLinkType.test.d.ts +0 -2
- package/lib/meta/convertMetaLinkType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaLinkType.test.js +0 -110
- package/lib/meta/convertMetaLinkType.test.js.map +0 -1
- package/lib/meta/convertMetaObjectType.test.d.ts +0 -2
- package/lib/meta/convertMetaObjectType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaObjectType.test.js +0 -250
- package/lib/meta/convertMetaObjectType.test.js.map +0 -1
- package/lib/meta/convertMetaQueryFunctionType.test.d.ts +0 -2
- package/lib/meta/convertMetaQueryFunctionType.test.d.ts.map +0 -1
- package/lib/meta/convertMetaQueryFunctionType.test.js +0 -134
- package/lib/meta/convertMetaQueryFunctionType.test.js.map +0 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts +0 -2
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.d.ts.map +0 -1
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js +0 -49
- package/lib/meta/createFoundryMetaOntologyBackendAdapter.test.js.map +0 -1
- package/lib/meta/entityCollectionOptions.test.d.ts +0 -2
- package/lib/meta/entityCollectionOptions.test.d.ts.map +0 -1
- package/lib/meta/entityCollectionOptions.test.js +0 -98
- package/lib/meta/entityCollectionOptions.test.js.map +0 -1
- package/lib/meta/index.d.ts.map +0 -1
- package/lib/meta/index.js.map +0 -1
- package/lib/meta/loadActionTypeOmsMetadata.test.d.ts +0 -2
- package/lib/meta/loadActionTypeOmsMetadata.test.d.ts.map +0 -1
- package/lib/meta/loadActionTypeOmsMetadata.test.js +0 -218
- package/lib/meta/loadActionTypeOmsMetadata.test.js.map +0 -1
- package/lib/stagedWrites.test.d.ts +0 -2
- package/lib/stagedWrites.test.d.ts.map +0 -1
- package/lib/stagedWrites.test.js +0 -71
- package/lib/stagedWrites.test.js.map +0 -1
- package/lib/users/createFoundryUsersIntegration.test.d.ts +0 -2
- package/lib/users/createFoundryUsersIntegration.test.d.ts.map +0 -1
- package/lib/users/createFoundryUsersIntegration.test.js +0 -32
- package/lib/users/createFoundryUsersIntegration.test.js.map +0 -1
- package/lib/users/foundryUser.test.d.ts +0 -2
- package/lib/users/foundryUser.test.d.ts.map +0 -1
- package/lib/users/foundryUser.test.js +0 -45
- package/lib/users/foundryUser.test.js.map +0 -1
- package/lib/users/index.d.ts.map +0 -1
- package/lib/users/index.js.map +0 -1
- package/lib/users/userCollectionOptions.test.d.ts +0 -2
- package/lib/users/userCollectionOptions.test.d.ts.map +0 -1
- package/lib/users/userCollectionOptions.test.js +0 -18
- package/lib/users/userCollectionOptions.test.js.map +0 -1
- package/lib/utils/AsyncIterable.test.d.ts +0 -2
- package/lib/utils/AsyncIterable.test.d.ts.map +0 -1
- package/lib/utils/AsyncIterable.test.js +0 -17
- package/lib/utils/AsyncIterable.test.js.map +0 -1
- package/lib/utils/actionTypeName.test.d.ts +0 -2
- package/lib/utils/actionTypeName.test.d.ts.map +0 -1
- package/lib/utils/actionTypeName.test.js +0 -30
- package/lib/utils/actionTypeName.test.js.map +0 -1
|
@@ -1,70 +1,60 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { createFoundryOntologyBackend, } from "../adapter/createFoundryOntologyBackendAdapter.js";
|
|
4
|
-
import { createFoundryConnectionAdapter, } from "../connection.js";
|
|
1
|
+
import { createFoundryConnectionAdapter } from "../connection.js";
|
|
2
|
+
import { createFoundryOntologyBackend } from "../adapter/createFoundryOntologyBackendAdapter.js";
|
|
5
3
|
import { createFoundryMetaOntologyBackendAdapter } from "../meta/createFoundryMetaOntologyBackendAdapter.js";
|
|
4
|
+
import { createOntologyClient } from "@party-stack/foundry-client";
|
|
5
|
+
import { createMetaOntologyConfiguration, createOntologyBackendInstallation } from "@party-stack/ontology";
|
|
6
|
+
//#region src/installation/createFoundryBackendInstallation.ts
|
|
6
7
|
function createConnectionOntologyClient(baseUrl, ontologyId, egress) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
createWebSocket: (url, protocols) => egress.createWebSocket(url, protocols),
|
|
15
|
-
});
|
|
8
|
+
return createOntologyClient({
|
|
9
|
+
baseUrl,
|
|
10
|
+
ontologyRid: ontologyId,
|
|
11
|
+
tokenProvider: () => Promise.resolve("party-stack"),
|
|
12
|
+
fetch: egress.fetch,
|
|
13
|
+
createWebSocket: (url, protocols) => egress.createWebSocket(url, protocols)
|
|
14
|
+
});
|
|
16
15
|
}
|
|
17
16
|
function configureFoundryMeta(baseUrl, options, metaRefetchInterval) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}),
|
|
24
|
-
});
|
|
17
|
+
const client = createConnectionOntologyClient(baseUrl, options.ontologyId, options.egress);
|
|
18
|
+
return createMetaOntologyConfiguration({ backend: () => createFoundryMetaOntologyBackendAdapter({
|
|
19
|
+
client,
|
|
20
|
+
refetchInterval: metaRefetchInterval
|
|
21
|
+
}) });
|
|
25
22
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
route.configureMeta = (configureOptions) => configureFoundryMeta(baseUrl, configureOptions, options.metaRefetchInterval);
|
|
51
|
-
}
|
|
52
|
-
return route;
|
|
53
|
-
};
|
|
23
|
+
function createFoundryOntologyRoute(options) {
|
|
24
|
+
return (baseUrl) => {
|
|
25
|
+
const route = { matches: (ontologyId) => ontologyId === options.ontologyId };
|
|
26
|
+
const ir = options.ir;
|
|
27
|
+
if (ir) route.configure = ({ connection, egress }) => {
|
|
28
|
+
const client = createConnectionOntologyClient(baseUrl, options.ontologyId, egress);
|
|
29
|
+
return {
|
|
30
|
+
ir,
|
|
31
|
+
backend: createFoundryOntologyBackend({
|
|
32
|
+
client,
|
|
33
|
+
users: typeof options.users === "function" ? options.users(connection.userId) : options.users,
|
|
34
|
+
live: options.live
|
|
35
|
+
}),
|
|
36
|
+
persistObjects: options.persistObjects,
|
|
37
|
+
writes: options.writes
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
else route.configureMeta = (configureOptions) => configureFoundryMeta(baseUrl, configureOptions, options.metaRefetchInterval);
|
|
41
|
+
return route;
|
|
42
|
+
};
|
|
54
43
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
createContext: options.createContext,
|
|
68
|
-
});
|
|
44
|
+
function createFoundryBackendInstallation(options) {
|
|
45
|
+
const connectionAdapter = typeof options.connections === "function" ? options.connections : createFoundryConnectionAdapter({
|
|
46
|
+
...options.connections,
|
|
47
|
+
baseUrl: options.baseUrl
|
|
48
|
+
});
|
|
49
|
+
return createOntologyBackendInstallation({
|
|
50
|
+
installationId: options.installationId ?? new URL(options.baseUrl).origin,
|
|
51
|
+
connections: connectionAdapter,
|
|
52
|
+
runtime: options.runtime,
|
|
53
|
+
routes: options.routes.map((route) => route(options.baseUrl)),
|
|
54
|
+
createContext: options.createContext
|
|
55
|
+
});
|
|
69
56
|
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { createFoundryBackendInstallation, createFoundryOntologyRoute };
|
|
59
|
+
|
|
70
60
|
//# sourceMappingURL=createFoundryBackendInstallation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createFoundryBackendInstallation.js","
|
|
1
|
+
{"version":3,"file":"createFoundryBackendInstallation.js","names":[],"sources":["../../src/installation/createFoundryBackendInstallation.ts"],"sourcesContent":["import { createOntologyClient } from \"@party-stack/foundry-client\";\nimport {\n createMetaOntologyConfiguration,\n createOntologyBackendInstallation,\n type LiveOntologyWrites,\n type OntologyBackendInstallation,\n type ConfigureOntologyOptions,\n type OntologyConfiguration,\n type OntologyRoute,\n} from \"@party-stack/ontology\";\nimport {\n createFoundryOntologyBackend,\n type FoundryUsersIntegration,\n} from \"../adapter/createFoundryOntologyBackendAdapter.js\";\nimport {\n createFoundryConnectionAdapter,\n type CreateFoundryConnectionAdapterOptions,\n type FoundryAuthenticationClient,\n} from \"../connection.js\";\nimport { createFoundryMetaOntologyBackendAdapter } from \"../meta/createFoundryMetaOntologyBackendAdapter.js\";\nimport type { BackendConnectionAdapterProvider, ConnectionEgress } from \"@party-stack/connections\";\nimport type { OntologyIR } from \"@party-stack/ontology\";\nimport type { RuntimeAdapterProvider } from \"@party-stack/runtime\";\n\nexport type FoundryConnectionOptions = Omit<CreateFoundryConnectionAdapterOptions, \"baseUrl\">;\nexport type FoundryOntologyRoute = (baseUrl: string) => OntologyRoute;\n\nexport interface CreateFoundryBackendInstallationOptions<\n AuthenticationClient extends object = FoundryAuthenticationClient,\n> {\n installationId?: string;\n baseUrl: string;\n runtime: RuntimeAdapterProvider;\n connections: FoundryConnectionOptions | BackendConnectionAdapterProvider<AuthenticationClient>;\n routes: readonly FoundryOntologyRoute[];\n createContext?: (userId: string, ontologyId: string) => Record<string, unknown>;\n}\n\nfunction createConnectionOntologyClient(baseUrl: string, ontologyId: string, egress: ConnectionEgress) {\n return createOntologyClient({\n baseUrl,\n ontologyRid: ontologyId,\n // ConnectionEgress replaces this placeholder Authorization\n // header with the active connection token before network access.\n tokenProvider: () => Promise.resolve(\"party-stack\"),\n fetch: egress.fetch,\n createWebSocket: (url, protocols) => egress.createWebSocket(url, protocols),\n });\n}\n\nfunction configureFoundryMeta(\n baseUrl: string,\n options: ConfigureOntologyOptions,\n metaRefetchInterval?: number | false\n): OntologyConfiguration {\n const client = createConnectionOntologyClient(baseUrl, options.ontologyId, options.egress);\n return createMetaOntologyConfiguration({\n backend: () =>\n createFoundryMetaOntologyBackendAdapter({\n client,\n refetchInterval: metaRefetchInterval,\n }),\n });\n}\n\nexport function createFoundryOntologyRoute(options: {\n ontologyId: string;\n ir?: OntologyIR;\n users?: FoundryUsersIntegration | ((userId: string) => FoundryUsersIntegration);\n live?: boolean;\n persistObjects?: boolean;\n writes?: LiveOntologyWrites;\n /** Metadata polling interval in milliseconds, or false to disable. Only applies when IR is omitted. */\n metaRefetchInterval?: number | false;\n}): FoundryOntologyRoute {\n return (baseUrl) => {\n const route: OntologyRoute = {\n matches: (ontologyId) => ontologyId === options.ontologyId,\n };\n const ir = options.ir;\n if (ir) {\n route.configure = ({ connection, egress }) => {\n const client = createConnectionOntologyClient(baseUrl, options.ontologyId, egress);\n return {\n ir,\n backend: createFoundryOntologyBackend({\n client,\n users:\n typeof options.users === \"function\"\n ? options.users(connection.userId)\n : options.users,\n live: options.live,\n }),\n persistObjects: options.persistObjects,\n writes: options.writes,\n };\n };\n } else {\n route.configureMeta = (configureOptions) =>\n configureFoundryMeta(baseUrl, configureOptions, options.metaRefetchInterval);\n }\n return route;\n };\n}\n\nexport function createFoundryBackendInstallation<\n AuthenticationClient extends object = FoundryAuthenticationClient,\n>(\n options: CreateFoundryBackendInstallationOptions<AuthenticationClient>\n): Promise<OntologyBackendInstallation<AuthenticationClient>> {\n const connectionAdapter =\n typeof options.connections === \"function\"\n ? options.connections\n : (createFoundryConnectionAdapter({\n ...options.connections,\n baseUrl: options.baseUrl,\n }) as BackendConnectionAdapterProvider<AuthenticationClient>);\n return createOntologyBackendInstallation<AuthenticationClient>({\n installationId: options.installationId ?? new URL(options.baseUrl).origin,\n connections: connectionAdapter,\n runtime: options.runtime,\n routes: options.routes.map((route) => route(options.baseUrl)),\n createContext: options.createContext,\n });\n}\n"],"mappings":";;;;;;AAsCA,SAAS,+BAA+B,SAAiB,YAAoB,QAA0B;CACnG,OAAO,qBAAqB;EACxB;EACA,aAAa;EAGb,qBAAqB,QAAQ,QAAQ,aAAa;EAClD,OAAO,OAAO;EACd,kBAAkB,KAAK,cAAc,OAAO,gBAAgB,KAAK,SAAS;CAC9E,CAAC;AACL;AAEA,SAAS,qBACL,SACA,SACA,qBACqB;CACrB,MAAM,SAAS,+BAA+B,SAAS,QAAQ,YAAY,QAAQ,MAAM;CACzF,OAAO,gCAAgC,EACnC,eACI,wCAAwC;EACpC;EACA,iBAAiB;CACrB,CAAC,EACT,CAAC;AACL;AAEA,SAAgB,2BAA2B,SASlB;CACrB,QAAQ,YAAY;EAChB,MAAM,QAAuB,EACzB,UAAU,eAAe,eAAe,QAAQ,WACpD;EACA,MAAM,KAAK,QAAQ;EACnB,IAAI,IACA,MAAM,aAAa,EAAE,YAAY,aAAa;GAC1C,MAAM,SAAS,+BAA+B,SAAS,QAAQ,YAAY,MAAM;GACjF,OAAO;IACH;IACA,SAAS,6BAA6B;KAClC;KACA,OACI,OAAO,QAAQ,UAAU,aACnB,QAAQ,MAAM,WAAW,MAAM,IAC/B,QAAQ;KAClB,MAAM,QAAQ;IAClB,CAAC;IACD,gBAAgB,QAAQ;IACxB,QAAQ,QAAQ;GACpB;EACJ;OAEA,MAAM,iBAAiB,qBACnB,qBAAqB,SAAS,kBAAkB,QAAQ,mBAAmB;EAEnF,OAAO;CACX;AACJ;AAEA,SAAgB,iCAGZ,SAC0D;CAC1D,MAAM,oBACF,OAAO,QAAQ,gBAAgB,aACzB,QAAQ,cACP,+BAA+B;EAC5B,GAAG,QAAQ;EACX,SAAS,QAAQ;CACrB,CAAC;CACX,OAAO,kCAAwD;EAC3D,gBAAgB,QAAQ,kBAAkB,IAAI,IAAI,QAAQ,OAAO,CAAC,CAAC;EACnE,aAAa;EACb,SAAS,QAAQ;EACjB,QAAQ,QAAQ,OAAO,KAAK,UAAU,MAAM,QAAQ,OAAO,CAAC;EAC5D,eAAe,QAAQ;CAC3B,CAAC;AACL"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { CreateFoundryBackendInstallationOptions, FoundryConnectionOptions, FoundryOntologyRoute, createFoundryBackendInstallation, createFoundryOntologyRoute } from "./createFoundryBackendInstallation.js";
|
|
2
|
+
export { type CreateFoundryBackendInstallationOptions, type FoundryConnectionOptions, type FoundryOntologyRoute, createFoundryBackendInstallation, createFoundryOntologyRoute };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { createFoundryBackendInstallation, createFoundryOntologyRoute } from "./createFoundryBackendInstallation.js";
|
|
2
|
+
export { createFoundryBackendInstallation, createFoundryOntologyRoute };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OntologyClient } from "@party-stack/foundry-client";
|
|
2
|
+
import { ActionTypeV2 } from "@osdk/foundry.ontologies";
|
|
3
|
+
import { OntologyCollectionOptions } from "@party-stack/ontology";
|
|
2
4
|
import { QueryClient } from "@tanstack/query-core";
|
|
3
|
-
|
|
4
|
-
import type { OntologyCollectionOptions } from "@party-stack/ontology";
|
|
5
|
+
//#region src/meta/actionTypeCollectionOptions.d.ts
|
|
5
6
|
export interface ActionTypeCollectionOpts {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
client: OntologyClient;
|
|
8
|
+
refetchInterval?: number | false;
|
|
9
|
+
queryClient?: QueryClient;
|
|
9
10
|
}
|
|
10
11
|
export declare function isNotDeclarativeActionType(actionType: ActionTypeV2): boolean;
|
|
11
12
|
export declare function actionTypeCollectionOptions(opts: ActionTypeCollectionOpts): OntologyCollectionOptions;
|
|
13
|
+
//#endregion
|
|
12
14
|
//# sourceMappingURL=actionTypeCollectionOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypeCollectionOptions.d.ts","
|
|
1
|
+
{"version":3,"file":"actionTypeCollectionOptions.d.ts","names":[],"sources":["../../src/meta/actionTypeCollectionOptions.ts"],"mappings":";;;;;iBAmBiB;EACb,QAAQ;EACR;EACA,cAAc;;wBAIF,2BAA2B,YAAY;wBA+EvC,4BAA4B,MAAM,2BAA2B"}
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { QueryClient } from "@tanstack/query-core";
|
|
3
|
-
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
4
|
-
import * as AsyncIterable from "../utils/AsyncIterable.js";
|
|
5
|
-
import { convertActionTypeLoadSubsetFilter, convertActionTypeLoadSubsetOrderBy, } from "./convertActionTypeLoadSubsetOptions.js";
|
|
1
|
+
import { fromBatches, fromPagination, toArray } from "../utils/AsyncIterable.js";
|
|
6
2
|
import { convertFoundryMetaActionType } from "./convertMetaActionType.js";
|
|
3
|
+
import { convertActionTypeLoadSubsetFilter, convertActionTypeLoadSubsetOrderBy } from "./convertActionTypeLoadSubsetOptions.js";
|
|
7
4
|
import { loadActionTypeOmsMetadata } from "./loadActionTypeOmsMetadata.js";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
import { ActionTypesFullMetadata, ActionTypesV2 } from "@osdk/foundry.ontologies";
|
|
6
|
+
import { QueryClient } from "@tanstack/query-core";
|
|
7
|
+
import { queryCollectionOptions } from "@tanstack/query-db-collection";
|
|
8
|
+
//#region src/meta/actionTypeCollectionOptions.ts
|
|
9
|
+
function isNotDeclarativeActionType(actionType) {
|
|
10
|
+
return actionType.operations.length === 0;
|
|
11
11
|
}
|
|
12
12
|
async function searchActionTypes(client, options) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
return results.slice(offset, limit === undefined ? undefined : offset + limit);
|
|
13
|
+
const where = convertActionTypeLoadSubsetFilter(options?.where);
|
|
14
|
+
const orderBy = convertActionTypeLoadSubsetOrderBy(options?.orderBy);
|
|
15
|
+
const canPushDownPagination = !options?.orderBy || orderBy !== void 0;
|
|
16
|
+
const offset = canPushDownPagination ? options?.offset ?? 0 : 0;
|
|
17
|
+
const limit = canPushDownPagination ? options?.limit : void 0;
|
|
18
|
+
return (await toArray(fromPagination((pageSize, pageToken) => ActionTypesV2.search(client, client.ontologyRid, {
|
|
19
|
+
where,
|
|
20
|
+
orderBy,
|
|
21
|
+
pageSize,
|
|
22
|
+
pageToken,
|
|
23
|
+
fuzziness: { type: "off" }
|
|
24
|
+
}, { preview: true }), (page) => page.nextPageToken, (page) => page.data, 100, limit === void 0 ? void 0 : offset + limit))).slice(offset, limit === void 0 ? void 0 : offset + limit);
|
|
26
25
|
}
|
|
27
26
|
async function loadActionTypesFullMetadata(client, actionTypes) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
fullMetadataByApiName.set(metadata.actionType.apiName, metadata);
|
|
37
|
-
}
|
|
38
|
-
return actionTypes.map((actionType) => fullMetadataByApiName.get(actionType.apiName) ?? {
|
|
39
|
-
actionType,
|
|
40
|
-
fullLogicRules: [],
|
|
41
|
-
});
|
|
27
|
+
const declarativeActionTypes = actionTypes.filter((actionType) => !isNotDeclarativeActionType(actionType));
|
|
28
|
+
const fullMetadataByApiName = /* @__PURE__ */ new Map();
|
|
29
|
+
const fullMetadata = await toArray(fromBatches(declarativeActionTypes, async (batch) => (await ActionTypesFullMetadata.getFullMetadataBatch(client, client.ontologyRid, { requests: batch.map((actionType) => ({ actionType: actionType.apiName })) }, { preview: true })).data, 100));
|
|
30
|
+
for (const metadata of fullMetadata) fullMetadataByApiName.set(metadata.actionType.apiName, metadata);
|
|
31
|
+
return actionTypes.map((actionType) => fullMetadataByApiName.get(actionType.apiName) ?? {
|
|
32
|
+
actionType,
|
|
33
|
+
fullLogicRules: []
|
|
34
|
+
});
|
|
42
35
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
36
|
+
function actionTypeCollectionOptions(opts) {
|
|
37
|
+
return queryCollectionOptions({
|
|
38
|
+
queryClient: opts.queryClient ?? new QueryClient(),
|
|
39
|
+
getKey: (row) => row.name,
|
|
40
|
+
queryKey: [
|
|
41
|
+
"foundry",
|
|
42
|
+
"ontology",
|
|
43
|
+
"actionTypes"
|
|
44
|
+
],
|
|
45
|
+
syncMode: "on-demand",
|
|
46
|
+
refetchInterval: opts.refetchInterval,
|
|
47
|
+
queryFn: async (ctx) => {
|
|
48
|
+
const actionTypes = await searchActionTypes(opts.client, ctx.meta?.loadSubsetOptions);
|
|
49
|
+
const actionTypeMetadata = await loadActionTypesFullMetadata(opts.client, actionTypes);
|
|
50
|
+
const omsMetadata = await loadActionTypeOmsMetadata(opts.client, actionTypeMetadata.map((metadata) => metadata.actionType.rid));
|
|
51
|
+
return actionTypeMetadata.map((metadata) => convertFoundryMetaActionType(metadata, omsMetadata.get(metadata.actionType.rid)));
|
|
52
|
+
}
|
|
53
|
+
});
|
|
57
54
|
}
|
|
55
|
+
//#endregion
|
|
56
|
+
export { actionTypeCollectionOptions, isNotDeclarativeActionType };
|
|
57
|
+
|
|
58
58
|
//# sourceMappingURL=actionTypeCollectionOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionTypeCollectionOptions.js","
|
|
1
|
+
{"version":3,"file":"actionTypeCollectionOptions.js","names":["AsyncIterable.toArray","AsyncIterable.fromPagination","AsyncIterable.fromBatches"],"sources":["../../src/meta/actionTypeCollectionOptions.ts"],"sourcesContent":["import {\n ActionTypesFullMetadata,\n ActionTypesV2,\n type ActionTypeFullMetadata,\n type ActionTypeV2,\n} from \"@osdk/foundry.ontologies\";\nimport { QueryClient } from \"@tanstack/query-core\";\nimport { queryCollectionOptions } from \"@tanstack/query-db-collection\";\nimport * as AsyncIterable from \"../utils/AsyncIterable.js\";\nimport {\n convertActionTypeLoadSubsetFilter,\n convertActionTypeLoadSubsetOrderBy,\n} from \"./convertActionTypeLoadSubsetOptions.js\";\nimport { convertFoundryMetaActionType } from \"./convertMetaActionType.js\";\nimport { loadActionTypeOmsMetadata } from \"./loadActionTypeOmsMetadata.js\";\nimport type { OntologyClient } from \"@party-stack/foundry-client\";\nimport type { MetaActionType, OntologyCollectionOptions } from \"@party-stack/ontology\";\nimport type { LoadSubsetOptions } from \"@tanstack/db\";\n\nexport interface ActionTypeCollectionOpts {\n client: OntologyClient;\n refetchInterval?: number | false;\n queryClient?: QueryClient;\n}\n\n// These 404 for some reason on full metadata calls right now but we don't need them right now.\nexport function isNotDeclarativeActionType(actionType: ActionTypeV2): boolean {\n return actionType.operations.length === 0;\n}\n\nasync function searchActionTypes(\n client: OntologyClient,\n options?: LoadSubsetOptions\n): Promise<ActionTypeV2[]> {\n const where = convertActionTypeLoadSubsetFilter(options?.where);\n const orderBy = convertActionTypeLoadSubsetOrderBy(options?.orderBy);\n const canPushDownPagination = !options?.orderBy || orderBy !== undefined;\n const offset = canPushDownPagination ? (options?.offset ?? 0) : 0;\n const limit = canPushDownPagination ? options?.limit : undefined;\n\n const results = await AsyncIterable.toArray(\n AsyncIterable.fromPagination(\n (pageSize, pageToken: string | undefined) =>\n ActionTypesV2.search(\n client,\n client.ontologyRid,\n {\n where,\n orderBy,\n pageSize,\n pageToken,\n fuzziness: { type: \"off\" },\n },\n { preview: true }\n ),\n (page) => page.nextPageToken,\n (page) => page.data,\n 100,\n limit === undefined ? undefined : offset + limit\n )\n );\n\n return results.slice(offset, limit === undefined ? undefined : offset + limit);\n}\n\nasync function loadActionTypesFullMetadata(\n client: OntologyClient,\n actionTypes: ActionTypeV2[]\n): Promise<ActionTypeFullMetadata[]> {\n const declarativeActionTypes = actionTypes.filter(\n (actionType) => !isNotDeclarativeActionType(actionType)\n );\n const fullMetadataByApiName = new Map<string, ActionTypeFullMetadata>();\n const fullMetadata = await AsyncIterable.toArray(\n AsyncIterable.fromBatches(\n declarativeActionTypes,\n async (batch) =>\n (\n await ActionTypesFullMetadata.getFullMetadataBatch(\n client,\n client.ontologyRid,\n {\n requests: batch.map((actionType) => ({\n actionType: actionType.apiName,\n })),\n },\n { preview: true }\n )\n ).data,\n 100\n )\n );\n for (const metadata of fullMetadata) {\n fullMetadataByApiName.set(metadata.actionType.apiName, metadata);\n }\n\n return actionTypes.map(\n (actionType) =>\n fullMetadataByApiName.get(actionType.apiName) ?? {\n actionType,\n fullLogicRules: [],\n }\n );\n}\n\nexport function actionTypeCollectionOptions(opts: ActionTypeCollectionOpts): OntologyCollectionOptions {\n return queryCollectionOptions<MetaActionType>({\n queryClient: opts.queryClient ?? new QueryClient(),\n getKey: (row) => row.name,\n queryKey: [\"foundry\", \"ontology\", \"actionTypes\"],\n syncMode: \"on-demand\",\n refetchInterval: opts.refetchInterval,\n queryFn: async (ctx) => {\n const actionTypes = await searchActionTypes(opts.client, ctx.meta?.loadSubsetOptions);\n const actionTypeMetadata = await loadActionTypesFullMetadata(opts.client, actionTypes);\n const omsMetadata = await loadActionTypeOmsMetadata(\n opts.client,\n actionTypeMetadata.map((metadata) => metadata.actionType.rid)\n );\n return actionTypeMetadata.map((metadata) =>\n convertFoundryMetaActionType(metadata, omsMetadata.get(metadata.actionType.rid))\n );\n },\n }) as unknown as OntologyCollectionOptions;\n}\n"],"mappings":";;;;;;;;AA0BA,SAAgB,2BAA2B,YAAmC;CAC1E,OAAO,WAAW,WAAW,WAAW;AAC5C;AAEA,eAAe,kBACX,QACA,SACuB;CACvB,MAAM,QAAQ,kCAAkC,SAAS,KAAK;CAC9D,MAAM,UAAU,mCAAmC,SAAS,OAAO;CACnE,MAAM,wBAAwB,CAAC,SAAS,WAAW,YAAY,KAAA;CAC/D,MAAM,SAAS,wBAAyB,SAAS,UAAU,IAAK;CAChE,MAAM,QAAQ,wBAAwB,SAAS,QAAQ,KAAA;CAwBvD,QAAO,MAtBeA,QAClBC,gBACK,UAAU,cACP,cAAc,OACV,QACA,OAAO,aACP;EACI;EACA;EACA;EACA;EACA,WAAW,EAAE,MAAM,MAAM;CAC7B,GACA,EAAE,SAAS,KAAK,CACpB,IACH,SAAS,KAAK,gBACd,SAAS,KAAK,MACf,KACA,UAAU,KAAA,IAAY,KAAA,IAAY,SAAS,KAC/C,CACJ,EAAA,CAEe,MAAM,QAAQ,UAAU,KAAA,IAAY,KAAA,IAAY,SAAS,KAAK;AACjF;AAEA,eAAe,4BACX,QACA,aACiC;CACjC,MAAM,yBAAyB,YAAY,QACtC,eAAe,CAAC,2BAA2B,UAAU,CAC1D;CACA,MAAM,wCAAwB,IAAI,IAAoC;CACtE,MAAM,eAAe,MAAMD,QACvBE,YACI,wBACA,OAAO,WAEC,MAAM,wBAAwB,qBAC1B,QACA,OAAO,aACP,EACI,UAAU,MAAM,KAAK,gBAAgB,EACjC,YAAY,WAAW,QAC3B,EAAE,EACN,GACA,EAAE,SAAS,KAAK,CACpB,EAAA,CACF,MACN,GACJ,CACJ;CACA,KAAK,MAAM,YAAY,cACnB,sBAAsB,IAAI,SAAS,WAAW,SAAS,QAAQ;CAGnE,OAAO,YAAY,KACd,eACG,sBAAsB,IAAI,WAAW,OAAO,KAAK;EAC7C;EACA,gBAAgB,CAAC;CACrB,CACR;AACJ;AAEA,SAAgB,4BAA4B,MAA2D;CACnG,OAAO,uBAAuC;EAC1C,aAAa,KAAK,eAAe,IAAI,YAAY;EACjD,SAAS,QAAQ,IAAI;EACrB,UAAU;GAAC;GAAW;GAAY;EAAa;EAC/C,UAAU;EACV,iBAAiB,KAAK;EACtB,SAAS,OAAO,QAAQ;GACpB,MAAM,cAAc,MAAM,kBAAkB,KAAK,QAAQ,IAAI,MAAM,iBAAiB;GACpF,MAAM,qBAAqB,MAAM,4BAA4B,KAAK,QAAQ,WAAW;GACrF,MAAM,cAAc,MAAM,0BACtB,KAAK,QACL,mBAAmB,KAAK,aAAa,SAAS,WAAW,GAAG,CAChE;GACA,OAAO,mBAAmB,KAAK,aAC3B,6BAA6B,UAAU,YAAY,IAAI,SAAS,WAAW,GAAG,CAAC,CACnF;EACJ;CACJ,CAAC;AACL"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { ActionTypeSearchJsonQueryV2, SearchActionTypesOrderByV2 } from "@osdk/foundry.ontologies";
|
|
1
2
|
import { LoadSubsetOptions } from "@tanstack/db";
|
|
2
|
-
|
|
3
|
+
//#region src/meta/convertActionTypeLoadSubsetOptions.d.ts
|
|
3
4
|
export declare function convertActionTypeLoadSubsetFilter(filter: LoadSubsetOptions["where"]): ActionTypeSearchJsonQueryV2 | undefined;
|
|
4
5
|
export declare function convertActionTypeLoadSubsetOrderBy(orderBy: LoadSubsetOptions["orderBy"]): SearchActionTypesOrderByV2 | undefined;
|
|
6
|
+
//#endregion
|
|
5
7
|
//# sourceMappingURL=convertActionTypeLoadSubsetOptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertActionTypeLoadSubsetOptions.d.ts","
|
|
1
|
+
{"version":3,"file":"convertActionTypeLoadSubsetOptions.d.ts","names":[],"sources":["../../src/meta/convertActionTypeLoadSubsetOptions.ts"],"mappings":";;;wBAuEgB,kCACZ,QAAQ,6BACT;wBAwBa,mCACZ,SAAS,+BACV"}
|
|
@@ -1,90 +1,84 @@
|
|
|
1
|
-
import { parseOrderByExpression, parseWhereExpression } from "@tanstack/db";
|
|
2
1
|
import { toFoundryActionTypeName } from "../utils/actionTypeName.js";
|
|
2
|
+
import { parseOrderByExpression, parseWhereExpression } from "@tanstack/db";
|
|
3
|
+
//#region src/meta/convertActionTypeLoadSubsetOptions.ts
|
|
3
4
|
const FILTER_FIELDS = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
id: "actionTypeRid",
|
|
6
|
+
name: "actionTypeApiName",
|
|
7
|
+
displayName: "actionTypeDisplayName"
|
|
7
8
|
};
|
|
8
9
|
const LIKE_FIELDS = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
const ORDER_BY_FIELDS = {
|
|
13
|
-
displayName: "actionTypeDisplayName",
|
|
10
|
+
name: FILTER_FIELDS.name,
|
|
11
|
+
displayName: FILTER_FIELDS.displayName
|
|
14
12
|
};
|
|
13
|
+
const ORDER_BY_FIELDS = { displayName: "actionTypeDisplayName" };
|
|
15
14
|
function getFilterField(field) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
throw new Error(`Foundry ActionType search does not support filtering by "${name}".`);
|
|
15
|
+
const name = field.join(".");
|
|
16
|
+
if (name && Object.hasOwn(FILTER_FIELDS, name)) return name;
|
|
17
|
+
throw new Error(`Foundry ActionType search does not support filtering by "${name}".`);
|
|
21
18
|
}
|
|
22
19
|
function getLikeField(field) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
throw new Error(`Foundry ActionType search does not support LIKE filtering by "${name}".`);
|
|
20
|
+
const name = field.join(".");
|
|
21
|
+
if (name && Object.hasOwn(LIKE_FIELDS, name)) return name;
|
|
22
|
+
throw new Error(`Foundry ActionType search does not support LIKE filtering by "${name}".`);
|
|
28
23
|
}
|
|
29
|
-
function eq(field, value) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
},
|
|
43
|
-
};
|
|
24
|
+
function eq$1(field, value) {
|
|
25
|
+
const name = getFilterField(field);
|
|
26
|
+
if (name === "id") return {
|
|
27
|
+
type: "actionTypeRid",
|
|
28
|
+
value
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
type: FILTER_FIELDS[name],
|
|
32
|
+
value: {
|
|
33
|
+
type: "exact",
|
|
34
|
+
value: name === "name" ? toFoundryActionTypeName(value) : value
|
|
35
|
+
}
|
|
36
|
+
};
|
|
44
37
|
}
|
|
45
38
|
function like(field, value) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
39
|
+
const name = getLikeField(field);
|
|
40
|
+
const queries = value.split("%").filter(Boolean).map((term) => ({
|
|
41
|
+
type: LIKE_FIELDS[name],
|
|
42
|
+
value: {
|
|
43
|
+
type: "contains",
|
|
44
|
+
value: name === "name" ? toFoundryActionTypeName(term) : term
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
return queries.length === 1 ? queries[0] : {
|
|
48
|
+
type: "and",
|
|
49
|
+
value: queries
|
|
50
|
+
};
|
|
56
51
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
},
|
|
76
|
-
}) ?? undefined);
|
|
52
|
+
function convertActionTypeLoadSubsetFilter(filter) {
|
|
53
|
+
return parseWhereExpression(filter, { handlers: {
|
|
54
|
+
and: (...filters) => ({
|
|
55
|
+
type: "and",
|
|
56
|
+
value: filters
|
|
57
|
+
}),
|
|
58
|
+
or: (...filters) => ({
|
|
59
|
+
type: "or",
|
|
60
|
+
value: filters
|
|
61
|
+
}),
|
|
62
|
+
eq: eq$1,
|
|
63
|
+
in: (field, values) => ({
|
|
64
|
+
type: "or",
|
|
65
|
+
value: values.map((value) => eq$1(field, value))
|
|
66
|
+
}),
|
|
67
|
+
like,
|
|
68
|
+
ilike: like
|
|
69
|
+
} }) ?? void 0;
|
|
77
70
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
direction,
|
|
88
|
-
};
|
|
71
|
+
function convertActionTypeLoadSubsetOrderBy(orderBy) {
|
|
72
|
+
const ordering = orderBy ? parseOrderByExpression(orderBy) : [];
|
|
73
|
+
const { field, direction } = ordering[0] ?? {};
|
|
74
|
+
const name = field?.join(".");
|
|
75
|
+
if (ordering.length !== 1 || !name || !Object.hasOwn(ORDER_BY_FIELDS, name)) return;
|
|
76
|
+
return {
|
|
77
|
+
field: ORDER_BY_FIELDS[name],
|
|
78
|
+
direction
|
|
79
|
+
};
|
|
89
80
|
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { convertActionTypeLoadSubsetFilter, convertActionTypeLoadSubsetOrderBy };
|
|
83
|
+
|
|
90
84
|
//# sourceMappingURL=convertActionTypeLoadSubsetOptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertActionTypeLoadSubsetOptions.js","
|
|
1
|
+
{"version":3,"file":"convertActionTypeLoadSubsetOptions.js","names":["eq"],"sources":["../../src/meta/convertActionTypeLoadSubsetOptions.ts"],"sourcesContent":["import { FieldPath, LoadSubsetOptions, parseOrderByExpression, parseWhereExpression } from \"@tanstack/db\";\nimport { toFoundryActionTypeName } from \"../utils/actionTypeName.js\";\nimport type {\n ActionTypeSearchJsonQueryV2,\n ActionTypeSortByV2,\n SearchActionTypesOrderByV2,\n} from \"@osdk/foundry.ontologies\";\nimport type { MetaActionType } from \"@party-stack/ontology\";\n\nconst FILTER_FIELDS = {\n id: \"actionTypeRid\",\n name: \"actionTypeApiName\",\n displayName: \"actionTypeDisplayName\",\n} as const satisfies Partial<Record<keyof MetaActionType, ActionTypeSearchJsonQueryV2[\"type\"]>>;\n\nconst LIKE_FIELDS = {\n name: FILTER_FIELDS.name,\n displayName: FILTER_FIELDS.displayName,\n} as const satisfies Pick<typeof FILTER_FIELDS, \"name\" | \"displayName\">;\n\nconst ORDER_BY_FIELDS = {\n displayName: \"actionTypeDisplayName\",\n} as const satisfies Partial<Record<keyof MetaActionType, ActionTypeSortByV2>>;\n\nfunction getFilterField(field: FieldPath): keyof typeof FILTER_FIELDS {\n const name = field.join(\".\");\n if (name && Object.hasOwn(FILTER_FIELDS, name)) {\n return name as keyof typeof FILTER_FIELDS;\n }\n throw new Error(`Foundry ActionType search does not support filtering by \"${name}\".`);\n}\n\nfunction getLikeField(field: FieldPath): keyof typeof LIKE_FIELDS {\n const name = field.join(\".\");\n if (name && Object.hasOwn(LIKE_FIELDS, name)) {\n return name as keyof typeof LIKE_FIELDS;\n }\n throw new Error(`Foundry ActionType search does not support LIKE filtering by \"${name}\".`);\n}\n\nfunction eq(field: FieldPath, value: unknown): ActionTypeSearchJsonQueryV2 {\n const name = getFilterField(field);\n if (name === \"id\") {\n return {\n type: \"actionTypeRid\",\n value: value as string,\n };\n }\n return {\n type: FILTER_FIELDS[name],\n value: {\n type: \"exact\",\n value: name === \"name\" ? toFoundryActionTypeName(value as string) : (value as string),\n },\n };\n}\n\nfunction like(field: FieldPath, value: string): ActionTypeSearchJsonQueryV2 {\n const name = getLikeField(field);\n const terms = value.split(\"%\").filter(Boolean);\n const queries: ActionTypeSearchJsonQueryV2[] = terms.map((term) => ({\n type: LIKE_FIELDS[name],\n value: {\n type: \"contains\",\n value: name === \"name\" ? toFoundryActionTypeName(term) : term,\n },\n }));\n\n return queries.length === 1 ? queries[0]! : { type: \"and\", value: queries };\n}\n\nexport function convertActionTypeLoadSubsetFilter(\n filter: LoadSubsetOptions[\"where\"]\n): ActionTypeSearchJsonQueryV2 | undefined {\n return (\n parseWhereExpression<ActionTypeSearchJsonQueryV2>(filter, {\n handlers: {\n and: (...filters: ActionTypeSearchJsonQueryV2[]) => ({\n type: \"and\",\n value: filters,\n }),\n or: (...filters: ActionTypeSearchJsonQueryV2[]) => ({\n type: \"or\",\n value: filters,\n }),\n eq,\n in: (field: FieldPath, values: unknown[]) => ({\n type: \"or\",\n value: values.map((value) => eq(field, value)),\n }),\n like,\n ilike: like,\n },\n }) ?? undefined\n );\n}\n\nexport function convertActionTypeLoadSubsetOrderBy(\n orderBy: LoadSubsetOptions[\"orderBy\"]\n): SearchActionTypesOrderByV2 | undefined {\n const ordering = orderBy ? parseOrderByExpression(orderBy) : [];\n const { field, direction } = ordering[0] ?? {};\n const name = field?.join(\".\");\n if (ordering.length !== 1 || !name || !Object.hasOwn(ORDER_BY_FIELDS, name)) {\n return undefined;\n }\n\n return {\n field: ORDER_BY_FIELDS[name as keyof typeof ORDER_BY_FIELDS],\n direction,\n };\n}\n"],"mappings":";;;AASA,MAAM,gBAAgB;CAClB,IAAI;CACJ,MAAM;CACN,aAAa;AACjB;AAEA,MAAM,cAAc;CAChB,MAAM,cAAc;CACpB,aAAa,cAAc;AAC/B;AAEA,MAAM,kBAAkB,EACpB,aAAa,wBACjB;AAEA,SAAS,eAAe,OAA8C;CAClE,MAAM,OAAO,MAAM,KAAK,GAAG;CAC3B,IAAI,QAAQ,OAAO,OAAO,eAAe,IAAI,GACzC,OAAO;CAEX,MAAM,IAAI,MAAM,4DAA4D,KAAK,GAAG;AACxF;AAEA,SAAS,aAAa,OAA4C;CAC9D,MAAM,OAAO,MAAM,KAAK,GAAG;CAC3B,IAAI,QAAQ,OAAO,OAAO,aAAa,IAAI,GACvC,OAAO;CAEX,MAAM,IAAI,MAAM,iEAAiE,KAAK,GAAG;AAC7F;AAEA,SAASA,KAAG,OAAkB,OAA6C;CACvE,MAAM,OAAO,eAAe,KAAK;CACjC,IAAI,SAAS,MACT,OAAO;EACH,MAAM;EACC;CACX;CAEJ,OAAO;EACH,MAAM,cAAc;EACpB,OAAO;GACH,MAAM;GACN,OAAO,SAAS,SAAS,wBAAwB,KAAe,IAAK;EACzE;CACJ;AACJ;AAEA,SAAS,KAAK,OAAkB,OAA4C;CACxE,MAAM,OAAO,aAAa,KAAK;CAE/B,MAAM,UADQ,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,OACa,CAAC,CAAC,KAAK,UAAU;EAChE,MAAM,YAAY;EAClB,OAAO;GACH,MAAM;GACN,OAAO,SAAS,SAAS,wBAAwB,IAAI,IAAI;EAC7D;CACJ,EAAE;CAEF,OAAO,QAAQ,WAAW,IAAI,QAAQ,KAAM;EAAE,MAAM;EAAO,OAAO;CAAQ;AAC9E;AAEA,SAAgB,kCACZ,QACuC;CACvC,OACI,qBAAkD,QAAQ,EACtD,UAAU;EACN,MAAM,GAAG,aAA4C;GACjD,MAAM;GACN,OAAO;EACX;EACA,KAAK,GAAG,aAA4C;GAChD,MAAM;GACN,OAAO;EACX;EACA,IAAA;EACA,KAAK,OAAkB,YAAuB;GAC1C,MAAM;GACN,OAAO,OAAO,KAAK,UAAUA,KAAG,OAAO,KAAK,CAAC;EACjD;EACA;EACA,OAAO;CACX,EACJ,CAAC,KAAK,KAAA;AAEd;AAEA,SAAgB,mCACZ,SACsC;CACtC,MAAM,WAAW,UAAU,uBAAuB,OAAO,IAAI,CAAC;CAC9D,MAAM,EAAE,OAAO,cAAc,SAAS,MAAM,CAAC;CAC7C,MAAM,OAAO,OAAO,KAAK,GAAG;CAC5B,IAAI,SAAS,WAAW,KAAK,CAAC,QAAQ,CAAC,OAAO,OAAO,iBAAiB,IAAI,GACtE;CAGJ,OAAO;EACH,OAAO,gBAAgB;EACvB;CACJ;AACJ"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { ActionTypeOmsMetadata } from "./loadActionTypeOmsMetadata.js";
|
|
2
|
+
import { ActionTypeFullMetadata } from "@osdk/foundry.ontologies";
|
|
3
|
+
import { ActionTypeDef, MetaActionType } from "@party-stack/ontology";
|
|
4
|
+
//#region src/meta/convertMetaActionType.d.ts
|
|
4
5
|
export declare function getFoundryActionOverrideParameterMapping(actionType: ActionTypeDef): {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
uuidByParameterName: Map<string, string>;
|
|
7
|
+
nowParameterName?: string;
|
|
7
8
|
};
|
|
8
9
|
export declare function convertFoundryMetaActionType(actionType: ActionTypeFullMetadata, omsMetadata?: ActionTypeOmsMetadata): MetaActionType;
|
|
10
|
+
//#endregion
|
|
9
11
|
//# sourceMappingURL=convertMetaActionType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertMetaActionType.d.ts","
|
|
1
|
+
{"version":3,"file":"convertMetaActionType.d.ts","names":[],"sources":["../../src/meta/convertMetaActionType.ts"],"mappings":";;;;wBA8egB,yCAAyC,YAAY;EACjE,qBAAqB;EACrB;;wBA4RY,6BACZ,YAAY,wBACZ,cAAc,wBACf"}
|