Skip to main content

Abstract Class: DatabaseCommand<TResult>

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

Abstract base class for database commands providing common functionality for event emission and dependency management.

Extended by

Type Parameters

TResult

TResult = void

The result type returned by the command's execute method.

Implements

Constructors

Constructor

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

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

Parameters

serviceFactory

DatabaseServiceFactory

eventEmitter

TypedEventBus<UptimeEvents>

cache

StandardizedCache<Site>

Returns

DatabaseCommand<TResult>

Properties

cache

protected readonly cache: StandardizedCache<Site>

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

Site cache for data synchronization during operations


eventEmitter

protected readonly eventEmitter: TypedEventBus<UptimeEvents>

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

Event bus for emitting command execution events


serviceFactory

protected readonly serviceFactory: DatabaseServiceFactory

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

Factory for accessing database services and repositories

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.


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.


execute()

abstract execute(): Promise<TResult>

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

Executes the command operation.

Returns

Promise<TResult>

Promise resolving to the operation result.

Remarks

Performs the main database operation encapsulated by the command.

Throws

When command execution fails.

Implementation of

IDatabaseCommand.execute


getDescription()

abstract getDescription(): string

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

Gets a description of the command for logging and debugging.

Returns

string

Human-readable command description.

Implementation of

IDatabaseCommand.getDescription


rollback()

abstract rollback(): Promise<void>

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

Rolls back the command operation if possible.

Returns

Promise<void>

Promise resolving when rollback is complete.

Remarks

Attempts to revert the effects of the command. Not all commands require rollback.

Implementation of

IDatabaseCommand.rollback


validate()

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

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

Validates the command before execution.

Returns

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

Promise resolving to validation result.

Remarks

Ensures the command is in a valid state before execution. Returns a validation result with errors if any.

Implementation of

IDatabaseCommand.validate