@itwin/core-backend
Version:
iTwin.js backend components
59 lines • 3.12 kB
TypeScript
/** @packageDocumentation
* @module Workspace
*/
import { GuidString } from "@itwin/core-bentley";
import { WorkspaceContainerId, WorkspaceDbSettingsProps } from "./Workspace";
import { EditableWorkspaceContainer, WorkspaceEditor } from "./WorkspaceEditor";
/** The default resource name used to store settings in a [[WorkspaceDb]].
* This is the key under which all settings are stored in the SQLite `strings` table.
* When loading settings at runtime via [[Workspace.loadSettingsDictionary]], the `resourceName` defaults
* to this value, ensuring the read and write paths always agree on which key to use.
* @internal
*/
export declare const settingsResourceName = "settingsDictionary";
/** @internal */
export declare namespace SettingsEditor {
/** The type of workspace container used to store settings. */
const containerType = "settings";
/**
* Create a new [[SettingsEditor]] for creating new versions of [[SettingsDb]]s.
* @note The caller becomes the owner of the SettingsEditor and is responsible for calling [[SettingsEditor.close]] on it when finished.
* @note It is illegal to have more than one SettingsEditor active in a single session.
*/
function constructForITwin(iTwinId: GuidString): Promise<{
editor: WorkspaceEditor;
container: EditableWorkspaceContainer;
}>;
/**
* Obtain a [[SettingsEditor]] for the existing settings container associated with an iTwin.
* @returns The editor and container, or `undefined` if no settings container exists for the iTwin.
* @note The caller becomes the owner of the SettingsEditor and is responsible for calling [[SettingsEditor.close]] on it when finished.
* @note It is illegal to have more than one SettingsEditor active in a single session.
*/
function getForITwin(iTwinId: GuidString): Promise<{
editor: WorkspaceEditor;
container: EditableWorkspaceContainer;
} | undefined>;
}
/**
* Help locate and obtain access to known containers with type "settings".
* @internal
*/
export declare namespace SettingsContainers {
/**
* Query the [[BlobContainer]] service for the single settings container associated with a given iTwin.
* @returns The containerId, or `undefined` if no container exists.
* @throws if more than one settings container is found.
*/
function getITwinContainerId(iTwinId: GuidString): Promise<WorkspaceContainerId | undefined>;
/**
* Look up settings containers for an iTwin and its account iTwin and obtain read-only access tokens.
* @returns Container props needed by [[IModelHost.getITwinWorkspace]]. The requested iTwin's settings
* container is returned at [[SettingsPriority.iTwin]]; the account iTwin container is returned at
* [[SettingsPriority.organization]].
* @note Requires [[IModelHost.authorizationClient]] to be configured.
* @note Requires [[BlobContainer.service]] to be configured.
*/
function getITwinSettingsSources(iTwinId: GuidString): Promise<WorkspaceDbSettingsProps[] | undefined>;
}
//# sourceMappingURL=SettingsEditor.d.ts.map