UNPKG

iobroker.openmediavault

Version:
29 lines (28 loc) 1.24 kB
import type { ApiEndpoints } from './omv-rpc.js'; import type { Disk } from './types-disk.js'; import type { HwInfo } from './types-hwInfo.js'; import type { FileSystem } from './types-fileSystem.js'; import type { ShareMgmt } from './types-shareMgmt.js'; import type { Smart } from './types-smart.js'; import type { Smb } from './types-smb.js'; export type myTreeData = Disk | FileSystem | HwInfo | ShareMgmt | Smart | Smb; export interface EndpointData { service: string; method: string; params?: { [key: string]: any; } | null; } export interface IoBrokerObjectDefinitions<TTreeData extends myTreeData = myTreeData, TAdapter extends ioBroker.Adapter | ioBroker.myAdapter = ioBroker.Adapter | ioBroker.myAdapter> { channelName: string; deviceIdProperty: string | undefined | ((objDevice: TTreeData, adapter: TAdapter) => string); deviceNameProperty: string | undefined | ((objDevice: TTreeData, adapter: TAdapter) => string); deviceIsOnlineState?: string; deviceHasErrorsState?: string; additionalRequest?: { endpoint: ApiEndpoints; conditionProperty: string; paramsProperty: string; converter?: (data: any, adapter: ioBroker.myAdapter) => TTreeData; }[]; }