Skip to main content

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.