UNPKG

@itwin/imodels-client-management

Version:

iModels API client wrapper for applications that manage iModels.

82 lines 4.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FavoriteIModelOperations = void 0; /*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ const internal_1 = require("../../base/internal"); const types_1 = require("../../base/types"); class FavoriteIModelOperations extends internal_1.OperationsBase { /** * Gets favorite iModels for a specific iTwin. This method returns iModels in their minimal representation. The returned iterator * internally queries entities in pages. Wraps the {@link https://developer.bentley.com/apis/imodels-v2/operations/get-my-favorite-imodels/ Get My Favorite iTwin iModels} * operation from iModels API. * @param {GetFavoriteIModelListParams} params parameters for this operation. See {@link GetFavoriteIModelListParams}. * @returns {EntityListIterator<MinimalIModel>} iterator for favorite iModel list. See {@link EntityListIterator}, {@link MinimalIModel}. */ getMinimalList(params) { return new internal_1.EntityListIteratorImpl(async () => this.getEntityCollectionPage({ authorization: params.authorization, url: this._options.urlFormatter.getFavoriteIModelListUrl({ urlParams: params.urlParams, }), preferReturn: types_1.PreferReturn.Minimal, entityCollectionAccessor: (response) => response.body.iModels, headers: params.headers, })); } /** * Gets favorite iModels for a specific iTwin. This method returns iModels in their full representation. The returned iterator * internally queries entities in pages. Wraps the {@link https://developer.bentley.com/apis/imodels-v2/operations/get-my-favorite-imodels/ Get My Favorite iTwin iModels} * operation from iModels API. * @param {GetFavoriteIModelListParams} params parameters for this operation. See {@link GetFavoriteIModelListParams}. * @returns {EntityListIterator<IModel>} iterator for favorite iModel list. See {@link EntityListIterator}, {@link IModel}. */ getRepresentationList(params) { return new internal_1.EntityListIteratorImpl(async () => this.getEntityCollectionPage({ authorization: params.authorization, url: this._options.urlFormatter.getFavoriteIModelListUrl({ urlParams: params.urlParams, }), preferReturn: types_1.PreferReturn.Representation, entityCollectionAccessor: (response) => response.body.iModels, headers: params.headers, })); } /** * Adds an iModel to the calling user's favorites list. Wraps the * {@link https://developer.bentley.com/apis/imodels-v2/operations/add-imodel-to-my-favorites/ Add iModel to My Favorites} * operation from iModels API. * @param {AddIModelToFavoritesParams} params parameters for this operation. See {@link AddIModelToFavoritesParams}. * @returns {Promise<void>} */ async add(params) { await this.sendPutRequest({ authorization: params.authorization, url: this._options.urlFormatter.getFavoriteIModelUrl({ iModelId: params.iModelId, }), headers: params.headers, body: new Uint8Array(), }); } /** * Removes an iModel from the calling user's favorites list. Wraps the * {@link https://developer.bentley.com/apis/imodels-v2/operations/remove-imodel-from-my-favorites/ Remove iModel from My Favorites} * operation from iModels API. * @param {RemoveIModelFromFavoritesParams} params parameters for this operation. See {@link RemoveIModelFromFavoritesParams}. * @returns {Promise<void>} */ async remove(params) { await this.sendDeleteRequest({ authorization: params.authorization, url: this._options.urlFormatter.getFavoriteIModelUrl({ iModelId: params.iModelId, }), headers: params.headers, }); } } exports.FavoriteIModelOperations = FavoriteIModelOperations; //# sourceMappingURL=FavoriteIModelOperations.js.map