@itwin/object-storage-google
Version:
Object storage implementation using Google Cloud Storage
36 lines • 2.9 kB
TypeScript
import { Readable } from "stream";
import { BaseDirectory, ContentHeaders, EntityPageListIterator, ExpiryOptions, Metadata, MultipartUploadData, MultipartUploadOptions, ObjectDirectory, ObjectProperties, ObjectReference, ServerStorage, TransferConfig, TransferData } from "@itwin/object-storage-core";
import { GoogleTransferConfig } from "../common";
import { StorageWrapper } from "./wrappers";
import { GoogleStorageConfig } from "./wrappers/GoogleStorageConfig";
import { StorageControlClientWrapper } from "./wrappers/StorageControlClientWrapper";
export declare class GoogleServerStorage extends ServerStorage {
private readonly _storage;
private readonly _storageControl;
private readonly _bucketName;
constructor(_storage: StorageWrapper, _storageControl: StorageControlClientWrapper, config: GoogleStorageConfig);
get bucketName(): string;
download(reference: ObjectReference, transferType: "buffer"): Promise<Buffer>;
download(reference: ObjectReference, transferType: "stream"): Promise<Readable>;
download(reference: ObjectReference, transferType: "local", localPath?: string): Promise<string>;
upload(reference: ObjectReference, data: TransferData, metadata?: Metadata, headers?: ContentHeaders): Promise<void>;
uploadInMultipleParts(reference: ObjectReference, data: MultipartUploadData, options?: MultipartUploadOptions, headers?: ContentHeaders): Promise<void>;
createBaseDirectory(directory: BaseDirectory): Promise<void>;
getListDirectoriesPagedIterator(_maxPageSize: number): EntityPageListIterator<BaseDirectory>;
getListObjectsPagedIterator(directory: BaseDirectory, maxPageSize: number): EntityPageListIterator<ObjectReference>;
list(directory: BaseDirectory): Promise<ObjectReference[]>;
deleteBaseDirectory(directory: BaseDirectory): Promise<void>;
deleteObject(reference: ObjectReference): Promise<void>;
baseDirectoryExists(directory: BaseDirectory): Promise<boolean>;
objectExists(reference: ObjectReference): Promise<boolean>;
copyObject(sourceStorage: ServerStorage, sourceReference: ObjectReference, targetReference: ObjectReference): Promise<void>;
updateMetadata(reference: ObjectReference, metadata: Metadata): Promise<void>;
getObjectProperties(reference: ObjectReference): Promise<ObjectProperties>;
getDownloadUrl(reference: ObjectReference, expiry?: ExpiryOptions): Promise<string>;
getUploadUrl(reference: ObjectReference, expiry?: ExpiryOptions): Promise<string>;
getDownloadConfig(directory: ObjectDirectory, expiry?: ExpiryOptions): Promise<GoogleTransferConfig>;
getUploadConfig(directory: ObjectDirectory, expiry?: ExpiryOptions): Promise<TransferConfig>;
getDirectoryAccessConfig(directory: ObjectDirectory, expiry?: ExpiryOptions): Promise<TransferConfig>;
releaseResources(): Promise<void>;
}
//# sourceMappingURL=GoogleServerStorage.d.ts.map