UNPKG

@itwin/imodels-client-authoring

Version:

iModels API client wrapper for applications that author iModels.

52 lines 2.62 kB
/*--------------------------------------------------------------------------------------------- * Copyright (c) Bentley Systems, Incorporated. All rights reserved. * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ import { BriefcaseOperations as ManagementBriefcaseOperations, } from "@itwin/imodels-client-management"; export class BriefcaseOperations extends ManagementBriefcaseOperations { /** * Acquires a new Briefcase with specified properties. Wraps the * {@link https://developer.bentley.com/apis/imodels-v2/operations/acquire-imodel-briefcase/ Acquire iModel Briefcase} * operation from iModels API. * @param {AcquireBriefcaseParams} params parameters for this operation. See {@link AcquireBriefcaseParams}. * @returns {Promise<Briefcase>} newly acquired Briefcase. See {@link Briefcase}. */ async acquire(params) { const acquireBriefcaseBody = this.getAcquireBriefcaseRequestBody(params.briefcaseProperties); const acquireBriefcaseResponse = await this.sendPostRequest({ authorization: params.authorization, url: this._options.urlFormatter.getBriefcaseListUrl({ iModelId: params.iModelId, }), body: acquireBriefcaseBody, headers: params.headers, }); const result = this.appendRelatedEntityCallbacks(params.authorization, acquireBriefcaseResponse.body.briefcase, params.headers); return result; } /** * Releases the specified Briefcase. Wraps the * {@link https://developer.bentley.com/apis/imodels-v2/operations/release-imodel-briefcase/ Release iModel Briefcase} * operation from iModels API. * @param {ReleaseBriefcaseParams} params parameters for this operation. See {@link ReleaseBriefcaseParams}. * @returns {Promise<void>} a promise that resolves after operation completes. */ async release(params) { await this.sendDeleteRequest({ authorization: params.authorization, url: this._options.urlFormatter.getSingleBriefcaseUrl({ iModelId: params.iModelId, briefcaseId: params.briefcaseId, }), headers: params.headers, }); } getAcquireBriefcaseRequestBody(briefcaseProperties) { if (!briefcaseProperties) return undefined; return { deviceName: briefcaseProperties.deviceName, }; } } //# sourceMappingURL=BriefcaseOperations.js.map