mythtv-services-api
Version:
Mythtv Service Api Bindings
138 lines (137 loc) • 4.75 kB
TypeScript
import { AbstractService } from './Communication';
import ApiTypes from './ApiTypes';
export declare namespace MythService {
namespace Request {
interface GetSetting {
Key: string;
HostName?: string;
Default?: string;
}
interface AddStorageGroupDir {
GroupName: string;
DirName: string;
HostName: string;
}
interface ChangePassword {
UserName: string;
OldPassword: string;
NewPassword: string;
}
interface CheckDatabase {
Repair: boolean;
}
interface GetConnectionInfo {
Pin: string;
}
interface GetFormatDate {
Date: Date;
ShortDate: boolean;
}
interface GetFormatDateTime {
DateTime: Date;
ShortDate: boolean;
}
interface GetFormatTime {
Time: Date;
}
interface GetLogs {
HostName: string;
Application: string;
PID: number;
TID: number;
Thread: string;
Filename: string;
Line: number;
Function: string;
FromTime: Date;
ToTime: Date;
Level: string;
MsgContains: string;
}
interface GetSettingList {
HostName?: string;
}
interface PutSetting {
HostName: string;
Key: string;
Value: string;
}
interface RemoveStorageGroupDir {
GroupName: string;
DirName: string;
HostName: string;
}
interface SendMessage {
Message: string;
Address?: string;
udpPort?: number;
Timeout?: number;
}
interface SendNotification {
Error?: boolean;
Type?: string;
Message: string;
Origin?: string;
Description?: string;
Image?: string;
Extra?: string;
ProgressText?: string;
Progress?: number;
Timeout?: number;
Fullscreen?: boolean;
Visibility?: number;
Priority?: number;
Address?: string;
udpPort?: number;
}
interface TestDBSettings {
HostName: string;
UserName: string;
Password: string;
DBName: string;
dbPort: number;
}
interface GetFrontends {
OnLine: boolean;
}
interface GetStorageGroupDirs {
GroupName: string;
HostName: string;
}
interface ParseISODateString {
DateTime: string;
}
}
class Service extends AbstractService {
constructor(baseUrl: URL);
GetHostName(): Promise<string>;
GetHosts(): Promise<string[]>;
GetSetting(req: Request.GetSetting): Promise<string>;
GetFrontends(req: Partial<Request.GetFrontends>): Promise<ApiTypes.Frontend[]>;
AddStorageGroupDir(req: Request.AddStorageGroupDir): Promise<void>;
BackupDatabase(): Promise<void>;
ChangePassword(req: Request.ChangePassword): Promise<void>;
CheckDatabase(req: Request.CheckDatabase): Promise<void>;
GetBackendInfo(): Promise<ApiTypes.BackendInfo>;
GetConnectionInfo(req: Request.GetConnectionInfo): Promise<ApiTypes.ConnectionInfo>;
GetFormatDate(req: Request.GetFormatDate): Promise<string>;
GetFormatDateTime(req: Request.GetFormatDateTime): Promise<string>;
GetFormatTime(req: Request.GetFormatTime): Promise<string>;
GetKeys(): Promise<string[]>;
GetLogs(req: Partial<Request.GetLogs>): Promise<ApiTypes.LogMessageList>;
GetSettingList(req: Partial<Request.GetSettingList>): Promise<ApiTypes.SettingList>;
GetStorageGroupDirs(req: Partial<Request.GetStorageGroupDirs>): Promise<ApiTypes.StorageGroupDir[]>;
GetTimeZone(): Promise<ApiTypes.TimeZoneInfo>;
ParseISODateString(req: Request.ParseISODateString): Promise<Date>;
ProfileText(): Promise<string>;
ProfileURL(): Promise<string>;
ProfileUpdated(): Promise<string>;
ProfileDelete(): Promise<void>;
ProfileSubmit(): Promise<void>;
PutSetting(req: Request.PutSetting): Promise<void>;
RemoveStorageGroupDir(req: Request.RemoveStorageGroupDir): Promise<void>;
SendMessage(req: Request.SendMessage): Promise<void>;
SendNotification(req: Request.SendNotification): Promise<void>;
TestDBSettings(req: Request.TestDBSettings): Promise<void>;
}
}