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
key
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
Provider identifier.
Implementation of
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
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
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
encrypted
boolean
fileName
string
metadata
SerializedDatabaseBackupMetadata
Returns
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
key
string
overwrite?
boolean
Returns
Remarks
args.key must be a POSIX-style key relative to provider root.