@itwin/presentation-backend 5.0.0-dev.11 → 5.0.0-dev.110
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/CHANGELOG.md +61 -1
- package/lib/cjs/package.json +1 -0
- package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts +31 -4
- package/lib/cjs/presentation-backend/ElementPropertiesHelper.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/ElementPropertiesHelper.js +161 -56
- package/lib/cjs/presentation-backend/ElementPropertiesHelper.js.map +1 -1
- package/lib/cjs/presentation-backend/InternalSymbols.d.ts +5 -0
- package/lib/cjs/presentation-backend/InternalSymbols.d.ts.map +1 -0
- package/lib/cjs/presentation-backend/InternalSymbols.js +16 -0
- package/lib/cjs/presentation-backend/InternalSymbols.js.map +1 -0
- package/lib/cjs/presentation-backend/NativePlatform.d.ts +2 -2
- package/lib/cjs/presentation-backend/NativePlatform.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/NativePlatform.js +5 -3
- package/lib/cjs/presentation-backend/NativePlatform.js.map +1 -1
- package/lib/cjs/presentation-backend/Presentation.d.ts +2 -7
- package/lib/cjs/presentation-backend/Presentation.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/Presentation.js +40 -29
- package/lib/cjs/presentation-backend/Presentation.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts +3 -3
- package/lib/cjs/presentation-backend/PresentationIpcHandler.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationIpcHandler.js +5 -7
- package/lib/cjs/presentation-backend/PresentationIpcHandler.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManager.d.ts +13 -90
- package/lib/cjs/presentation-backend/PresentationManager.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManager.js +79 -130
- package/lib/cjs/presentation-backend/PresentationManager.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts +19 -10
- package/lib/cjs/presentation-backend/PresentationManagerDetail.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationManagerDetail.js +83 -76
- package/lib/cjs/presentation-backend/PresentationManagerDetail.js.map +1 -1
- package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts +11 -11
- package/lib/cjs/presentation-backend/PresentationRpcImpl.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/PresentationRpcImpl.js +110 -118
- package/lib/cjs/presentation-backend/PresentationRpcImpl.js.map +1 -1
- package/lib/cjs/presentation-backend/RulesetEmbedder.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/RulesetEmbedder.js +23 -24
- package/lib/cjs/presentation-backend/RulesetEmbedder.js.map +1 -1
- package/lib/cjs/presentation-backend/RulesetManager.d.ts +1 -1
- package/lib/cjs/presentation-backend/RulesetManager.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/RulesetManager.js +2 -1
- package/lib/cjs/presentation-backend/RulesetManager.js.map +1 -1
- package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts +1 -1
- package/lib/cjs/presentation-backend/RulesetVariablesManager.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/RulesetVariablesManager.js +2 -0
- package/lib/cjs/presentation-backend/RulesetVariablesManager.js.map +1 -1
- package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts +2 -4
- package/lib/cjs/presentation-backend/SelectionScopesHelper.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/SelectionScopesHelper.js +70 -83
- package/lib/cjs/presentation-backend/SelectionScopesHelper.js.map +1 -1
- package/lib/cjs/presentation-backend/TemporaryStorage.d.ts +2 -3
- package/lib/cjs/presentation-backend/TemporaryStorage.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/TemporaryStorage.js +30 -28
- package/lib/cjs/presentation-backend/TemporaryStorage.js.map +1 -1
- package/lib/cjs/presentation-backend/Utils.d.ts.map +1 -1
- package/lib/cjs/presentation-backend/Utils.js +15 -21
- package/lib/cjs/presentation-backend/Utils.js.map +1 -1
- package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js +2 -2
- package/lib/cjs/presentation-backend/domain/PresentationRulesDomain.js.map +1 -1
- package/lib/cjs/presentation-backend/domain/RulesetElements.js +4 -4
- package/lib/cjs/presentation-backend/domain/RulesetElements.js.map +1 -1
- package/lib/cjs/presentation-backend-internal.d.ts +2 -0
- package/lib/cjs/presentation-backend-internal.d.ts.map +1 -0
- package/lib/cjs/presentation-backend-internal.js +12 -0
- package/lib/cjs/presentation-backend-internal.js.map +1 -0
- package/lib/cjs/presentation-backend.d.ts +7 -7
- package/lib/cjs/presentation-backend.d.ts.map +1 -1
- package/lib/cjs/presentation-backend.js +11 -21
- package/lib/cjs/presentation-backend.js.map +1 -1
- package/lib/esm/presentation-backend/BackendLoggerCategory.d.ts +62 -0
- package/lib/esm/presentation-backend/BackendLoggerCategory.d.ts.map +1 -0
- package/lib/esm/presentation-backend/BackendLoggerCategory.js +69 -0
- package/lib/esm/presentation-backend/BackendLoggerCategory.js.map +1 -0
- package/lib/esm/presentation-backend/ElementPropertiesHelper.d.ts +45 -0
- package/lib/esm/presentation-backend/ElementPropertiesHelper.d.ts.map +1 -0
- package/lib/esm/presentation-backend/ElementPropertiesHelper.js +187 -0
- package/lib/esm/presentation-backend/ElementPropertiesHelper.js.map +1 -0
- package/lib/esm/presentation-backend/InternalSymbols.d.ts +5 -0
- package/lib/esm/presentation-backend/InternalSymbols.d.ts.map +1 -0
- package/lib/esm/presentation-backend/InternalSymbols.js +13 -0
- package/lib/esm/presentation-backend/InternalSymbols.js.map +1 -0
- package/lib/esm/presentation-backend/NativePlatform.d.ts +89 -0
- package/lib/esm/presentation-backend/NativePlatform.d.ts.map +1 -0
- package/lib/esm/presentation-backend/NativePlatform.js +156 -0
- package/lib/esm/presentation-backend/NativePlatform.js.map +1 -0
- package/lib/esm/presentation-backend/Presentation.d.ts +97 -0
- package/lib/esm/presentation-backend/Presentation.d.ts.map +1 -0
- package/lib/esm/presentation-backend/Presentation.js +147 -0
- package/lib/esm/presentation-backend/Presentation.js.map +1 -0
- package/lib/esm/presentation-backend/PresentationIpcHandler.d.ts +12 -0
- package/lib/esm/presentation-backend/PresentationIpcHandler.d.ts.map +1 -0
- package/lib/esm/presentation-backend/PresentationIpcHandler.js +25 -0
- package/lib/esm/presentation-backend/PresentationIpcHandler.js.map +1 -0
- package/lib/esm/presentation-backend/PresentationManager.d.ts +387 -0
- package/lib/esm/presentation-backend/PresentationManager.d.ts.map +1 -0
- package/lib/esm/presentation-backend/PresentationManager.js +352 -0
- package/lib/esm/presentation-backend/PresentationManager.js.map +1 -0
- package/lib/esm/presentation-backend/PresentationManagerDetail.d.ts +74 -0
- package/lib/esm/presentation-backend/PresentationManagerDetail.d.ts.map +1 -0
- package/lib/esm/presentation-backend/PresentationManagerDetail.js +446 -0
- package/lib/esm/presentation-backend/PresentationManagerDetail.js.map +1 -0
- package/lib/esm/presentation-backend/PresentationRpcImpl.d.ts +63 -0
- package/lib/esm/presentation-backend/PresentationRpcImpl.d.ts.map +1 -0
- package/lib/esm/presentation-backend/PresentationRpcImpl.js +409 -0
- package/lib/esm/presentation-backend/PresentationRpcImpl.js.map +1 -0
- package/lib/esm/presentation-backend/RulesetEmbedder.d.ts +109 -0
- package/lib/esm/presentation-backend/RulesetEmbedder.d.ts.map +1 -0
- package/lib/esm/presentation-backend/RulesetEmbedder.js +269 -0
- package/lib/esm/presentation-backend/RulesetEmbedder.js.map +1 -0
- package/lib/esm/presentation-backend/RulesetManager.d.ts +54 -0
- package/lib/esm/presentation-backend/RulesetManager.d.ts.map +1 -0
- package/lib/esm/presentation-backend/RulesetManager.js +74 -0
- package/lib/esm/presentation-backend/RulesetManager.js.map +1 -0
- package/lib/esm/presentation-backend/RulesetVariablesManager.d.ts +141 -0
- package/lib/esm/presentation-backend/RulesetVariablesManager.d.ts.map +1 -0
- package/lib/esm/presentation-backend/RulesetVariablesManager.js +140 -0
- package/lib/esm/presentation-backend/RulesetVariablesManager.js.map +1 -0
- package/lib/esm/presentation-backend/SelectionScopesHelper.d.ts +27 -0
- package/lib/esm/presentation-backend/SelectionScopesHelper.d.ts.map +1 -0
- package/lib/esm/presentation-backend/SelectionScopesHelper.js +227 -0
- package/lib/esm/presentation-backend/SelectionScopesHelper.js.map +1 -0
- package/lib/esm/presentation-backend/TemporaryStorage.d.ts +123 -0
- package/lib/esm/presentation-backend/TemporaryStorage.d.ts.map +1 -0
- package/lib/esm/presentation-backend/TemporaryStorage.js +157 -0
- package/lib/esm/presentation-backend/TemporaryStorage.js.map +1 -0
- package/lib/esm/presentation-backend/Utils.d.ts +50 -0
- package/lib/esm/presentation-backend/Utils.d.ts.map +1 -0
- package/lib/esm/presentation-backend/Utils.js +101 -0
- package/lib/esm/presentation-backend/Utils.js.map +1 -0
- package/lib/esm/presentation-backend/domain/PresentationRulesDomain.d.ts +17 -0
- package/lib/esm/presentation-backend/domain/PresentationRulesDomain.d.ts.map +1 -0
- package/lib/esm/presentation-backend/domain/PresentationRulesDomain.js +31 -0
- package/lib/esm/presentation-backend/domain/PresentationRulesDomain.js.map +1 -0
- package/lib/esm/presentation-backend/domain/RulesetElements.d.ts +22 -0
- package/lib/esm/presentation-backend/domain/RulesetElements.d.ts.map +1 -0
- package/lib/esm/presentation-backend/domain/RulesetElements.js +38 -0
- package/lib/esm/presentation-backend/domain/RulesetElements.js.map +1 -0
- package/lib/esm/presentation-backend/primary-presentation-rules/ElementProperties.PresentationRuleSet.json +14 -0
- package/lib/esm/presentation-backend/supplemental-presentation-rules/BisCore.PresentationRuleSet.json +701 -0
- package/lib/esm/presentation-backend/supplemental-presentation-rules/Functional.PresentationRuleSet.json +139 -0
- package/lib/esm/presentation-backend-internal.d.ts +2 -0
- package/lib/esm/presentation-backend-internal.d.ts.map +1 -0
- package/lib/esm/presentation-backend-internal.js +8 -0
- package/lib/esm/presentation-backend-internal.js.map +1 -0
- package/lib/esm/presentation-backend.d.ts +20 -0
- package/lib/esm/presentation-backend.d.ts.map +1 -0
- package/lib/esm/presentation-backend.js +21 -0
- package/lib/esm/presentation-backend.js.map +1 -0
- package/package.json +42 -35
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module RPC
|
|
3
3
|
*/
|
|
4
|
-
import { Id64String, IDisposable } from "@itwin/core-bentley";
|
|
5
4
|
import { IModelRpcProps } from "@itwin/core-common";
|
|
6
|
-
import { ComputeSelectionRpcRequestOptions, ContentDescriptorRpcRequestOptions, ContentInstanceKeysRpcRequestOptions, ContentRpcRequestOptions, ContentSourcesRpcRequestOptions, ContentSourcesRpcResult, DescriptorJSON, DisplayLabelRpcRequestOptions, DisplayLabelsRpcRequestOptions,
|
|
7
|
-
import { PresentationManager } from "./PresentationManager";
|
|
8
|
-
import { TemporaryStorage } from "./TemporaryStorage";
|
|
5
|
+
import { ComputeSelectionRpcRequestOptions, ContentDescriptorRpcRequestOptions, ContentInstanceKeysRpcRequestOptions, ContentRpcRequestOptions, ContentSourcesRpcRequestOptions, ContentSourcesRpcResult, DescriptorJSON, DisplayLabelRpcRequestOptions, DisplayLabelsRpcRequestOptions, DisplayValueGroup, DistinctValuesRpcRequestOptions, ElementProperties, FilterByInstancePathsHierarchyRpcRequestOptions, FilterByTextHierarchyRpcRequestOptions, HierarchyLevelDescriptorRpcRequestOptions, HierarchyRpcRequestOptions, ItemJSON, KeySetJSON, LabelDefinition, Node, NodePathElement, Paged, PagedResponse, PresentationRpcInterface, PresentationRpcResponse, SelectionScope, SelectionScopeRpcRequestOptions, SingleElementPropertiesRpcRequestOptions } from "@itwin/presentation-common";
|
|
6
|
+
import { PresentationManager } from "./PresentationManager.js";
|
|
7
|
+
import { TemporaryStorage } from "./TemporaryStorage.js";
|
|
9
8
|
/** @internal */
|
|
10
9
|
export declare const MAX_ALLOWED_PAGE_SIZE = 1000;
|
|
11
10
|
/** @internal */
|
|
@@ -16,14 +15,15 @@ export declare const MAX_ALLOWED_KEYS_PAGE_SIZE = 10000;
|
|
|
16
15
|
*
|
|
17
16
|
* @internal
|
|
18
17
|
*/
|
|
19
|
-
export declare class PresentationRpcImpl extends PresentationRpcInterface implements
|
|
18
|
+
export declare class PresentationRpcImpl extends PresentationRpcInterface implements Disposable {
|
|
20
19
|
private _requestTimeout;
|
|
21
20
|
private _pendingRequests;
|
|
22
21
|
private _cancelEvents;
|
|
22
|
+
private _statusHandler;
|
|
23
23
|
constructor(props?: {
|
|
24
24
|
requestTimeout?: number;
|
|
25
25
|
});
|
|
26
|
-
dispose(): void;
|
|
26
|
+
[Symbol.dispose](): void;
|
|
27
27
|
get requestTimeout(): number;
|
|
28
28
|
get pendingRequests(): TemporaryStorage<PresentationRpcResponse<any>>;
|
|
29
29
|
/** Returns an ok response with result inside */
|
|
@@ -37,10 +37,10 @@ export declare class PresentationRpcImpl extends PresentationRpcInterface implem
|
|
|
37
37
|
private getIModel;
|
|
38
38
|
private makeRequest;
|
|
39
39
|
getNodesCount(token: IModelRpcProps, requestOptions: HierarchyRpcRequestOptions): PresentationRpcResponse<number>;
|
|
40
|
-
getPagedNodes(token: IModelRpcProps, requestOptions: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<
|
|
40
|
+
getPagedNodes(token: IModelRpcProps, requestOptions: Paged<HierarchyRpcRequestOptions>): PresentationRpcResponse<PagedResponse<Node>>;
|
|
41
41
|
getNodesDescriptor(token: IModelRpcProps, requestOptions: HierarchyLevelDescriptorRpcRequestOptions): PresentationRpcResponse<string | DescriptorJSON | undefined>;
|
|
42
|
-
getNodePaths(token: IModelRpcProps, requestOptions: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<
|
|
43
|
-
getFilteredNodePaths(token: IModelRpcProps, requestOptions: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<
|
|
42
|
+
getNodePaths(token: IModelRpcProps, requestOptions: FilterByInstancePathsHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]>;
|
|
43
|
+
getFilteredNodePaths(token: IModelRpcProps, requestOptions: FilterByTextHierarchyRpcRequestOptions): PresentationRpcResponse<NodePathElement[]>;
|
|
44
44
|
getContentSources(token: IModelRpcProps, requestOptions: ContentSourcesRpcRequestOptions): PresentationRpcResponse<ContentSourcesRpcResult>;
|
|
45
45
|
getContentDescriptor(token: IModelRpcProps, requestOptions: ContentDescriptorRpcRequestOptions): PresentationRpcResponse<DescriptorJSON | undefined>;
|
|
46
46
|
getContentSetSize(token: IModelRpcProps, requestOptions: ContentRpcRequestOptions): PresentationRpcResponse<number>;
|
|
@@ -50,7 +50,7 @@ export declare class PresentationRpcImpl extends PresentationRpcInterface implem
|
|
|
50
50
|
} | undefined>;
|
|
51
51
|
getPagedContentSet(token: IModelRpcProps, requestOptions: Paged<ContentRpcRequestOptions>): PresentationRpcResponse<PagedResponse<ItemJSON>>;
|
|
52
52
|
getElementProperties(token: IModelRpcProps, requestOptions: SingleElementPropertiesRpcRequestOptions): PresentationRpcResponse<ElementProperties | undefined>;
|
|
53
|
-
getPagedDistinctValues(token: IModelRpcProps, requestOptions: DistinctValuesRpcRequestOptions): PresentationRpcResponse<PagedResponse<
|
|
53
|
+
getPagedDistinctValues(token: IModelRpcProps, requestOptions: DistinctValuesRpcRequestOptions): PresentationRpcResponse<PagedResponse<DisplayValueGroup>>;
|
|
54
54
|
getContentInstanceKeys(token: IModelRpcProps, requestOptions: ContentInstanceKeysRpcRequestOptions): PresentationRpcResponse<{
|
|
55
55
|
total: number;
|
|
56
56
|
items: KeySetJSON;
|
|
@@ -58,6 +58,6 @@ export declare class PresentationRpcImpl extends PresentationRpcInterface implem
|
|
|
58
58
|
getDisplayLabelDefinition(token: IModelRpcProps, requestOptions: DisplayLabelRpcRequestOptions): PresentationRpcResponse<LabelDefinition>;
|
|
59
59
|
getPagedDisplayLabelDefinitions(token: IModelRpcProps, requestOptions: DisplayLabelsRpcRequestOptions): PresentationRpcResponse<PagedResponse<LabelDefinition>>;
|
|
60
60
|
getSelectionScopes(token: IModelRpcProps, requestOptions: SelectionScopeRpcRequestOptions): PresentationRpcResponse<SelectionScope[]>;
|
|
61
|
-
computeSelection(token: IModelRpcProps, requestOptions: ComputeSelectionRpcRequestOptions
|
|
61
|
+
computeSelection(token: IModelRpcProps, requestOptions: ComputeSelectionRpcRequestOptions): PresentationRpcResponse<KeySetJSON>;
|
|
62
62
|
}
|
|
63
63
|
//# sourceMappingURL=PresentationRpcImpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationRpcImpl.ts"],"names":[],"mappings":"AAIA;;GAEG;
|
|
1
|
+
{"version":3,"file":"PresentationRpcImpl.d.ts","sourceRoot":"","sources":["../../../src/presentation-backend/PresentationRpcImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,16 +6,25 @@
|
|
|
6
6
|
/** @packageDocumentation
|
|
7
7
|
* @module RPC
|
|
8
8
|
*/
|
|
9
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
11
|
+
};
|
|
9
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
13
|
exports.PresentationRpcImpl = exports.MAX_ALLOWED_KEYS_PAGE_SIZE = exports.MAX_ALLOWED_PAGE_SIZE = void 0;
|
|
11
14
|
const core_backend_1 = require("@itwin/core-backend");
|
|
12
15
|
const core_bentley_1 = require("@itwin/core-bentley");
|
|
16
|
+
const core_common_1 = require("@itwin/core-common");
|
|
13
17
|
const presentation_common_1 = require("@itwin/presentation-common");
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
18
|
+
const internal_1 = require("@itwin/presentation-common/internal");
|
|
19
|
+
// @ts-expect-error TS complains about `with` in CJS builds; The path is fine at runtime, but not at compile time
|
|
20
|
+
// eslint-disable-next-line @itwin/import-within-package
|
|
21
|
+
const package_json_1 = __importDefault(require("../../../package.json"));
|
|
22
|
+
const BackendLoggerCategory_js_1 = require("./BackendLoggerCategory.js");
|
|
23
|
+
const Presentation_js_1 = require("./Presentation.js");
|
|
24
|
+
const PresentationManagerDetail_js_1 = require("./PresentationManagerDetail.js");
|
|
25
|
+
const TemporaryStorage_js_1 = require("./TemporaryStorage.js");
|
|
26
|
+
const InternalSymbols_js_1 = require("./InternalSymbols.js");
|
|
27
|
+
const packageJsonVersion = package_json_1.default.version;
|
|
19
28
|
/** @internal */
|
|
20
29
|
exports.MAX_ALLOWED_PAGE_SIZE = 1000;
|
|
21
30
|
/** @internal */
|
|
@@ -28,10 +37,14 @@ const DEFAULT_REQUEST_TIMEOUT = 5000;
|
|
|
28
37
|
* @internal
|
|
29
38
|
*/
|
|
30
39
|
class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface {
|
|
40
|
+
_requestTimeout;
|
|
41
|
+
_pendingRequests;
|
|
42
|
+
_cancelEvents;
|
|
43
|
+
_statusHandler;
|
|
31
44
|
constructor(props) {
|
|
32
45
|
super();
|
|
33
46
|
this._requestTimeout = props?.requestTimeout ?? DEFAULT_REQUEST_TIMEOUT;
|
|
34
|
-
this._pendingRequests = new
|
|
47
|
+
this._pendingRequests = new TemporaryStorage_js_1.TemporaryStorage({
|
|
35
48
|
// remove the pending request after request timeout + 10 seconds - this gives
|
|
36
49
|
// frontend 10 seconds to re-send the request until it's removed from requests' cache
|
|
37
50
|
unusedValueLifetime: this._requestTimeout > 0 ? this._requestTimeout + 10 * 1000 : undefined,
|
|
@@ -39,17 +52,20 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
39
52
|
cleanupInterval: 1000,
|
|
40
53
|
cleanupHandler: (id, _, reason) => {
|
|
41
54
|
if (reason !== "request") {
|
|
42
|
-
core_bentley_1.Logger.logTrace(
|
|
43
|
-
|
|
55
|
+
core_bentley_1.Logger.logTrace(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Cleaning up request without frontend retrieving it: ${id}.`);
|
|
56
|
+
/* c8 ignore next */
|
|
44
57
|
this._cancelEvents.get(id)?.raiseEvent();
|
|
45
58
|
}
|
|
46
59
|
this._cancelEvents.delete(id);
|
|
47
60
|
},
|
|
48
61
|
});
|
|
49
62
|
this._cancelEvents = new Map();
|
|
63
|
+
this._statusHandler = createStatusCategoryHandler();
|
|
64
|
+
core_bentley_1.StatusCategory.handlers.add(this._statusHandler);
|
|
50
65
|
}
|
|
51
|
-
dispose() {
|
|
52
|
-
this._pendingRequests.dispose();
|
|
66
|
+
[Symbol.dispose]() {
|
|
67
|
+
this._pendingRequests[Symbol.dispose]();
|
|
68
|
+
core_bentley_1.StatusCategory.handlers.delete(this._statusHandler);
|
|
53
69
|
}
|
|
54
70
|
get requestTimeout() {
|
|
55
71
|
return this._requestTimeout;
|
|
@@ -78,37 +94,28 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
78
94
|
* Get the [[PresentationManager]] used by this RPC impl.
|
|
79
95
|
*/
|
|
80
96
|
getManager(clientId) {
|
|
81
|
-
return
|
|
97
|
+
return Presentation_js_1.Presentation.getManager(clientId);
|
|
82
98
|
}
|
|
83
99
|
async getIModel(token) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
// call refreshContainer, just in case this is a V2 checkpoint whose sasToken is about to expire, or its default transaction is about to be restarted.
|
|
88
|
-
await imodel.refreshContainerForRpc(core_backend_1.RpcTrace.expectCurrentActivity.accessToken);
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
throw new presentation_common_1.PresentationError(presentation_common_1.PresentationStatus.InvalidArgument, "IModelRpcProps doesn't point to a valid iModel");
|
|
92
|
-
}
|
|
100
|
+
const imodel = core_backend_1.IModelDb.findByKey(token.key);
|
|
101
|
+
// call refreshContainer, just in case this is a V2 checkpoint whose sasToken is about to expire, or its default transaction is about to be restarted.
|
|
102
|
+
await imodel.refreshContainerForRpc(core_backend_1.RpcTrace.expectCurrentActivity.accessToken);
|
|
93
103
|
return imodel;
|
|
94
104
|
}
|
|
95
105
|
async makeRequest(token, requestId, requestOptions, request) {
|
|
106
|
+
const serializedRequestOptionsForLogging = JSON.stringify({
|
|
107
|
+
...(0, core_bentley_1.omit)(requestOptions, ["rulesetOrId"]),
|
|
108
|
+
...(requestOptions.rulesetOrId ? { rulesetId: (0, PresentationManagerDetail_js_1.getRulesetIdObject)(requestOptions.rulesetOrId).uniqueId } : undefined),
|
|
109
|
+
});
|
|
110
|
+
core_bentley_1.Logger.logInfo(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Received '${requestId}' request. Params: ${serializedRequestOptionsForLogging}`);
|
|
111
|
+
const imodel = await this.getIModel(token);
|
|
96
112
|
const requestKey = JSON.stringify({ iModelKey: token.key, requestId, requestOptions });
|
|
97
|
-
core_bentley_1.Logger.logInfo(BackendLoggerCategory_1.PresentationBackendLoggerCategory.Rpc, `Received '${requestId}' request. Params: ${requestKey}`);
|
|
98
|
-
let imodel;
|
|
99
|
-
try {
|
|
100
|
-
imodel = await this.getIModel(token);
|
|
101
|
-
}
|
|
102
|
-
catch (e) {
|
|
103
|
-
(0, core_bentley_1.assert)(e instanceof Error);
|
|
104
|
-
return this.errorResponse(presentation_common_1.PresentationStatus.InvalidArgument, e.message);
|
|
105
|
-
}
|
|
106
113
|
let resultPromise = this._pendingRequests.getValue(requestKey);
|
|
107
114
|
if (resultPromise) {
|
|
108
|
-
core_bentley_1.Logger.logTrace(
|
|
115
|
+
core_bentley_1.Logger.logTrace(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Request already pending`);
|
|
109
116
|
}
|
|
110
117
|
else {
|
|
111
|
-
core_bentley_1.Logger.logTrace(
|
|
118
|
+
core_bentley_1.Logger.logTrace(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Request not found, creating a new one`);
|
|
112
119
|
const { clientId: _, diagnostics: diagnosticsOptions, rulesetVariables, ...options } = requestOptions;
|
|
113
120
|
const managerRequestOptions = {
|
|
114
121
|
...options,
|
|
@@ -147,91 +154,68 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
147
154
|
};
|
|
148
155
|
}
|
|
149
156
|
// initiate request
|
|
150
|
-
resultPromise = request(managerRequestOptions)
|
|
151
|
-
.then((result) => this.successResponse(result, diagnostics))
|
|
152
|
-
.catch((e) => this.errorResponse(e.errorNumber, e.message, diagnostics));
|
|
157
|
+
resultPromise = request(managerRequestOptions).then((result) => this.successResponse(result, diagnostics));
|
|
153
158
|
// store the request promise
|
|
154
159
|
this._pendingRequests.addValue(requestKey, resultPromise);
|
|
155
160
|
this._cancelEvents.set(requestKey, managerRequestOptions.cancelEvent);
|
|
156
161
|
}
|
|
157
162
|
if (this._requestTimeout === 0) {
|
|
158
|
-
core_bentley_1.Logger.logTrace(
|
|
163
|
+
core_bentley_1.Logger.logTrace(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Request timeout not configured, returning promise without a timeout.`);
|
|
159
164
|
void resultPromise.finally(() => {
|
|
160
165
|
this._pendingRequests.deleteValue(requestKey);
|
|
161
166
|
});
|
|
162
167
|
return resultPromise;
|
|
163
168
|
}
|
|
164
|
-
|
|
165
|
-
const
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
// note: error responses from the manager get handled when creating `resultPromise`, so we can only get here due
|
|
174
|
-
// to a timeout exception
|
|
175
|
-
core_bentley_1.Logger.logTrace(BackendLoggerCategory_1.PresentationBackendLoggerCategory.Rpc, `Request timeout, returning "BackendTimeout" status.`);
|
|
176
|
-
return this.errorResponse(presentation_common_1.PresentationStatus.BackendTimeout);
|
|
177
|
-
})
|
|
169
|
+
core_bentley_1.Logger.logTrace(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Returning a promise with a timeout of ${this._requestTimeout}.`);
|
|
170
|
+
const timeout = (0, internal_1.createCancellableTimeoutPromise)(this._requestTimeout);
|
|
171
|
+
return Promise.race([
|
|
172
|
+
resultPromise,
|
|
173
|
+
timeout.promise.then(() => {
|
|
174
|
+
// eslint-disable-next-line @typescript-eslint/only-throw-error
|
|
175
|
+
throw new core_common_1.RpcPendingResponse("Timeout");
|
|
176
|
+
}),
|
|
177
|
+
])
|
|
178
178
|
.then((response) => {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
this._pendingRequests.deleteValue(requestKey);
|
|
182
|
-
}
|
|
183
|
-
clearTimeout(timeout);
|
|
179
|
+
core_bentley_1.Logger.logTrace(BackendLoggerCategory_js_1.PresentationBackendLoggerCategory.Rpc, `Request completed, returning result.`);
|
|
180
|
+
this._pendingRequests.deleteValue(requestKey);
|
|
184
181
|
return response;
|
|
182
|
+
})
|
|
183
|
+
.finally(() => {
|
|
184
|
+
timeout.cancel();
|
|
185
185
|
});
|
|
186
186
|
}
|
|
187
187
|
async getNodesCount(token, requestOptions) {
|
|
188
188
|
return this.makeRequest(token, "getNodesCount", requestOptions, async (options) => {
|
|
189
|
-
options = {
|
|
190
|
-
...options,
|
|
191
|
-
parentKey: nodeKeyFromJson(options.parentKey),
|
|
192
|
-
};
|
|
193
189
|
return this.getManager(requestOptions.clientId).getNodesCount(options);
|
|
194
190
|
});
|
|
195
191
|
}
|
|
196
192
|
async getPagedNodes(token, requestOptions) {
|
|
197
193
|
return this.makeRequest(token, "getPagedNodes", requestOptions, async (options) => {
|
|
198
|
-
options = enforceValidPageSize(
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
});
|
|
202
|
-
const [serializedNodesJson, count] = await Promise.all([
|
|
203
|
-
this.getManager(requestOptions.clientId).getDetail().getNodes(options),
|
|
194
|
+
options = enforceValidPageSize(options);
|
|
195
|
+
const [serializedHierarchyLevel, count] = await Promise.all([
|
|
196
|
+
this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getNodes(options),
|
|
204
197
|
this.getManager(requestOptions.clientId).getNodesCount(options),
|
|
205
198
|
]);
|
|
206
|
-
|
|
207
|
-
const nodesJson = JSON.parse(serializedNodesJson);
|
|
199
|
+
const hierarchyLevel = (0, internal_1.deepReplaceNullsToUndefined)(JSON.parse(serializedHierarchyLevel));
|
|
208
200
|
return {
|
|
209
201
|
total: count,
|
|
210
|
-
items:
|
|
202
|
+
items: hierarchyLevel.nodes,
|
|
211
203
|
};
|
|
212
204
|
});
|
|
213
205
|
}
|
|
214
206
|
async getNodesDescriptor(token, requestOptions) {
|
|
215
207
|
return this.makeRequest(token, "getNodesDescriptor", requestOptions, async (options) => {
|
|
216
|
-
options
|
|
217
|
-
...options,
|
|
218
|
-
parentKey: nodeKeyFromJson(options.parentKey),
|
|
219
|
-
};
|
|
220
|
-
return this.getManager(requestOptions.clientId).getDetail().getNodesDescriptor(options);
|
|
208
|
+
return this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getNodesDescriptor(options);
|
|
221
209
|
});
|
|
222
210
|
}
|
|
223
211
|
async getNodePaths(token, requestOptions) {
|
|
224
212
|
return this.makeRequest(token, "getNodePaths", requestOptions, async (options) => {
|
|
225
|
-
|
|
226
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
227
|
-
return result.map(presentation_common_1.NodePathElement.toJSON);
|
|
213
|
+
return this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getNodePaths(options);
|
|
228
214
|
});
|
|
229
215
|
}
|
|
230
216
|
async getFilteredNodePaths(token, requestOptions) {
|
|
231
217
|
return this.makeRequest(token, "getFilteredNodePaths", requestOptions, async (options) => {
|
|
232
|
-
|
|
233
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
234
|
-
return result.map(presentation_common_1.NodePathElement.toJSON);
|
|
218
|
+
return this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getFilteredNodePaths(options);
|
|
235
219
|
});
|
|
236
220
|
}
|
|
237
221
|
async getContentSources(token, requestOptions) {
|
|
@@ -246,19 +230,12 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
246
230
|
return this.makeRequest(token, "getContentDescriptor", requestOptions, async (options) => {
|
|
247
231
|
options = {
|
|
248
232
|
...options,
|
|
249
|
-
contentFlags: (options.contentFlags ?? 0) |
|
|
233
|
+
contentFlags: (options.contentFlags ?? 0) | PresentationManagerDetail_js_1.DESCRIPTOR_ONLY_CONTENT_FLAG, // always append the "descriptor only" flag when handling request from the frontend
|
|
250
234
|
keys: presentation_common_1.KeySet.fromJSON(options.keys),
|
|
251
235
|
};
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
return Presentation_1.Presentation.getManager(requestOptions.clientId).getDetail().getContentDescriptor(options);
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
// Support for older frontends that still expect a parsed descriptor
|
|
259
|
-
const descriptor = await Presentation_1.Presentation.getManager(requestOptions.clientId).getContentDescriptor(options);
|
|
260
|
-
return descriptor?.toJSON();
|
|
261
|
-
}
|
|
236
|
+
// Here we send a plain JSON string but we will parse it to DescriptorJSON on the frontend. This way we are
|
|
237
|
+
// bypassing unnecessary deserialization and serialization.
|
|
238
|
+
return Presentation_js_1.Presentation.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getContentDescriptor(options);
|
|
262
239
|
});
|
|
263
240
|
}
|
|
264
241
|
async getContentSetSize(token, requestOptions) {
|
|
@@ -278,7 +255,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
278
255
|
});
|
|
279
256
|
const [size, content] = await Promise.all([
|
|
280
257
|
this.getManager(requestOptions.clientId).getContentSetSize(options),
|
|
281
|
-
this.getManager(requestOptions.clientId).
|
|
258
|
+
this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getContent(options),
|
|
282
259
|
]);
|
|
283
260
|
if (!content) {
|
|
284
261
|
return undefined;
|
|
@@ -310,7 +287,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
310
287
|
return this.makeRequest(token, "getElementProperties", { ...requestOptions }, async (options) => {
|
|
311
288
|
const manager = this.getManager(requestOptions.clientId);
|
|
312
289
|
const { elementId, ...optionsNoElementId } = options;
|
|
313
|
-
const content = await manager.
|
|
290
|
+
const content = await manager[InternalSymbols_js_1._presentation_manager_detail].getContent({
|
|
314
291
|
...optionsNoElementId,
|
|
315
292
|
descriptor: {
|
|
316
293
|
displayType: presentation_common_1.DefaultContentDisplayTypes.PropertyPane,
|
|
@@ -322,7 +299,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
322
299
|
if (!content || content.contentSet.length === 0) {
|
|
323
300
|
return undefined;
|
|
324
301
|
}
|
|
325
|
-
return (0,
|
|
302
|
+
return (0, internal_1.buildElementProperties)(content.descriptor, content.contentSet[0]);
|
|
326
303
|
});
|
|
327
304
|
}
|
|
328
305
|
async getPagedDistinctValues(token, requestOptions) {
|
|
@@ -331,12 +308,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
331
308
|
...options,
|
|
332
309
|
keys: presentation_common_1.KeySet.fromJSON(options.keys),
|
|
333
310
|
});
|
|
334
|
-
|
|
335
|
-
return {
|
|
336
|
-
...response,
|
|
337
|
-
// eslint-disable-next-line @typescript-eslint/no-deprecated
|
|
338
|
-
items: response.items.map(presentation_common_1.DisplayValueGroup.toJSON),
|
|
339
|
-
};
|
|
311
|
+
return this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getPagedDistinctValues(options);
|
|
340
312
|
});
|
|
341
313
|
}
|
|
342
314
|
async getContentInstanceKeys(token, requestOptions) {
|
|
@@ -352,7 +324,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
352
324
|
}, exports.MAX_ALLOWED_KEYS_PAGE_SIZE);
|
|
353
325
|
const [size, content] = await Promise.all([
|
|
354
326
|
this.getManager(requestOptions.clientId).getContentSetSize(options),
|
|
355
|
-
this.getManager(requestOptions.clientId).
|
|
327
|
+
this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getContent(options),
|
|
356
328
|
]);
|
|
357
329
|
if (size === 0 || !content) {
|
|
358
330
|
return { total: 0, items: new presentation_common_1.KeySet().toJSON() };
|
|
@@ -365,7 +337,7 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
365
337
|
}
|
|
366
338
|
async getDisplayLabelDefinition(token, requestOptions) {
|
|
367
339
|
return this.makeRequest(token, "getDisplayLabelDefinition", requestOptions, async (options) => {
|
|
368
|
-
const label = await this.getManager(requestOptions.clientId).
|
|
340
|
+
const label = await this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getDisplayLabelDefinition(options);
|
|
369
341
|
return label;
|
|
370
342
|
});
|
|
371
343
|
}
|
|
@@ -375,27 +347,22 @@ class PresentationRpcImpl extends presentation_common_1.PresentationRpcInterface
|
|
|
375
347
|
requestOptions.keys.splice(pageOpts.paging.size);
|
|
376
348
|
}
|
|
377
349
|
return this.makeRequest(token, "getPagedDisplayLabelDefinitions", requestOptions, async (options) => {
|
|
378
|
-
const labels = await this.getManager(requestOptions.clientId)
|
|
379
|
-
|
|
380
|
-
|
|
350
|
+
const labels = await this.getManager(requestOptions.clientId)[InternalSymbols_js_1._presentation_manager_detail].getDisplayLabelDefinitions({
|
|
351
|
+
...options,
|
|
352
|
+
keys: options.keys,
|
|
353
|
+
});
|
|
381
354
|
return {
|
|
382
355
|
total: options.keys.length,
|
|
383
356
|
items: labels,
|
|
384
357
|
};
|
|
385
358
|
});
|
|
386
359
|
}
|
|
360
|
+
/* eslint-disable @typescript-eslint/no-deprecated */
|
|
387
361
|
async getSelectionScopes(token, requestOptions) {
|
|
388
362
|
return this.makeRequest(token, "getSelectionScopes", requestOptions, async (options) => this.getManager(requestOptions.clientId).getSelectionScopes(options));
|
|
389
363
|
}
|
|
390
|
-
async computeSelection(token, requestOptions
|
|
364
|
+
async computeSelection(token, requestOptions) {
|
|
391
365
|
return this.makeRequest(token, "computeSelection", requestOptions, async (options) => {
|
|
392
|
-
if (!(0, presentation_common_1.isComputeSelectionRequestOptions)(options)) {
|
|
393
|
-
options = {
|
|
394
|
-
...options,
|
|
395
|
-
elementIds: ids,
|
|
396
|
-
scope: { id: scopeId },
|
|
397
|
-
};
|
|
398
|
-
}
|
|
399
366
|
const keys = await this.getManager(requestOptions.clientId).computeSelection(options);
|
|
400
367
|
return keys.toJSON();
|
|
401
368
|
});
|
|
@@ -413,12 +380,37 @@ const getValidPageSize = (size, maxPageSize) => {
|
|
|
413
380
|
const requestedSize = size ?? 0;
|
|
414
381
|
return requestedSize === 0 || requestedSize > maxPageSize ? maxPageSize : requestedSize;
|
|
415
382
|
};
|
|
416
|
-
//
|
|
417
|
-
|
|
418
|
-
|
|
383
|
+
// not testing temporary solution
|
|
384
|
+
/* c8 ignore start */
|
|
385
|
+
function createStatusCategoryHandler() {
|
|
386
|
+
return (e) => {
|
|
387
|
+
if (e instanceof presentation_common_1.PresentationError) {
|
|
388
|
+
switch (e.errorNumber) {
|
|
389
|
+
case presentation_common_1.PresentationStatus.NotInitialized:
|
|
390
|
+
return new (class extends core_bentley_1.ErrorCategory {
|
|
391
|
+
name = "Internal server error";
|
|
392
|
+
code = 500;
|
|
393
|
+
})();
|
|
394
|
+
case presentation_common_1.PresentationStatus.Canceled:
|
|
395
|
+
return new (class extends core_bentley_1.SuccessCategory {
|
|
396
|
+
name = "Cancelled";
|
|
397
|
+
code = 204;
|
|
398
|
+
})();
|
|
399
|
+
case presentation_common_1.PresentationStatus.ResultSetTooLarge:
|
|
400
|
+
return new (class extends core_bentley_1.ErrorCategory {
|
|
401
|
+
name = "Result set is too large";
|
|
402
|
+
code = 413;
|
|
403
|
+
})();
|
|
404
|
+
case presentation_common_1.PresentationStatus.Error:
|
|
405
|
+
case presentation_common_1.PresentationStatus.InvalidArgument:
|
|
406
|
+
return new (class extends core_bentley_1.ErrorCategory {
|
|
407
|
+
name = "Invalid request props";
|
|
408
|
+
code = 422;
|
|
409
|
+
})();
|
|
410
|
+
}
|
|
411
|
+
}
|
|
419
412
|
return undefined;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
};
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
/* c8 ignore end */
|
|
424
416
|
//# sourceMappingURL=PresentationRpcImpl.js.map
|