@itwin/imodels-client-management
Version:
iModels API client wrapper for applications that manage iModels.
82 lines • 4.42 kB
JavaScript
;
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