UNPKG

@itwin/imodels-client-management

Version:

iModels API client wrapper for applications that manage iModels.

156 lines 8.39 kB
import { AtLeastOneProperty, AuthorizationParam, ContainerTypes, Extent, GeographicCoordinateSystem, HeadersParam, IModel, IModelCreationMode, IModelScopedOperationParams, IModelState, OrderableCollectionRequestParams } from "../../base/types"; import { ChangesetIdOrIndex } from "../OperationParamExports"; /** * iModel entity properties that are supported in $orderBy url parameter which specifies by what property * entities are ordered in a collection. */ export declare enum IModelOrderByProperty { Name = "name", CreatedDateTime = "createdDateTime" } /** Url parameters supported in iModel list query. */ export interface GetIModelListUrlParams extends OrderableCollectionRequestParams<IModel, IModelOrderByProperty> { /** Filters iModels whose name or description property contains the specified search value. */ $search?: string; /** Filters iModels for a specific iTwin. */ iTwinId: string; /** Filters iModels with a specific name. */ name?: string; /** Filters iModels with a specific state. */ state?: IModelState; } /** Parameters for get iModel list operation. */ export interface GetIModelListParams extends AuthorizationParam, HeadersParam { /** Parameters that will be appended to the entity list request url that will narrow down the results. */ urlParams: GetIModelListUrlParams; } /** Parameters for get single iModel operation. */ export type GetSingleIModelParams = IModelScopedOperationParams; /** Properties that should be specified when creating a new iModel. */ export interface IModelProperties { /** iTwin to which iModel will belong to. iTwinId id must not be an empty or whitespace string. */ iTwinId: string; /** * iModel name. iModel name must be unique within the iTwin, not exceed allowed 255 characters and not be an * empty or whitespace string. */ name: string; /** iModel description. iModel description must not exceed allowed 255 characters. */ description?: string; /** iModel extent. See {@link Extent}. */ extent?: Extent; /** iModel container types. See {@link ContainerTypes}. */ containersEnabled?: ContainerTypes; /** * iModel GCS. If provided, {@link creationMode} must be set or value will be ignored. * See {@link GeographicCoordinateSystem}. */ geographicCoordinateSystem?: GeographicCoordinateSystem; /** * The mode of iModel creation. Possible values: 'empty', 'fromiModelVersion', 'fromBaseline'. * If not provided empty instantly initialized iModel is created. * However, instant iModel creation has been deprecated and might be removed in a future version. */ creationMode?: IModelCreationMode; } /** Parameters for create iModel operation. */ export interface CreateEmptyIModelParams extends AuthorizationParam, HeadersParam { /** Properties of the new iModel. See {@link IModelProperties}. */ iModelProperties: IModelProperties; /** Time period to wait until the iModel is initialized. Default value is 300,000 ms (5 minutes). */ timeOutInMs?: number; } /** A set of properties that define the source iModel for creating a new iModel from template. */ export interface IModelTemplate { /** Id of the source iModel which to use as a template. iModel id must not be an empty or whitespace string.*/ iModelId: string; /** * iModel timeline point identified by the Changeset. If specified, all Changesets up to and including the one * specified will me merged into the resulting iModel baseline file. It means that the Changeset history will * be lost but the contents will be present in the result iModel baseline file. */ changesetId?: string; } /** Properties that should be specified when creating a new iModel from template. */ export interface IModelPropertiesForCreateFromTemplate extends IModelProperties { /** iModel template. See {@link IModelTemplate}. */ template: IModelTemplate; } /** Parameters for create iModel from template operation. */ export interface CreateIModelFromTemplateParams extends AuthorizationParam, HeadersParam { /** Properties of the new iModel. See {@link IModelPropertiesForCreateFromTemplate}. */ iModelProperties: IModelPropertiesForCreateFromTemplate; /** Time period to wait until the iModel is initialized. Default value is 300,000 ms (5 minutes). */ timeOutInMs?: number; } /** Base properties for clone iModel operation. */ interface IModelPropertiesForCloneBase { /** Id of the iTwin in which the new iModel will be created. */ iTwinId: string; /** Name of the new iModel that will be created. If name is not provided, original iModel name will be used. */ name?: string; /** Description of the new iModel that will be created. If description is not provided, original iModel description will be used. */ description?: string; /** iModel container types. See {@link ContainerTypes}. */ containersEnabled?: ContainerTypes; } /** * Properties that should be specified when cloning an iModel. * - The provided `changesetId` or `changesetIndex` specifies the latest source iModel Changeset that should be copied to the target iModel. * - If neither `changesetId` nor `changesetIndex` is provided, all existing source iModel Changesets are copied to the target iModel. * - If `changesetId: ""` or `changesetIndex: 0` is provided, no Changesets are copied to the target iModel, only the source iModel's Baseline. */ export type IModelPropertiesForClone = IModelPropertiesForCloneBase & Partial<ChangesetIdOrIndex>; /** Parameters for clone iModel operation. */ export interface CloneIModelParams extends IModelScopedOperationParams, HeadersParam { /** Properties of the new iModel. See {@link IModelPropertiesForClone}. */ iModelProperties: IModelPropertiesForClone; /** Time period to wait until the iModel is initialized. Default value is 300,000 ms (5 minutes). */ timeOutInMs?: number; } /** * Properties that should be specified when forking an iModel. * - The provided `changesetId` or `changesetIndex` specifies the latest source iModel Changeset that should be copied to the iModel fork. * - If neither `changesetId` nor `changesetIndex` is provided, all existing source iModel Changesets are copied to the iModel fork. * - If `changesetId: ""` or `changesetIndex: 0` is provided, no Changesets are copied to the iModel fork, only the source iModel's Baseline. */ export type IModelPropertiesForFork = IModelPropertiesForCloneBase & Partial<ChangesetIdOrIndex> & { /** * Option to control how Changesets are copied from the source iModel to the iModel fork. If set to `true`, Changesets will be copied * individually and the history will be preserved. If set to `false`, Changesets will be squashed and applied to the Baseline * resulting in an iModel fork without Changeset history. The default value is `false`. */ preserveHistory?: boolean; }; /** Parameters for fork iModel operation. */ export interface ForkIModelParams extends IModelScopedOperationParams, HeadersParam { /** Properties of the new iModel. See {@link IModelPropertiesForFork}. */ iModelProperties: IModelPropertiesForFork; /** Time period to wait until the iModel fork is initialized. Default value is 300,000 ms (5 minutes). */ timeOutInMs?: number; } export interface EditableIModelProperties { /** * iModel name. iModel name must be unique within the iTwin, not exceed allowed 255 characters and not be an * empty or whitespace string. */ name: string; /** iModel description. iModel description must not exceed allowed 255 characters. */ description: string; /** iModel extent. See {@link Extent}. */ extent: Extent; } /** * Properties that can be specified when updating an iModel. At least one of the editable properties should * be specified. */ export type IModelPropertiesForUpdate = AtLeastOneProperty<EditableIModelProperties>; /** Parameters for update iModel operation. */ export interface UpdateIModelParams extends IModelScopedOperationParams { /** New values for some of the iModel properties. */ iModelProperties: IModelPropertiesForUpdate; } /** Parameters for delete iModel operation. */ export type DeleteIModelParams = IModelScopedOperationParams; export {}; //# sourceMappingURL=IModelOperationParams.d.ts.map