@itwin/imodels-client-management
Version:
iModels API client wrapper for applications that manage iModels.
157 lines • 5.66 kB
TypeScript
import { CollectionRequestParams, Dictionary, OrderBy } from "../base/types";
import { GetBriefcaseListUrlParams } from "./briefcase/BriefcaseOperationParams";
import { ChangesetIdOrIndex, GetChangesetListUrlParams } from "./changeset/ChangesetOperationParams";
import { GetChangesetExtendedDataListUrlParams } from "./changeset-extended-data/ChangesetExtendedDataOperationParams";
import { GetChangesetGroupListUrlParams } from "./changeset-group/ChangesetGroupOperationParams";
import { CheckpointParentEntityId } from "./checkpoint/CheckpointOperationParams";
import { GetFavoriteIModelListUrlParams } from "./favorite-imodel/FavoriteIModelOperationParams";
import { GetIModelListUrlParams } from "./imodel/IModelOperationParams";
import { GetLockListUrlParams } from "./lock/LockOperationParams";
import { GetNamedVersionListUrlParams } from "./named-version/NamedVersionOperationParams";
import { DownloadThumbnailUrlParams } from "./OperationParamExports";
import { GetRecentIModelListUrlParams } from "./recent-imodel/RecentIModelOperationParams";
type SingleOrderByForAnyEntity = OrderBy<{
[key: string]: unknown;
}, string>;
type MultipleOrderByForAnyEntity = SingleOrderByForAnyEntity[];
type OrderByForAnyEntity = SingleOrderByForAnyEntity | MultipleOrderByForAnyEntity;
type UrlParameterValue = string | number | OrderByForAnyEntity;
export declare class IModelsApiUrlFormatter {
protected readonly baseUrl: string;
private readonly _regexIgnoreCaseOption;
private readonly _groupNames;
private readonly _numericRegex;
private readonly _changesetUrlRegex;
private readonly _checkpointUrlRegex;
private readonly _namedVersionUrlRegex;
private readonly _userUrlRegex;
private readonly _iModelUrlRegex;
constructor(baseUrl: string);
getCreateIModelUrl(): string;
getCloneIModelUrl(params: {
iModelId: string;
}): string;
getForkIModelUrl(params: {
iModelId: string;
}): string;
getSingleIModelUrl(params: {
iModelId: string;
}): string;
getIModelListUrl(params: {
urlParams: GetIModelListUrlParams;
}): string;
getSingleBriefcaseUrl(params: {
iModelId: string;
} & {
briefcaseId: number;
}): string;
getBriefcaseListUrl(params: {
iModelId: string;
urlParams?: GetBriefcaseListUrlParams;
}): string;
getSingleChangesetUrl(params: {
iModelId: string;
} & ChangesetIdOrIndex): string;
getChangesetListUrl(params: {
iModelId: string;
urlParams?: GetChangesetListUrlParams;
}): string;
getSingleChangesetExtendedDataUrl(params: {
iModelId: string;
} & ChangesetIdOrIndex): string;
getChangesetExtendedDataListUrl(params: {
iModelId: string;
urlParams?: GetChangesetExtendedDataListUrlParams;
}): string;
getSingleChangesetGroupUrl(params: {
iModelId: string;
} & {
changesetGroupId: string;
}): string;
getChangesetGroupListUrl(params: {
iModelId: string;
urlParams?: GetChangesetGroupListUrlParams;
}): string;
parseChangesetUrl(url: string): {
iModelId: string;
} & ChangesetIdOrIndex;
getSingleNamedVersionUrl(params: {
iModelId: string;
} & {
namedVersionId: string;
}): string;
getNamedVersionListUrl(params: {
iModelId: string;
urlParams?: GetNamedVersionListUrlParams;
}): string;
getCheckpointUrl(params: {
iModelId: string;
} & CheckpointParentEntityId): string;
getThumbnailUrl(params: {
iModelId: string;
urlParams?: DownloadThumbnailUrlParams;
}): string;
getUserListUrl(params: {
iModelId: string;
urlParams?: CollectionRequestParams;
}): string;
getSingleUserUrl(params: {
iModelId: string;
} & {
userId: string;
}): string;
getUserPermissionsUrl(params: {
iModelId: string;
}): string;
getFavoriteIModelListUrl(params: {
urlParams: GetFavoriteIModelListUrlParams;
}): string;
getFavoriteIModelUrl(params: {
iModelId: string;
}): string;
getRecentIModelListUrl(params: {
urlParams: GetRecentIModelListUrlParams;
}): string;
getRecentIModelUrl(params: {
iModelId: string;
}): string;
getLockListUrl(params: {
iModelId: string;
urlParams?: GetLockListUrlParams;
}): string;
getReleaseLocksChunkUrl(params: {
iModelId: string;
}): string;
getCreateIModelOperationDetailsUrl(params: {
iModelId: string;
}): string;
parseCheckpointUrl(url: string): {
iModelId: string;
} & ChangesetIdOrIndex;
parseNamedVersionUrl(url: string): {
iModelId: string;
namedVersionId: string;
};
parseUserUrl(url: string): {
iModelId: string;
userId: string;
};
parseIModelUrl(url: string): {
iModelId: string;
};
protected formQueryString(urlParameters: Dictionary<UrlParameterValue> | undefined): string;
/**
* API could return Changeset urls that either contain id or index since both are valid identifiers
* so here we handle both scenarios. We assume if the value contains only digits and is shorter than 40
* symbols it is a numeric index, otherwise, it is a string id.
*/
private parseChangesetIdOrIndex;
private shouldAppendToUrl;
private appendToQueryString;
private stringify;
private isSingleOrderBy;
private isMultipleOrderBy;
private stringifyOrderByParameterValue;
}
export {};
//# sourceMappingURL=IModelsApiUrlFormatter.d.ts.map