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