@itwin/core-backend
Version:
iTwin.js backend components
47 lines • 2.16 kB
TypeScript
/** @packageDocumentation
* @module SQLiteDb
*/
import { CloudSqlite } from "./CloudSqlite";
import { VersionedSqliteDb } from "./SQLiteDb";
import { IModelDb } from "./IModelDb";
import { OpenMode } from "@itwin/core-bentley";
import { LocalFileName } from "@itwin/core-common";
/** @internal */
export declare namespace SchemaSync {
/** A CloudSqlite database for synchronizing schema changes across briefcases. */
class SchemaSyncDb extends VersionedSqliteDb {
readonly myVersion = "4.0.0";
protected createDDL(): void;
}
const setTestCache: (iModel: IModelDb, cacheName?: string) => void;
const withLockedAccess: (iModel: IModelDb | {
readonly fileName: LocalFileName;
}, args: {
operationName: string;
openMode?: OpenMode;
user?: string;
}, operation: (access: CloudAccess) => Promise<void>) => Promise<void>;
const withReadonlyAccess: (iModel: IModelDb | {
readonly fileName: LocalFileName;
}, operation: (access: CloudAccess) => Promise<void>) => Promise<void>;
const isEnabled: (iModel: IModelDb) => boolean;
/** Synchronize local briefcase schemas with cloud container */
const pull: (iModel: IModelDb) => Promise<void>;
const initializeForIModel: (arg: {
iModel: IModelDb;
containerProps: CloudSqlite.ContainerProps;
overrideContainer?: boolean;
}) => Promise<void>;
/** Provides access to a cloud-based `SchemaSyncDb` to hold ECSchemas. */
class CloudAccess extends CloudSqlite.DbAccess<SchemaSyncDb> {
constructor(props: CloudSqlite.ContainerAccessProps);
getUri(): string;
/**
* Initialize a cloud container for use as a SchemaSync. The container must first be created via its storage supplier api (e.g. Azure, or AWS).
* A valid sasToken that grants write access must be supplied. This function creates and uploads an empty ChannelDb into the container.
* @note this deletes any existing content in the container.
*/
static initializeDb(props: CloudSqlite.ContainerProps): Promise<void>;
}
}
//# sourceMappingURL=SchemaSync.d.ts.map