UNPKG

@itwin/reality-data-client

Version:

HTTP Client for the iTwin Platform Reality Management APIs

92 lines 3.82 kB
import type { RealityData } from "@itwin/core-common"; import { type AccessToken, type GuidString } from "@itwin/core-bentley"; import type { RealityDataAccessClient } from "./RealityDataClient"; /** * Extent of a reality data, delimited by southwest and northeast coordinates. */ export interface Extent { southWest: Point; northEast: Point; } /** * Point used to define an extent. */ export interface Point { latitude: number; longitude: number; } /** * Provides information regarding the acquisition, such as dates and acquirer used. */ export interface Acquisition { startDateTime: Date; endDateTime?: Date; acquirer?: string; } /** RealityData * This class implements a Reality Data instance. * Data is accessed directly through methods of the reality data instance. * Access to the data required a properly entitled token though the access to the blob is controlled through * an Azure blob URL, the token may be required to obtain this Azure blob URL or refresh it. * The Azure blob URL is considered valid for an hour and is refreshed after 50 minutes. * In addition to the reality data properties, and Azure blob URL and internal states, a reality data also contains * the identification of the iTwin to be used for access permissions and * may contain a RealityDataClient to obtain the specialization to communicate with Reality Management API (to obtain the Azure blob URL). * @beta */ export declare class ITwinRealityData implements RealityData { id: GuidString; displayName?: string; dataset?: string; group?: string; dataCenterLocation?: string; description?: string; rootDocument?: string; tags?: string[]; acquisition?: Acquisition; size?: number; authoring?: boolean; classification?: string; type?: string; extent?: Extent; /** @deprecated in 1.0.1 not used in Reality Management API. Will be removed in next major update.*/ accessControl?: string; modifiedDateTime?: Date; lastAccessedDateTime?: Date; createdDateTime?: Date; /** Link to client to fetch the blob url */ client: undefined | RealityDataAccessClient; /** The GUID identifier of the iTwin used when using the client. */ iTwinId: GuidString; /** Cache parameters for reality data access. Contains the blob url, the timestamp to refresh (every 50 minutes) the url and the root document path. */ private _containerCache; /** * Creates an instance of RealityData. * @beta */ constructor(client: RealityDataAccessClient, realityData?: any, iTwinId?: GuidString); /** * Gets string url to fetch blob data from. Access is read-only. * @param accessToken The client request context. * @param blobPath name or path of tile * @param writeAccess Optional boolean indicating if write access is requested. Default is false for read-only access. The realitydata:modify scope is required to grant the "write" access. * @returns string url for blob data * @beta */ getBlobUrl(accessToken: AccessToken, blobPath: string, writeAccess?: boolean): Promise<URL>; /** * Try to use authorizationClient in RealityDataClientOptions to get the access token * otherwise, will return the input token * This is a workaround to support different authorization client for the reality data client and iTwin-core. */ private resolveAccessToken; /** * Gets a tile access url URL object * @param accessToken The client request context. * @param writeAccess Optional boolean indicating if write access is requested. Default is false for read-only access. * @returns app URL object for blob url * @beta */ private getContainerUrl; } //# sourceMappingURL=RealityData.d.ts.map