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
IDatabaseCommand
<TResult
>
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
eventEmitter
cache
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
: keyofUptimeEvents
,error
:Error
,data
:Partial
<UptimeEvents
[keyofUptimeEvents
]>):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
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
: keyofUptimeEvents
,data
:Partial
<UptimeEvents
[keyofUptimeEvents
]>):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
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
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.