Skip to content

Class: WorkspacePersistenceService ​

Defined in: application/services/persistence/workspace-persistence-service.ts:54

Registry of WorkspacePersistenceProvider instances with one active provider. Snapshot and connection calls are delegated to the active provider and throw when none is configured.

Constructors ​

Constructor ​

ts
new WorkspacePersistenceService(options?): WorkspacePersistenceService;

Defined in: application/services/persistence/workspace-persistence-service.ts:59

Creates an empty service. The active provider is options.defaultProviderId, if given.

Parameters ​

ParameterType
options?WorkspacePersistenceServiceOptions

Returns ​

WorkspacePersistenceService

Methods ​

connect() ​

ts
connect(options?): Promise<unknown>;

Defined in: application/services/persistence/workspace-persistence-service.ts:155

Connects the active provider, passing options through.

Parameters ​

ParameterType
options?Record<string, unknown>

Returns ​

Promise<unknown>


deleteSnapshot() ​

ts
deleteSnapshot(snapshotId): Promise<void>;

Defined in: application/services/persistence/workspace-persistence-service.ts:205

Deletes a snapshot with the active provider.

Parameters ​

ParameterType
snapshotIdstring

Returns ​

Promise<void>

Throws ​

Error when the active provider does not implement deleteSnapshot.


disconnect() ​

ts
disconnect(): void;

Defined in: application/services/persistence/workspace-persistence-service.ts:160

Disconnects the active provider.

Returns ​

void


getActiveProvider() ​

ts
getActiveProvider(): 
  | WorkspacePersistenceProvider
  | null;

Defined in: application/services/persistence/workspace-persistence-service.ts:131

Returns the active provider, or null when none is set or the id is not registered.

Returns ​

| WorkspacePersistenceProvider | null


getActiveProviderCapabilities() ​

ts
getActiveProviderCapabilities(): WorkspacePersistenceProviderCapabilities;

Defined in: application/services/persistence/workspace-persistence-service.ts:150

Returns the capabilities of the active provider.

Returns ​

WorkspacePersistenceProviderCapabilities


getActiveProviderConnectionState() ​

ts
getActiveProviderConnectionState(): WorkspacePersistenceConnectionState;

Defined in: application/services/persistence/workspace-persistence-service.ts:145

Returns the connection state of the active provider.

Returns ​

WorkspacePersistenceConnectionState


listProviders() ​

ts
listProviders(): object[];

Defined in: application/services/persistence/workspace-persistence-service.ts:105

Lists all registered providers with their current capabilities and connection state.

Returns ​

object[]


listSnapshots() ​

ts
listSnapshots(): Promise<object[]>;

Defined in: application/services/persistence/workspace-persistence-service.ts:187

Returns ​

Promise<object[]>


listSnapshotsOf() ​

ts
listSnapshotsOf(providerId): Promise<object[]>;

Defined in: application/services/persistence/workspace-persistence-service.ts:179

Parameters ​

ParameterType
providerIdstring

Returns ​

Promise<object[]>


loadSnapshot() ​

ts
loadSnapshot(snapshotId?): Promise<unknown>;

Defined in: application/services/persistence/workspace-persistence-service.ts:197

Loads a snapshot from the active provider. Pass null to let the provider choose its default.

Parameters ​

ParameterTypeDefault value
snapshotId?string | nullnull

Returns ​

Promise<unknown>


loadSnapshotOf() ​

ts
loadSnapshotOf(providerId, snapshotId): Promise<unknown>;

Defined in: application/services/persistence/workspace-persistence-service.ts:183

Parameters ​

ParameterType
providerIdstring
snapshotIdstring

Returns ​

Promise<unknown>


register() ​

ts
register(provider): this;

Defined in: application/services/persistence/workspace-persistence-service.ts:69

Registers a provider, replacing any existing provider with the same id. The first registered provider becomes active when no active provider is set.

Parameters ​

ParameterType
providerWorkspacePersistenceProvider

Returns ​

this

This service, for chaining.

Throws ​

Error when the provider has no string id or lacks a required method.


saveSnapshot() ​

ts
saveSnapshot(payload): Promise<unknown>;

Defined in: application/services/persistence/workspace-persistence-service.ts:192

Saves a workspace snapshot payload with the active provider.

Parameters ​

ParameterType
payloadunknown

Returns ​

Promise<unknown>


setActiveProvider() ​

ts
setActiveProvider(providerId): void;

Defined in: application/services/persistence/workspace-persistence-service.ts:123

Sets the active provider.

Parameters ​

ParameterType
providerIdstring

Returns ​

void

Throws ​

Error when no provider with this id is registered.


tryRestoreConnection() ​

ts
tryRestoreConnection(): Promise<boolean>;

Defined in: application/services/persistence/workspace-persistence-service.ts:165

Attempts to restore a previous session on the active provider without user interaction.

Returns ​

Promise<boolean>