Skip to main content

Class: EncryptedSyncCloudStorageProvider

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:27

Decorator around a CloudStorageProvider that encrypts/decrypts sync artifacts under sync/.

Implements​

Constructors​

Constructor​

new EncryptedSyncCloudStorageProvider(args: {
inner: CloudStorageProvider;
key: Buffer;
}): EncryptedSyncCloudStorageProvider;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:36

Parameters​

args​
inner​

CloudStorageProvider

key​

Buffer

Returns​

EncryptedSyncCloudStorageProvider

Properties​

inner​

private readonly inner: CloudStorageProvider;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:32


key​

private readonly key: Buffer;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:34

Accessors​

kind​

Get Signature​

get kind(): CloudProviderKind;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:28

Provider identifier.

Returns​

CloudProviderKind

Provider identifier.

Implementation of​

CloudStorageProvider.kind

Methods​

deleteObject()​

deleteObject(key: string): Promise<void>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:41

Deletes an object by key (no-op if missing).

Parameters​

key​

string

Returns​

Promise<void>

Implementation of​

CloudStorageProvider.deleteObject


downloadBackup()​

downloadBackup(key: string): Promise<{
buffer: Buffer;
entry: CloudBackupEntry;
}>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:45

Downloads a previously uploaded backup.

Parameters​

key​

string

Returns​

Promise<{ buffer: Buffer; entry: CloudBackupEntry; }>

Implementation of​

CloudStorageProvider.downloadBackup


downloadObject()​

downloadObject(key: string): Promise<Buffer<ArrayBufferLike>>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:51

Downloads an arbitrary object by key.

Parameters​

key​

string

Returns​

Promise<Buffer<ArrayBufferLike>>

Implementation of​

CloudStorageProvider.downloadObject


isConnected()​

isConnected(): Promise<boolean>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:91

Returns true when the provider can perform operations right now.

Returns​

Promise<boolean>

Implementation of​

CloudStorageProvider.isConnected


listBackups()​

listBackups(): Promise<CloudBackupEntry[]>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:95

Lists all backups currently stored with this provider.

Returns​

Promise<CloudBackupEntry[]>

Implementation of​

CloudStorageProvider.listBackups


listObjects()​

listObjects(prefix: string): Promise<CloudObjectEntry[]>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:99

Lists objects under a prefix.

Parameters​

prefix​

string

Returns​

Promise<CloudObjectEntry[]>

Remarks​

Keys must use POSIX separators (/). Implementations must ensure the returned keys are confined to the provider root.

Implementation of​

CloudStorageProvider.listObjects


uploadBackup()​

uploadBackup(args: {
buffer: Buffer;
encrypted: boolean;
fileName: string;
metadata: SerializedDatabaseBackupMetadata;
}): Promise<CloudBackupEntry>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:103

Uploads a backup blob and associated metadata.

Parameters​

args​

Upload parameters.

buffer​

Buffer

encrypted​

boolean

fileName​

string

metadata​

SerializedDatabaseBackupMetadata

Returns​

Promise<CloudBackupEntry>

Implementation of​

CloudStorageProvider.uploadBackup


uploadObject()​

uploadObject(args: {
buffer: Buffer;
key: string;
overwrite?: boolean;
}): Promise<CloudObjectEntry>;

Defined in: electron/services/cloud/providers/EncryptedSyncCloudStorageProvider.ts:112

Uploads an arbitrary object by key.

Parameters​

args​
buffer​

Buffer

key​

string

overwrite?​

boolean

Returns​

Promise<CloudObjectEntry>

Remarks​

args.key must be a POSIX-style key relative to provider root.

Implementation of​

CloudStorageProvider.uploadObject