|
|
|
@ -6,27 +6,15 @@ class SystemApi extends BaseApi {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private async performAction(action: string) {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
this.post<void>("", undefined, { action })
|
|
|
|
|
.then(resolve)
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
await this.post("", undefined, { action });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async login(username: string, password: string) {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
this.post<void>("/account", { username, password }, { action: "login" })
|
|
|
|
|
.then(resolve)
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
await this.post("/account", { username, password }, { action: "login" });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async logout() {
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
this.post<void>("/account", undefined, { action: "logout" })
|
|
|
|
|
.then(resolve)
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
await this.post("/account", undefined, { action: "logout" });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async shutdown() {
|
|
|
|
@ -38,131 +26,66 @@ class SystemApi extends BaseApi {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async settings() {
|
|
|
|
|
return new Promise<Settings>((resolve, reject) => {
|
|
|
|
|
this.get<Settings>("/settings")
|
|
|
|
|
.then((result) => {
|
|
|
|
|
resolve(result.data);
|
|
|
|
|
})
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<Settings>("/settings");
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async setSettings(data: object) {
|
|
|
|
|
return new Promise<void>((resolve, reject) => {
|
|
|
|
|
this.post<void>("/settings", data)
|
|
|
|
|
.then((res) => {
|
|
|
|
|
resolve();
|
|
|
|
|
})
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
await this.post("/settings", data);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async languages(history: boolean = false) {
|
|
|
|
|
return new Promise<Language.Server[]>((resolve, reject) => {
|
|
|
|
|
this.get<Language.Server[]>("/languages", { history })
|
|
|
|
|
.then((result) => {
|
|
|
|
|
resolve(result.data);
|
|
|
|
|
})
|
|
|
|
|
.catch((reason) => {
|
|
|
|
|
reject(reason);
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<Language.Server[]>("/languages", {
|
|
|
|
|
history,
|
|
|
|
|
});
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async languagesProfileList() {
|
|
|
|
|
return new Promise<Language.Profile[]>((resolve, reject) => {
|
|
|
|
|
this.get<Language.Profile[]>("/languages/profiles")
|
|
|
|
|
.then((result) => resolve(result.data))
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<Language.Profile[]>("/languages/profiles");
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async status() {
|
|
|
|
|
return new Promise<System.Status>((resolve, reject) => {
|
|
|
|
|
this.get<DataWrapper<System.Status>>("/status")
|
|
|
|
|
.then((result) => {
|
|
|
|
|
resolve(result.data.data);
|
|
|
|
|
})
|
|
|
|
|
.catch((reason) => {
|
|
|
|
|
reject(reason);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<DataWrapper<System.Status>>("/status");
|
|
|
|
|
return response.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async health() {
|
|
|
|
|
return new Promise<System.Health[]>((resolve, reject) => {
|
|
|
|
|
this.get<DataWrapper<System.Health[]>>("/health")
|
|
|
|
|
.then((result) => {
|
|
|
|
|
resolve(result.data.data);
|
|
|
|
|
})
|
|
|
|
|
.catch((reason) => {
|
|
|
|
|
reject(reason);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<DataWrapper<System.Health[]>>("/health");
|
|
|
|
|
return response.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async logs() {
|
|
|
|
|
return new Promise<System.Log[]>((resolve, reject) => {
|
|
|
|
|
this.get<DataWrapper<System.Log[]>>("/logs")
|
|
|
|
|
.then((result) => resolve(result.data.data))
|
|
|
|
|
.catch((err) => reject(err));
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<DataWrapper<System.Log[]>>("/logs");
|
|
|
|
|
return response.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async releases() {
|
|
|
|
|
return new Promise<ReleaseInfo[]>((resolve, reject) => {
|
|
|
|
|
this.get<DataWrapper<ReleaseInfo[]>>("/releases")
|
|
|
|
|
.then((result) => resolve(result.data.data))
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<DataWrapper<ReleaseInfo[]>>("/releases");
|
|
|
|
|
return response.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async deleteLogs() {
|
|
|
|
|
return new Promise<void>((resolve, reject) => {
|
|
|
|
|
this.delete<void>("/logs")
|
|
|
|
|
.then(() => resolve())
|
|
|
|
|
.catch((err) => reject(err));
|
|
|
|
|
});
|
|
|
|
|
await this.delete("/logs");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async tasks() {
|
|
|
|
|
return new Promise<System.Task[]>((resolve, reject) => {
|
|
|
|
|
this.get<DataWrapper<System.Task[]>>("/tasks")
|
|
|
|
|
.then((result) => {
|
|
|
|
|
resolve(result.data.data);
|
|
|
|
|
})
|
|
|
|
|
.catch((reason) => {
|
|
|
|
|
reject(reason);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<DataWrapper<System.Task[]>>("/tasks");
|
|
|
|
|
return response.data;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async runTask(id: string) {
|
|
|
|
|
return new Promise<void>((resolve, reject) => {
|
|
|
|
|
this.post<void>("/tasks", { taskid: id })
|
|
|
|
|
.then(() => {
|
|
|
|
|
resolve();
|
|
|
|
|
})
|
|
|
|
|
.catch((reason) => {
|
|
|
|
|
reject(reason);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
async runTask(taskid: string) {
|
|
|
|
|
await this.post("/tasks", { taskid });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async testNotification(url: string) {
|
|
|
|
|
return new Promise<void>((resolve, reject) => {
|
|
|
|
|
this.patch<void>("/notifications", { url })
|
|
|
|
|
.then(() => resolve())
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
await this.patch("/notifications", { url });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async search(query: string) {
|
|
|
|
|
return new Promise<ItemSearchResult[]>((resolve, reject) => {
|
|
|
|
|
this.get<ItemSearchResult[]>("/searches", { query })
|
|
|
|
|
.then((res) => resolve(res.data))
|
|
|
|
|
.catch(reject);
|
|
|
|
|
});
|
|
|
|
|
const response = await this.get<ItemSearchResult[]>("/searches", { query });
|
|
|
|
|
return response;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|