Interface: MigrationRule
Defined in: electron/services/monitoring/MigrationSystem.ts:46
Describes a migration rule for a monitor type.
Remarks
Each migration rule transforms monitor configuration data from one version to another. Used by the migration system to upgrade or modify monitor configuration schemas.
Example
{
description: "Add timeout field",
fromVersion: "1.0.0",
toVersion: "1.1.0",
isBreaking: false,
transform: async (data) => ({ ...data, timeout: 30000 })
}
Properties
description
description:
string
Defined in: electron/services/monitoring/MigrationSystem.ts:53
Human-readable description of the migration.
Remarks
Used for logging and diagnostics.
fromVersion
fromVersion:
string
Defined in: electron/services/monitoring/MigrationSystem.ts:60
Source version for the migration.
Remarks
The version string this migration starts from (e.g., "1.0.0").
isBreaking
isBreaking:
boolean
Defined in: electron/services/monitoring/MigrationSystem.ts:67
Indicates if the migration is breaking.
Remarks
If true, migration may require user intervention or data review.
toVersion
toVersion:
string
Defined in: electron/services/monitoring/MigrationSystem.ts:74
Target version for the migration.
Remarks
The version string this migration upgrades to (e.g., "1.1.0").
transform()
transform: (
data
:UnknownRecord
) =>Promise
<UnknownRecord
>
Defined in: electron/services/monitoring/MigrationSystem.ts:89
Transformation function to migrate data.
Parameters
data
UnknownRecord
The monitor configuration data to transform.
Returns
Promise
<UnknownRecord
>
A promise resolving to the transformed data.
Remarks
Receives the monitor configuration data and returns a Promise resolving to the transformed data. May throw if transformation fails or data is invalid.
Throws
Throws if transformation fails or data is invalid.