@itwin/itwins-client
Version:
iTwins client for the iTwin platform
106 lines • 3.81 kB
TypeScript
import type { Links } from "./links";
/**
* Minimal iTwin interface containing only minimal properties.
*/
export interface ITwinMinimal {
/** Unique identifier for the iTwin */
id: string;
/** Main classification of the iTwin */
class: ITwinClass;
/** Sub-classification providing more specific categorization */
subClass: ITwinSubClass;
/** Type of the iTwin */
type: string;
/** Human-readable name for the iTwin */
displayName: string;
/** Numeric identifier for the iTwin */
number?: string;
/** Account identifier associated with this iTwin */
iTwinAccountId?: string;
}
/**
* Complete iTwin interface extending minimal with full representation properties.
*/
export interface ITwinRepresentation extends ITwinMinimal {
/** Geographic location of the data center hosting this iTwin */
dataCenterLocation?: string;
/** Current status of the iTwin */
status?: ITwinStatus;
/** Identifier of the parent iTwin in hierarchical relationships */
parentId?: string;
/** IANA timezone identifier for the iTwin's geographic location */
ianaTimeZone?: string;
/** Name of the image file associated with this iTwin */
imageName?: string;
/** Base64 encoded image data or URL for the iTwin's visual representation */
image?: string;
/** ISO 8601 timestamp when the iTwin was created */
createdDateTime?: string;
/** Identifier of the user who created this iTwin */
createdBy?: string;
/** Geographic location description of the iTwin */
geographicLocation?: string;
/** Latitude coordinate of the iTwin's geographic location */
latitude?: number;
/** Longitude coordinate of the iTwin's geographic location */
longitude?: number;
/** ISO 8601 timestamp when the iTwin was last modified */
lastModifiedDateTime?: string;
/** Identifier of the user who last modified this iTwin */
lastModifiedBy?: string;
}
/**
* iTwin status types that indicate the current operational state
* of the digital twin.
*/
export type ITwinStatus = "Trial" | "Active" | "Inactive";
/**
* iTwin sub-classification types that provide specific categorization
*/
export type ITwinSubClass = "Account" | "Asset" | "Project" | "Portfolio" | "Program" | "WorkPackage";
/**
* iTwin main classification types that define the primary category
* of the digital twin within the organizational hierarchy.
*/
export type ITwinClass = "Thing" | "Endeavor" | "Account";
/**
* Response interface for multiple iTwins in minimal mode.
*/
export interface MultiITwinMinimalResponse {
/** Array of iTwin objects */
iTwins: ITwinMinimal[];
/** Navigation links for pagination and related resources */
_links: Links;
}
/**
* Response interface for multiple iTwins in representation mode.
*/
export interface MultiITwinRepresentationResponse {
/** Array of iTwin objects */
iTwins: ITwinRepresentation[];
/** Navigation links for pagination and related resources */
_links: Links;
}
/**
* Response interface for single iTwin operations in representation mode.
*/
export interface ITwinRepresentationResponse {
/** The complete iTwin object with all properties */
iTwin: ITwinRepresentation;
}
/**
* Response interface for single iTwin operations in minimal mode.
*/
export interface ITwinMinimalResponse {
/** The minimal iTwin object with essential properties */
iTwin: ITwinMinimal;
}
/**
* Type for creating new iTwins.
*/
export type ItwinCreate = Omit<ITwinRepresentation, "id" | "createdDateTime" | "lastModifiedDateTime" | "iTwinAccountId" | "createdBy" | "image" | "imageName" | "lastModifiedBy">;
/**
* Type for updating existing iTwins.
*/
export type ItwinUpdate = Partial<ItwinCreate>;
//# sourceMappingURL=ITwin.d.ts.map