iobroker.js-controller
Version:
Updated by reinstall.js on 2018-06-11T15:19:56.688Z
72 lines • 2.42 kB
TypeScript
import type { Client as ObjectsClient } from '@iobroker/db-objects-redis';
import type { Client as StatesClient } from '@iobroker/db-states-redis';
import type { logger } from '@iobroker/js-controller-common';
interface AdapterAutoUpgradeOptions {
/** The objects DB client */
objects: ObjectsClient;
/** The states DB client */
states: StatesClient;
/** Logger which needs to be prefixed */
logger: ReturnType<typeof logger>;
/** Prefix for log messages */
logPrefix: string;
}
interface UpgradedAdapter {
/** Name of the adapter */
name: string;
/** Version before upgrade */
oldVersion: string;
/** Newly installed version */
newVersion: string;
}
interface UpgradeAdaptersResult {
/** Adapters which were successfully upgraded */
upgradedAdapters: UpgradedAdapter[];
/** Adapters which were failed to upgrade */
failedAdapters: UpgradedAdapter[];
}
export declare class AdapterAutoUpgradeManager {
private readonly objects;
private readonly states;
/** Mapping from semver range to range identifier */
private SEMVER_RANGE_MAPPING;
/** Prefix for log messages */
private readonly logPrefix;
/** Logger which needs to be prefixed */
private logger;
constructor(options: AdapterAutoUpgradeOptions);
/**
* Checks if auto upgrade is enabled for the current configured repository
*/
isAutoUpgradeEnabled(): Promise<boolean>;
/**
* Checks the current `system.repositories` object and checks if one needs to be performed according to the adapter configuration
*/
upgradeAdapters(): Promise<UpgradeAdaptersResult>;
/**
* Upgrade specified adapter to given version
*
* @param options information of the adapter to install, e.g. version and name, sa well as active repo
*/
private upgradeAdapter;
/**
* Get the current active repository name
*/
private getConfiguredRepositoryName;
/**
* Get the repository information for the given repository
*
* @param name Name of the repository
*/
private getRepository;
/**
* Get the auto upgrade configuration of all adapters
*/
private getAutoUpdateConfiguration;
/**
* Get the default upgrade policy from the system config
*/
private getDefaultUpgradePolicy;
}
export {};
//# sourceMappingURL=adapterAutoUpgradeManager.d.ts.map