UNPKG

@itwin/core-backend

Version:
47 lines 2.16 kB
/** @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