@itwin/rpcinterface-full-stack-tests 4.1.0-dev.83 → 4.1.0-dev.84

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.
@@ -2671,6 +2671,376 @@ class UserOperations extends _base_internal__WEBPACK_IMPORTED_MODULE_0__.Operati
2671
2671
  }
2672
2672
 
2673
2673
 
2674
+ /***/ }),
2675
+
2676
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js":
2677
+ /*!*******************************************************************************************************************************!*\
2678
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js ***!
2679
+ \*******************************************************************************************************************************/
2680
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2681
+
2682
+ "use strict";
2683
+ __webpack_require__.r(__webpack_exports__);
2684
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2685
+ /* harmony export */ BaseClient: () => (/* binding */ BaseClient)
2686
+ /* harmony export */ });
2687
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/index.js");
2688
+ /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
2689
+
2690
+ class BaseClient {
2691
+ constructor(url) {
2692
+ this._baseUrl = "https://api.bentley.com/itwins";
2693
+ if (url !== undefined) {
2694
+ this._baseUrl = url;
2695
+ }
2696
+ else {
2697
+ const urlPrefix = process.env.IMJS_URL_PREFIX;
2698
+ if (urlPrefix) {
2699
+ const baseUrl = new URL(this._baseUrl);
2700
+ baseUrl.hostname = urlPrefix + baseUrl.hostname;
2701
+ this._baseUrl = baseUrl.href;
2702
+ }
2703
+ }
2704
+ }
2705
+ /**
2706
+ * Sends a basic API request
2707
+ * @param accessToken The client access token string
2708
+ * @param method The method type of the request (ex. GET, POST, DELETE, etc.)
2709
+ * @param url The url of the request
2710
+ * @param data (Optional) The payload of the request
2711
+ * @param property (Optional) The target property (ex. iTwins, repositories, etc.)
2712
+ * @param headers (Optional) Extra request headers.
2713
+ */
2714
+ async sendGenericAPIRequest(accessToken, method, url, data, property, headers) {
2715
+ const requestOptions = this.getRequestOptions(accessToken, method, url, data, headers);
2716
+ try {
2717
+ const response = await axios__WEBPACK_IMPORTED_MODULE_0___default()(requestOptions);
2718
+ return {
2719
+ status: response.status,
2720
+ data: response.data.error || response.data === "" ? undefined : property ? response.data[property] : response.data,
2721
+ error: response.data.error,
2722
+ };
2723
+ }
2724
+ catch (err) {
2725
+ return {
2726
+ status: 500,
2727
+ error: {
2728
+ code: "InternalServerError",
2729
+ message: "An internal exception happened while calling iTwins Service",
2730
+ },
2731
+ };
2732
+ }
2733
+ }
2734
+ /**
2735
+ * Build the request methods, headers, and other options
2736
+ * @param accessTokenString The client access token string
2737
+ * @param method The method type of the request (ex. GET, POST, DELETE, etc.)
2738
+ * @param url The url of the request
2739
+ * @param data (Optional) The payload of the request
2740
+ * @param headers (Optional) Extra request headers.
2741
+ */
2742
+ getRequestOptions(accessTokenString, method, url, data, headers = {}) {
2743
+ return {
2744
+ method,
2745
+ url,
2746
+ data,
2747
+ headers: {
2748
+ ...headers,
2749
+ "authorization": accessTokenString,
2750
+ "content-type": "application/json",
2751
+ },
2752
+ validateStatus(status) {
2753
+ return status < 500; // Resolve only if the status code is less than 500
2754
+ },
2755
+ };
2756
+ }
2757
+ /**
2758
+ * Build a query to be appended to a URL
2759
+ * @param queryArg Object container queryable properties
2760
+ * @returns query string with AccessControlQueryArg applied, which should be appended to a url
2761
+ */
2762
+ getQueryString(queryArg) {
2763
+ let queryString = "";
2764
+ if (queryArg.search) {
2765
+ queryString += `&$search=${queryArg.search}`;
2766
+ }
2767
+ if (queryArg.top) {
2768
+ queryString += `&$top=${queryArg.top}`;
2769
+ }
2770
+ if (queryArg.skip) {
2771
+ queryString += `&$skip=${queryArg.skip}`;
2772
+ }
2773
+ if (queryArg.displayName) {
2774
+ queryString += `&displayName=${queryArg.displayName}`;
2775
+ }
2776
+ if (queryArg.number) {
2777
+ queryString += `&number=${queryArg.number}`;
2778
+ }
2779
+ if (queryArg.type) {
2780
+ queryString += `&type=${queryArg.type}`;
2781
+ }
2782
+ // trim & from start of string
2783
+ queryString.replace(/^&+/, "");
2784
+ return queryString;
2785
+ }
2786
+ /**
2787
+ * Build a query to be appended to the URL for iTwin Repositories
2788
+ * @param queryArg Object container queryable properties
2789
+ * @returns query string with RepositoriesQueryArg applied, which should be appended to a url
2790
+ */
2791
+ getRepositoryQueryString(queryArg) {
2792
+ let queryString = "";
2793
+ if (queryArg.class) {
2794
+ queryString += `?class=${queryArg.class}`;
2795
+ }
2796
+ if (queryArg.subClass) {
2797
+ queryString += `&subClass=${queryArg.subClass}`;
2798
+ }
2799
+ // trim & from start of string
2800
+ queryString.replace(/^&+/, "");
2801
+ return queryString;
2802
+ }
2803
+ }
2804
+
2805
+
2806
+ /***/ }),
2807
+
2808
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js":
2809
+ /*!**************************************************************************************************************************************!*\
2810
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js ***!
2811
+ \**************************************************************************************************************************************/
2812
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2813
+
2814
+ "use strict";
2815
+ __webpack_require__.r(__webpack_exports__);
2816
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2817
+ /* harmony export */ ITwinClass: () => (/* binding */ ITwinClass),
2818
+ /* harmony export */ ITwinSubClass: () => (/* binding */ ITwinSubClass),
2819
+ /* harmony export */ RepositoryClass: () => (/* binding */ RepositoryClass),
2820
+ /* harmony export */ RepositorySubClass: () => (/* binding */ RepositorySubClass)
2821
+ /* harmony export */ });
2822
+ /*---------------------------------------------------------------------------------------------
2823
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2824
+ * See LICENSE.md in the project root for license terms and full copyright notice.
2825
+ *--------------------------------------------------------------------------------------------*/
2826
+ /** @packageDocumentation
2827
+ * @module iTwinsClient
2828
+ */
2829
+ var ITwinSubClass;
2830
+ (function (ITwinSubClass) {
2831
+ ITwinSubClass["Account"] = "Account";
2832
+ ITwinSubClass["Asset"] = "Asset";
2833
+ ITwinSubClass["Project"] = "Project";
2834
+ })(ITwinSubClass || (ITwinSubClass = {}));
2835
+ var ITwinClass;
2836
+ (function (ITwinClass) {
2837
+ ITwinClass["Account"] = "Account";
2838
+ ITwinClass["Thing"] = "Thing";
2839
+ ITwinClass["Endeavor"] = "Endeavor";
2840
+ })(ITwinClass || (ITwinClass = {}));
2841
+ var RepositoryClass;
2842
+ (function (RepositoryClass) {
2843
+ RepositoryClass["iModels"] = "iModels";
2844
+ RepositoryClass["Storage"] = "Storage";
2845
+ RepositoryClass["Forms"] = "Forms";
2846
+ RepositoryClass["Issues"] = "Issues";
2847
+ RepositoryClass["RealityData"] = "RealityData";
2848
+ RepositoryClass["GeographicInformationSystem"] = "GeographicInformationSystem";
2849
+ })(RepositoryClass || (RepositoryClass = {}));
2850
+ var RepositorySubClass;
2851
+ (function (RepositorySubClass) {
2852
+ RepositorySubClass["WebMapService"] = "WebMapService";
2853
+ RepositorySubClass["WebMapTileService"] = "WebMapTileService";
2854
+ RepositorySubClass["MapServer"] = "MapServer";
2855
+ })(RepositorySubClass || (RepositorySubClass = {}));
2856
+
2857
+
2858
+ /***/ }),
2859
+
2860
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js":
2861
+ /*!*********************************************************************************************************************************!*\
2862
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js ***!
2863
+ \*********************************************************************************************************************************/
2864
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2865
+
2866
+ "use strict";
2867
+ __webpack_require__.r(__webpack_exports__);
2868
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2869
+ /* harmony export */ ITwinsAccessClient: () => (/* binding */ ITwinsAccessClient)
2870
+ /* harmony export */ });
2871
+ /* harmony import */ var _BaseClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BaseClient */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/BaseClient.js");
2872
+
2873
+ /** Client API to access the itwins service.
2874
+ * @beta
2875
+ */
2876
+ class ITwinsAccessClient extends _BaseClient__WEBPACK_IMPORTED_MODULE_0__.BaseClient {
2877
+ constructor(url) {
2878
+ super(url);
2879
+ }
2880
+ /** Get itwins accessible to the user
2881
+ * @param accessToken The client access token string
2882
+ * @param subClass Required parameter to search a specific iTwin subClass
2883
+ * @param arg Optional query arguments, for paging, searching, and filtering
2884
+ * @returns Array of projects, may be empty
2885
+ */
2886
+ async queryAsync(accessToken, subClass, arg) {
2887
+ const headers = this.getResultModeHeaders(arg && arg.resultMode);
2888
+ let url = `${this._baseUrl}?subClass=${subClass}`;
2889
+ if (arg)
2890
+ url += this.getQueryString(arg);
2891
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwins", headers);
2892
+ }
2893
+ /** Create a new iTwin
2894
+ * @param accessToken The client access token string
2895
+ * @param iTwin The iTwin to be created
2896
+ * @returns ITwin
2897
+ */
2898
+ async createiTwin(accessToken, iTwin) {
2899
+ const url = `${this._baseUrl}/`;
2900
+ return this.sendGenericAPIRequest(accessToken, "POST", url, iTwin, "iTwin");
2901
+ }
2902
+ /** Update the specified iTwin
2903
+ * @param accessToken The client access token string
2904
+ * @param iTwinId The id of the iTwin
2905
+ * @param iTwin The iTwin to be created
2906
+ * @returns ITwin
2907
+ */
2908
+ async updateiTwin(accessToken, iTwinId, iTwin) {
2909
+ const url = `${this._baseUrl}/${iTwinId}`;
2910
+ return this.sendGenericAPIRequest(accessToken, "PATCH", url, iTwin, "iTwin");
2911
+ }
2912
+ /** Delete the specified iTwin
2913
+ * @param accessToken The client access token string
2914
+ * @param iTwinId The id of the iTwin
2915
+ * @returns No Content
2916
+ */
2917
+ async deleteiTwin(accessToken, iTwinId) {
2918
+ const url = `${this._baseUrl}/${iTwinId}`;
2919
+ return this.sendGenericAPIRequest(accessToken, "DELETE", url);
2920
+ }
2921
+ /** Create a new iTwin Repository
2922
+ * @param accessToken The client access token string
2923
+ * @param iTwinId The id of the iTwin
2924
+ * @param repository The Repository to be created
2925
+ * @return Repository
2926
+ */
2927
+ async createRepository(accessToken, iTwinId, repository) {
2928
+ const url = `${this._baseUrl}/${iTwinId}/repositories`;
2929
+ return this.sendGenericAPIRequest(accessToken, "POST", url, repository, "repository");
2930
+ }
2931
+ /** Delete the specified iTwin Repository
2932
+ * @param accessToken The client access token string
2933
+ * @param iTwinId The id of the iTwin
2934
+ * @param repositoryId The id of the Repository
2935
+ * @return No Content
2936
+ */
2937
+ async deleteRepository(accessToken, iTwinId, repositoryId) {
2938
+ const url = `${this._baseUrl}/${iTwinId}/repositories/${repositoryId}`;
2939
+ return this.sendGenericAPIRequest(accessToken, "DELETE", url);
2940
+ }
2941
+ /** Get Repositories accessible to user
2942
+ * @param accessToken The client access token string
2943
+ * @param iTwinId The id of the iTwin
2944
+ * @param arg Optional query arguments, for class and subclass
2945
+ * @returns Array of Repositories, may be empty
2946
+ */
2947
+ async queryRepositoriesAsync(accessToken, iTwinId, arg) {
2948
+ let url = `${this._baseUrl}/${iTwinId}/repositories`;
2949
+ if (arg)
2950
+ url += this.getRepositoryQueryString(arg);
2951
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "repositories");
2952
+ }
2953
+ /** Get itwin accessible to the user
2954
+ * @param accessToken The client access token string
2955
+ * @param iTwinId The id of the iTwin
2956
+ * @param resultMode (Optional) iTwin result mode: minimal or representation
2957
+ * @returns Array of projects, may be empty
2958
+ */
2959
+ async getAsync(accessToken, iTwinId, resultMode) {
2960
+ const headers = this.getResultModeHeaders(resultMode);
2961
+ const url = `${this._baseUrl}/${iTwinId}`;
2962
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwin", headers);
2963
+ }
2964
+ /** Get itwins accessible to the user
2965
+ * @param accessToken The client access token string
2966
+ * @param subClass Required parameter to search a specific iTwin subClass
2967
+ * @param arg Optional query arguments, for paging, searching, and filtering
2968
+ * @returns Array of projects, may be empty
2969
+ */
2970
+ async queryFavoritesAsync(accessToken, subClass, arg) {
2971
+ const headers = this.getResultModeHeaders(arg && arg.resultMode);
2972
+ let url = `${this._baseUrl}/favorites?subClass=${subClass}`;
2973
+ if (arg)
2974
+ url += this.getQueryString(arg);
2975
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwins", headers);
2976
+ }
2977
+ /** Get itwins accessible to the user
2978
+ * @param accessToken The client access token string
2979
+ * @param subClass Required parameter to search a specific iTwin subClass
2980
+ * @param arg Optional query arguments, for paging, searching, and filtering
2981
+ * @returns Array of projects, may be empty
2982
+ */
2983
+ async queryRecentsAsync(accessToken, subClass, arg) {
2984
+ const headers = this.getResultModeHeaders(arg && arg.resultMode);
2985
+ let url = `${this._baseUrl}/recents?subClass=${subClass}`;
2986
+ if (arg)
2987
+ url += this.getQueryString(arg);
2988
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwins", headers);
2989
+ }
2990
+ /** Get primary account accessible to the user
2991
+ * @returns Primary account
2992
+ */
2993
+ async getPrimaryAccountAsync(accessToken) {
2994
+ const url = `${this._baseUrl}/myprimaryaccount`;
2995
+ return this.sendGenericAPIRequest(accessToken, "GET", url, undefined, "iTwin");
2996
+ }
2997
+ /**
2998
+ * Format result mode parameter into a headers entry
2999
+ * @param resultMode (Optional) iTwin result mode
3000
+ * @protected
3001
+ */
3002
+ getResultModeHeaders(resultMode = "minimal") {
3003
+ return {
3004
+ prefer: `return=${resultMode}`,
3005
+ };
3006
+ }
3007
+ }
3008
+
3009
+
3010
+ /***/ }),
3011
+
3012
+ /***/ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js":
3013
+ /*!**********************************************************************************************************************************!*\
3014
+ !*** ../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js ***!
3015
+ \**********************************************************************************************************************************/
3016
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3017
+
3018
+ "use strict";
3019
+ __webpack_require__.r(__webpack_exports__);
3020
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3021
+ /* harmony export */ ITwinClass: () => (/* reexport safe */ _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__.ITwinClass),
3022
+ /* harmony export */ ITwinSubClass: () => (/* reexport safe */ _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__.ITwinSubClass),
3023
+ /* harmony export */ ITwinsAccessClient: () => (/* reexport safe */ _iTwinsClient__WEBPACK_IMPORTED_MODULE_0__.ITwinsAccessClient),
3024
+ /* harmony export */ RepositoryClass: () => (/* reexport safe */ _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__.RepositoryClass),
3025
+ /* harmony export */ RepositorySubClass: () => (/* reexport safe */ _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__.RepositorySubClass)
3026
+ /* harmony export */ });
3027
+ /* harmony import */ var _iTwinsClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./iTwinsClient */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsClient.js");
3028
+ /* harmony import */ var _iTwinsAccessProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./iTwinsAccessProps */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/iTwinsAccessProps.js");
3029
+ /*---------------------------------------------------------------------------------------------
3030
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3031
+ * See LICENSE.md in the project root for license terms and full copyright notice.
3032
+ *--------------------------------------------------------------------------------------------*/
3033
+
3034
+
3035
+ /** @docs-package-description
3036
+ * The itwins-client package provides a means of interfacing with services relating to iTwins.
3037
+ */
3038
+ /**
3039
+ * @docs-group-description iTwinsClient
3040
+ * Classes for communicating with the iTwins service.
3041
+ */
3042
+
3043
+
2674
3044
  /***/ }),
2675
3045
 
2676
3046
  /***/ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@3.6.1_mdtbcqczpmeuv6yjzfaigjndwi/node_modules/@itwin/oidc-signin-tool/lib/cjs/TestFrontendAuthorizationClient.js":
@@ -2865,207 +3235,6 @@ __exportStar(__webpack_require__(/*! ./TestFrontendAuthorizationClient */ "../..
2865
3235
  __exportStar(__webpack_require__(/*! ./certa/certaCommon */ "../../common/temp/node_modules/.pnpm/@itwin+oidc-signin-tool@3.6.1_mdtbcqczpmeuv6yjzfaigjndwi/node_modules/@itwin/oidc-signin-tool/lib/cjs/certa/certaCommon.js"), exports);
2866
3236
  //# sourceMappingURL=frontend.js.map
2867
3237
 
2868
- /***/ }),
2869
-
2870
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/ProjectsAccessProps.js":
2871
- /*!********************************************************************************************************************************************!*\
2872
- !*** ../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/ProjectsAccessProps.js ***!
2873
- \********************************************************************************************************************************************/
2874
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2875
-
2876
- "use strict";
2877
- __webpack_require__.r(__webpack_exports__);
2878
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2879
- /* harmony export */ ProjectsSearchableProperty: () => (/* binding */ ProjectsSearchableProperty),
2880
- /* harmony export */ ProjectsSource: () => (/* binding */ ProjectsSource)
2881
- /* harmony export */ });
2882
- /*---------------------------------------------------------------------------------------------
2883
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
2884
- * See LICENSE.md in the project root for license terms and full copyright notice.
2885
- *--------------------------------------------------------------------------------------------*/
2886
- /** @packageDocumentation
2887
- * @module ProjectsClient
2888
- */
2889
- /** Set of properties that can be searched
2890
- * @beta
2891
- */
2892
- var ProjectsSearchableProperty;
2893
- (function (ProjectsSearchableProperty) {
2894
- ProjectsSearchableProperty["Name"] = "displayName";
2895
- })(ProjectsSearchableProperty || (ProjectsSearchableProperty = {}));
2896
- /** Possible Project sources.
2897
- * @beta
2898
- */
2899
- var ProjectsSource;
2900
- (function (ProjectsSource) {
2901
- ProjectsSource["All"] = "";
2902
- ProjectsSource["Favorites"] = "favorites";
2903
- ProjectsSource["Recents"] = "recents";
2904
- })(ProjectsSource || (ProjectsSource = {}));
2905
-
2906
-
2907
- /***/ }),
2908
-
2909
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/ProjectsClient.js":
2910
- /*!***************************************************************************************************************************************!*\
2911
- !*** ../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/ProjectsClient.js ***!
2912
- \***************************************************************************************************************************************/
2913
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
2914
-
2915
- "use strict";
2916
- __webpack_require__.r(__webpack_exports__);
2917
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
2918
- /* harmony export */ ProjectsAccessClient: () => (/* binding */ ProjectsAccessClient)
2919
- /* harmony export */ });
2920
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../common/temp/node_modules/.pnpm/axios@0.25.0/node_modules/axios/index.js");
2921
- /* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
2922
-
2923
- /** Client API to access the project services.
2924
- * @beta
2925
- */
2926
- class ProjectsAccessClient {
2927
- constructor() {
2928
- this._baseUrl = "https://api.bentley.com/projects/";
2929
- const urlPrefix = process.env.IMJS_URL_PREFIX;
2930
- if (urlPrefix) {
2931
- const baseUrl = new URL(this._baseUrl);
2932
- baseUrl.hostname = urlPrefix + baseUrl.hostname;
2933
- this._baseUrl = baseUrl.href;
2934
- }
2935
- }
2936
- /** Get projects accessible to the user
2937
- * @param accessToken The client access token string
2938
- * @param arg Options for paging and/or searching
2939
- * @returns Array of projects, may be empty
2940
- */
2941
- async getAll(accessToken, arg) {
2942
- return (await this.getByQuery(accessToken, arg)).projects;
2943
- }
2944
- /** Gets projects using the given query options
2945
- * @param accessToken The client access token string
2946
- * @param arg Optional object containing queryable properties
2947
- * @returns Projects and links meeting the query's requirements
2948
- */
2949
- async getByQuery(accessToken, arg) {
2950
- let url = this._baseUrl;
2951
- if (arg)
2952
- url = url + this.getQueryString(arg);
2953
- return this.getByUrl(accessToken, url);
2954
- }
2955
- async getByUrl(accessToken, url) {
2956
- const requestOptions = this.getRequestOptions(accessToken);
2957
- const projects = [];
2958
- const links = {};
2959
- try {
2960
- const response = await axios__WEBPACK_IMPORTED_MODULE_0___default().get(url, requestOptions);
2961
- if (!response.data.projects) {
2962
- new Error("Expected array of projects not found in API response.");
2963
- }
2964
- response.data.projects.forEach((project) => {
2965
- projects.push({
2966
- id: project.id,
2967
- name: project.displayName,
2968
- code: project.projectNumber,
2969
- });
2970
- });
2971
- const linkData = response.data._links;
2972
- if (linkData) {
2973
- if (linkData.self && linkData.self.href)
2974
- links.self = async (token) => this.getByUrl(token, linkData.self.href);
2975
- if (linkData.next && linkData.next.href)
2976
- links.next = async (token) => this.getByUrl(token, linkData.next.href);
2977
- if (linkData.prev && linkData.prev.href)
2978
- links.previous = async (token) => this.getByUrl(token, linkData.prev.href);
2979
- }
2980
- }
2981
- catch (errorResponse) {
2982
- throw Error(`API request error: ${JSON.stringify(errorResponse)}`);
2983
- }
2984
- return { projects, links };
2985
- }
2986
- /**
2987
- * Build the request methods, headers, and other options
2988
- * @param accessTokenString The client access token string
2989
- */
2990
- getRequestOptions(accessTokenString) {
2991
- return {
2992
- method: "GET",
2993
- headers: {
2994
- "authorization": accessTokenString,
2995
- "content-type": "application/json",
2996
- },
2997
- };
2998
- }
2999
- /**
3000
- * Build a query to be appended to a URL
3001
- * @param queryArg Object container queryable properties
3002
- * @returns String beginning with '?' to be appended to a URL, or it may be empty
3003
- */
3004
- getQueryString(queryArg) {
3005
- let queryBuilder = "";
3006
- // Handle searches
3007
- if (queryArg.search) {
3008
- if (queryArg.search.exactMatch)
3009
- queryBuilder = `${queryBuilder}${queryArg.search.propertyName}=${queryArg.search.searchString}&`;
3010
- // Currently the API only allows substring searching across both name and code at the same time
3011
- else
3012
- queryBuilder = `${queryBuilder}$search=${queryArg.search.searchString}&`;
3013
- }
3014
- // Handle pagination
3015
- if (queryArg.pagination) {
3016
- if (queryArg.pagination.skip)
3017
- queryBuilder = `${queryBuilder}$skip=${queryArg.pagination.skip}&`;
3018
- if (queryArg.pagination.top)
3019
- queryBuilder = `${queryBuilder}$top=${queryArg.pagination.top}&`;
3020
- }
3021
- // slice off last '&'
3022
- if (queryBuilder.length > 0 && queryBuilder[queryBuilder.length - 1] === "&")
3023
- queryBuilder = queryBuilder.slice(0, -1);
3024
- // Handle source
3025
- let sourcePath = "";
3026
- if (queryArg.source !== undefined && queryArg.source.length > 0) {
3027
- sourcePath = `${queryArg.source}/`;
3028
- }
3029
- // No query
3030
- if (queryBuilder.length === 0)
3031
- return sourcePath;
3032
- return `${sourcePath}?${queryBuilder}`;
3033
- }
3034
- }
3035
-
3036
-
3037
- /***/ }),
3038
-
3039
- /***/ "../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/projects-client.js":
3040
- /*!****************************************************************************************************************************************!*\
3041
- !*** ../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/projects-client.js ***!
3042
- \****************************************************************************************************************************************/
3043
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
3044
-
3045
- "use strict";
3046
- __webpack_require__.r(__webpack_exports__);
3047
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
3048
- /* harmony export */ ProjectsAccessClient: () => (/* reexport safe */ _ProjectsClient__WEBPACK_IMPORTED_MODULE_0__.ProjectsAccessClient),
3049
- /* harmony export */ ProjectsSearchableProperty: () => (/* reexport safe */ _ProjectsAccessProps__WEBPACK_IMPORTED_MODULE_1__.ProjectsSearchableProperty),
3050
- /* harmony export */ ProjectsSource: () => (/* reexport safe */ _ProjectsAccessProps__WEBPACK_IMPORTED_MODULE_1__.ProjectsSource)
3051
- /* harmony export */ });
3052
- /* harmony import */ var _ProjectsClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ProjectsClient */ "../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/ProjectsClient.js");
3053
- /* harmony import */ var _ProjectsAccessProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ProjectsAccessProps */ "../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/ProjectsAccessProps.js");
3054
- /*---------------------------------------------------------------------------------------------
3055
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3056
- * See LICENSE.md in the project root for license terms and full copyright notice.
3057
- *--------------------------------------------------------------------------------------------*/
3058
-
3059
-
3060
- /** @docs-package-description
3061
- * The projects-client package provides a means of interfacing with services relating to projects which surround iModels.
3062
- */
3063
- /**
3064
- * @docs-group-description ProjectsClient
3065
- * Classes for communicating with the projects service.
3066
- */
3067
-
3068
-
3069
3238
  /***/ }),
3070
3239
 
3071
3240
  /***/ "../../common/temp/node_modules/.pnpm/almost-equal@1.1.0/node_modules/almost-equal/almost_equal.js":
@@ -279253,7 +279422,7 @@ exports.IModelSession = void 0;
279253
279422
  *--------------------------------------------------------------------------------------------*/
279254
279423
  const chai_1 = __webpack_require__(/*! chai */ "../../common/temp/node_modules/.pnpm/chai@4.3.7/node_modules/chai/index.js");
279255
279424
  const core_frontend_1 = __webpack_require__(/*! @itwin/core-frontend */ "../../core/frontend/lib/esm/core-frontend.js");
279256
- const projects_client_1 = __webpack_require__(/*! @itwin/projects-client */ "../../common/temp/node_modules/.pnpm/@itwin+projects-client@0.6.0/node_modules/@itwin/projects-client/lib/esm/projects-client.js");
279425
+ const itwins_client_1 = __webpack_require__(/*! @itwin/itwins-client */ "../../common/temp/node_modules/.pnpm/@itwin+itwins-client@1.2.0/node_modules/@itwin/itwins-client/lib/esm/itwins-client.js");
279257
279426
  const core_common_1 = __webpack_require__(/*! @itwin/core-common */ "../../core/common/lib/esm/core-common.js");
279258
279427
  const imodels_client_management_1 = __webpack_require__(/*! @itwin/imodels-client-management */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-client-management@3.1.0/node_modules/@itwin/imodels-client-management/lib/esm/index.js");
279259
279428
  const imodels_access_frontend_1 = __webpack_require__(/*! @itwin/imodels-access-frontend */ "../../common/temp/node_modules/.pnpm/@itwin+imodels-access-frontend@3.1.0_ueafa4slb6ohrhyf7kbp6egmha/node_modules/@itwin/imodels-access-frontend/lib/esm/index.js");
@@ -279271,19 +279440,19 @@ class IModelSession {
279271
279440
  if (iModelData.useITwinName) {
279272
279441
  if (!iModelData.iTwinName)
279273
279442
  throw new Error(`The iModel has no iTwin name, so it cannot get the iTwin.`);
279274
- const client = new projects_client_1.ProjectsAccessClient();
279275
- const iTwinList = await client.getAll(requestContext, {
279276
- search: {
279277
- searchString: iModelData.iTwinName,
279278
- propertyName: projects_client_1.ProjectsSearchableProperty.Name,
279279
- exactMatch: true,
279280
- }
279443
+ const client = new itwins_client_1.ITwinsAccessClient();
279444
+ const iTwinListResponse = await client.queryAsync(requestContext, itwins_client_1.ITwinSubClass.Project, {
279445
+ displayName: iModelData.iTwinName,
279281
279446
  });
279447
+ const iTwinList = iTwinListResponse.data;
279448
+ if (!iTwinList) {
279449
+ throw new Error(`ITwin ${iModelData.iTwinName} returned with no data when queried.`);
279450
+ }
279282
279451
  if (iTwinList.length === 0)
279283
279452
  throw new Error(`ITwin ${iModelData.iTwinName} was not found for the user.`);
279284
279453
  else if (iTwinList.length > 1)
279285
279454
  throw new Error(`Multiple iTwins named ${iModelData.iTwinName} were found for the user.`);
279286
- iTwinId = iTwinList[0].id;
279455
+ iTwinId = iTwinList[0].id ?? iModelData.iTwinId;
279287
279456
  }
279288
279457
  else
279289
279458
  iTwinId = iModelData.iTwinId;
@@ -279396,7 +279565,7 @@ class TestContext {
279396
279565
  this.initializeRpcInterfaces({ title: this.settings.Backend.name, version: this.settings.Backend.version });
279397
279566
  const iModelClient = new imodels_client_management_1.IModelsClient({ api: { baseUrl: `https://${process.env.IMJS_URL_PREFIX ?? ""}api.bentley.com/imodels` } });
279398
279567
  await core_frontend_1.NoRenderApp.startup({
279399
- applicationVersion: "4.1.0-dev.83",
279568
+ applicationVersion: "4.1.0-dev.84",
279400
279569
  applicationId: this.settings.gprid,
279401
279570
  authorizationClient: new frontend_1.TestFrontendAuthorizationClient(this.adminUserAccessToken),
279402
279571
  hubAccess: new imodels_access_frontend_1.FrontendIModelsAccess(iModelClient),
@@ -298769,7 +298938,7 @@ module.exports = JSON.parse('{"name":"axios","version":"0.21.4","description":"P
298769
298938
  /***/ ((module) => {
298770
298939
 
298771
298940
  "use strict";
298772
- module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.83","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.1.0-dev.83","@itwin/core-bentley":"workspace:^4.1.0-dev.83","@itwin/core-common":"workspace:^4.1.0-dev.83","@itwin/core-geometry":"workspace:^4.1.0-dev.83","@itwin/core-orbitgt":"workspace:^4.1.0-dev.83","@itwin/core-quantity":"workspace:^4.1.0-dev.83"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
298941
+ module.exports = JSON.parse('{"name":"@itwin/core-frontend","version":"4.1.0-dev.84","description":"iTwin.js frontend components","main":"lib/cjs/core-frontend.js","module":"lib/esm/core-frontend.js","typings":"lib/cjs/core-frontend","license":"MIT","scripts":{"build":"npm run -s copy:public && npm run -s build:cjs && npm run -s build:esm && npm run -s webpackWorkers && npm run -s copy:workers","build:cjs":"npm run -s copy:js:cjs && tsc 1>&2 --outDir lib/cjs","build:esm":"npm run -s copy:js:esm && tsc 1>&2 --module ES2020 --outDir lib/esm","clean":"rimraf lib .rush/temp/package-deps*.json","copy:public":"cpx \\"./src/public/**/*\\" ./lib/public","copy:js:cjs":"cpx \\"./src/**/*.js\\" ./lib/cjs","copy:js:esm":"cpx \\"./src/**/*.js\\" ./lib/esm","copy:workers":"cpx \\"./lib/workers/webpack/parse-imdl-worker.js\\" ./lib/public/scripts","docs":"betools docs --includes=../../generated-docs/extract --json=../../generated-docs/core/core-frontend/file.json --tsIndexFile=./core-frontend.ts --onlyJson --excludes=webgl/**/*,**/map/*.d.ts,**/tile/*.d.ts,**/*-css.ts","extract-api":"betools extract-api --entry=core-frontend && npm run extract-extension-api","extract-extension-api":"eslint -c extraction.eslint.config.js \\"./src/**/*.ts\\" 1>&2","lint":"eslint -f visualstudio \\"./src/**/*.ts\\" 1>&2","pseudolocalize":"betools pseudolocalize --englishDir ./src/public/locales/en --out ./public/locales/en-PSEUDO","test":"npm run -s webpackTests && certa -r chrome","cover":"npm -s test","test:debug":"certa -r chrome --debug","webpackTests":"webpack --config ./src/test/utils/webpack.config.js 1>&2 && npm run -s webpackTestWorker","webpackTestWorker":"webpack --config ./src/test/worker/webpack.config.js 1>&2 && cpx \\"./lib/test/test-worker.js\\" ./lib/test","webpackWorkers":"webpack --config ./src/workers/ImdlParser/webpack.config.js 1>&2"},"repository":{"type":"git","url":"https://github.com/iTwin/itwinjs-core.git","directory":"core/frontend"},"keywords":["Bentley","BIM","iModel","digital-twin","iTwin"],"author":{"name":"Bentley Systems, Inc.","url":"http://www.bentley.com"},"peerDependencies":{"@itwin/appui-abstract":"workspace:^4.1.0-dev.84","@itwin/core-bentley":"workspace:^4.1.0-dev.84","@itwin/core-common":"workspace:^4.1.0-dev.84","@itwin/core-geometry":"workspace:^4.1.0-dev.84","@itwin/core-orbitgt":"workspace:^4.1.0-dev.84","@itwin/core-quantity":"workspace:^4.1.0-dev.84"},"//devDependencies":["NOTE: All peerDependencies should also be listed as devDependencies since peerDependencies are not considered by npm install","NOTE: All tools used by scripts in this package must be listed as devDependencies"],"devDependencies":{"@itwin/appui-abstract":"workspace:*","@itwin/build-tools":"workspace:*","@itwin/core-bentley":"workspace:*","@itwin/core-common":"workspace:*","@itwin/core-geometry":"workspace:*","@itwin/core-orbitgt":"workspace:*","@itwin/core-quantity":"workspace:*","@itwin/certa":"workspace:*","@itwin/eslint-plugin":"4.0.0-dev.44","@types/chai":"4.3.1","@types/chai-as-promised":"^7","@types/mocha":"^8.2.2","@types/node":"18.16.1","@types/sinon":"^10.0.15","babel-loader":"~8.2.5","babel-plugin-istanbul":"~6.1.1","chai":"^4.1.2","chai-as-promised":"^7","cpx2":"^3.0.0","eslint":"^8.44.0","glob":"^7.1.2","mocha":"^10.0.0","nyc":"^15.1.0","rimraf":"^3.0.2","sinon":"^15.0.4","source-map-loader":"^4.0.0","typescript":"~5.0.2","webpack":"^5.76.0"},"//dependencies":["NOTE: these dependencies should be only for things that DO NOT APPEAR IN THE API","NOTE: core-frontend should remain UI technology agnostic, so no react/angular dependencies are allowed"],"dependencies":{"@itwin/cloud-agnostic-core":"^2.0.0","@itwin/object-storage-core":"^2.0.0","@itwin/core-i18n":"workspace:*","@itwin/core-telemetry":"workspace:*","@itwin/webgl-compatibility":"workspace:*","@loaders.gl/core":"^3.1.6","@loaders.gl/draco":"^3.1.6","fuse.js":"^3.3.0","wms-capabilities":"0.4.0"},"nyc":{"extends":"./node_modules/@itwin/build-tools/.nycrc"}}');
298773
298942
 
298774
298943
  /***/ }),
298775
298944