UNPKG

homebridge-config-ui-x

Version:

A web based management, configuration and control platform for Homebridge.

47 lines (46 loc) 2.54 kB
import { BadRequestException } from '@nestjs/common'; import { AccessoryConfig, HomebridgeConfig, HomebridgeUiBridgeConfig, PlatformConfig } from '../../core/config/config.interfaces.js'; import { ConfigService } from '../../core/config/config.service.js'; import { HomebridgeIpcService } from '../../core/homebridge-ipc/homebridge-ipc.service.js'; import { Logger } from '../../core/logger/logger.service.js'; import { SchedulerService } from '../../core/scheduler/scheduler.service.js'; import { PluginsService } from '../plugins/plugins.service.js'; export declare class ConfigEditorService { private readonly logger; private readonly configService; private readonly schedulerService; private readonly pluginsService; private readonly homebridgeIpcService; constructor(logger: Logger, configService: ConfigService, schedulerService: SchedulerService, pluginsService: PluginsService, homebridgeIpcService: HomebridgeIpcService); private start; private scheduleConfigBackupCleanup; getConfigFile(): Promise<HomebridgeConfig>; updateConfigFile(config: HomebridgeConfig): Promise<HomebridgeConfig>; getConfigForPlugin(pluginName: string): Promise<BadRequestException | (PlatformConfig | AccessoryConfig)[]>; updateConfigForPlugin(pluginName: string, pluginConfig: Record<string, any>[]): Promise<BadRequestException | Record<string, any>[]>; setPropertyForUi(property: string, value: any): Promise<void>; setAccessoryControlInstanceBlacklist(value: string[]): Promise<void>; getPluginsHideUpdatesFor(): Promise<string[]>; setPluginsHideUpdatesFor(value: string[]): Promise<void>; getBridge(username: string): Promise<HomebridgeUiBridgeConfig | null>; private updateBridgeProperty; setBridgeHideHapAlert(username: string, value: boolean): Promise<void>; setBridgeScheduledRestartCron(username: string, value: string | null): Promise<void>; disablePlugin(pluginName: string): Promise<string[]>; enablePlugin(pluginName: string): Promise<string[]>; listConfigBackups(): Promise<{ id: string; timestamp: Date; file: string; }[]>; getConfigBackup(backupId: number): Promise<NonSharedBuffer>; deleteConfigBackup(backupId: number): Promise<void>; deleteAllConfigBackups(): Promise<void>; private ensureBackupPathExists; cleanupConfigBackups(): Promise<void>; private migrateConfigBackups; generatePin(): string; generateUsername(): string; private removeEmpty; private cleanUpUiConfig; }