Skip to main content

Class: LoadSitesCommand

Defined in: electron/services/commands/DatabaseCommands.ts:519

Command for loading sites from the database into the in-memory cache.

Remarks

Encapsulates the logic for loading all sites from the database and atomically replacing the cache. Rollback restores the previous cache state. Validation is a no-op.

Extends

Constructors

Constructor

new LoadSitesCommand(serviceFactory: DatabaseServiceFactory, eventEmitter: TypedEventBus<UptimeEvents>, cache: StandardizedCache<Site>): LoadSitesCommand

Defined in: electron/services/commands/DatabaseCommands.ts:152

Parameters

serviceFactory

DatabaseServiceFactory

eventEmitter

TypedEventBus<UptimeEvents>

cache

StandardizedCache<Site>

Returns

LoadSitesCommand

Inherited from

DatabaseCommand.constructor

Properties

cache

protected readonly cache: StandardizedCache<Site>

Defined in: electron/services/commands/DatabaseCommands.ts:95

Site cache for data synchronization during operations

Inherited from

DatabaseCommand.cache


eventEmitter

protected readonly eventEmitter: TypedEventBus<UptimeEvents>

Defined in: electron/services/commands/DatabaseCommands.ts:98

Event bus for emitting command execution events

Inherited from

DatabaseCommand.eventEmitter


serviceFactory

protected readonly serviceFactory: DatabaseServiceFactory

Defined in: electron/services/commands/DatabaseCommands.ts:101

Factory for accessing database services and repositories

Inherited from

DatabaseCommand.serviceFactory


originalCacheState

private readonly originalCacheState: Map<string, Site>

Defined in: electron/services/commands/DatabaseCommands.ts:521

Backup of original cache state for rollback functionality

Methods

emitFailureEvent()

protected emitFailureEvent(eventType: keyof UptimeEvents, error: Error, data: Partial<UptimeEvents[keyof UptimeEvents]>): Promise<void>

Defined in: electron/services/commands/DatabaseCommands.ts:116

Internal

Emits a failure event for the command operation.

Parameters

eventType

keyof UptimeEvents

The event type to emit.

error

Error

The ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error that occurred.

data

Partial<UptimeEvents[keyof UptimeEvents]> = {}

Additional event data to include in the event payload.

Returns

Promise<void>

Remarks

Used internally to emit a typed event indicating command failure, including error details and additional event data.

Inherited from

DatabaseCommand.emitFailureEvent


emitSuccessEvent()

protected emitSuccessEvent(eventType: keyof UptimeEvents, data: Partial<UptimeEvents[keyof UptimeEvents]>): Promise<void>

Defined in: electron/services/commands/DatabaseCommands.ts:141

Internal

Emits a success event for the command operation.

Parameters

eventType

keyof UptimeEvents

The event type to emit.

data

Partial<UptimeEvents[keyof UptimeEvents]>

Additional event data to include in the event payload.

Returns

Promise<void>

Remarks

Used internally to emit a typed event indicating command success, including additional event data.

Inherited from

DatabaseCommand.emitSuccessEvent


execute()

execute(): Promise<Site[]>

Defined in: electron/services/commands/DatabaseCommands.ts:523

Executes the command operation.

Returns

Promise<Site[]>

Promise resolving to the operation result.

Remarks

Performs the main database operation encapsulated by the command.

Throws

When command execution fails.

Overrides

DatabaseCommand.execute


rollback()

rollback(): Promise<void>

Defined in: electron/services/commands/DatabaseCommands.ts:553

Restores the cache to its previous state.

Returns

Promise<void>

Resolved promise after cache restoration is complete

Remarks

Performs a synchronous cache restoration operation by clearing the current cache and restoring the backup state. Returns a resolved promise to satisfy the IDatabaseCommand interface contract.

Overrides

DatabaseCommand.rollback


validate()

validate(): Promise<{ errors: string[]; isValid: boolean; }>

Defined in: electron/services/commands/DatabaseCommands.ts:572

Validates site loading operation prerequisites.

Returns

Promise<{ errors: string[]; isValid: boolean; }>

Resolved promise with validation result indicating success

Remarks

Site loading operations have minimal prerequisites, so validation always succeeds. Returns a resolved promise to satisfy the IDatabaseCommand interface contract.

Overrides

DatabaseCommand.validate


getDescription()

getDescription(): string

Defined in: electron/services/commands/DatabaseCommands.ts:583

Gets a description of the command for logging and debugging.

Returns

string

Human-readable command description.

Overrides

DatabaseCommand.getDescription