Files
AdGuardHome/client2/src/lib/apis/global.ts
Eugene Burkov 5e20ac7ed5 Pull request: beta client squashed
Merge in DNS/adguard-home from beta-client-2 to master

Squashed commit of the following:

commit b2640cc49a6c5484d730b534dcf5a8013d7fa478
Merge: 659def862 aef4659e9
Author: Eugene Burkov <e.burkov@adguard.com>
Date:   Tue Dec 29 19:23:09 2020 +0300

    Merge branch 'master' into beta-client-2

commit 659def8626467949c35b7a6a0c99ffafb07b4385
Author: Eugene Burkov <e.burkov@adguard.com>
Date:   Tue Dec 29 17:25:14 2020 +0300

    all: upgrade github actions node version

commit b4b8cf8dd75672e9155da5d111ac66e8f5ba1535
Author: Vladislav Abdulmyanov <v.abdulmyanov@adguard.com>
Date:   Tue Dec 29 16:57:14 2020 +0300

    all: beta client squashed
2020-12-29 19:53:56 +03:00

161 lines
5.5 KiB
TypeScript

import DNSConfig, { IDNSConfig } from 'Entities/DNSConfig';
import GetVersionRequest, { IGetVersionRequest } from 'Entities/GetVersionRequest';
import Login, { ILogin } from 'Entities/Login';
import ProfileInfo, { IProfileInfo } from 'Entities/ProfileInfo';
import ServerStatus, { IServerStatus } from 'Entities/ServerStatus';
import UpstreamsConfig, { IUpstreamsConfig } from 'Entities/UpstreamsConfig';
import UpstreamsConfigResponse, { IUpstreamsConfigResponse } from 'Entities/UpstreamsConfigResponse';
import VersionInfo, { IVersionInfo } from 'Entities/VersionInfo';
// This file was autogenerated. Please do not change.
// All changes will be overwrited on commit.
export default class GlobalApi {
static async beginUpdate(): Promise<number | Error> {
return await fetch(`/control/update`, {
method: 'POST',
}).then(async (res) => {
if (res.status === 200) {
return res.status;
} else {
return new Error(String(res.status));
}
})
}
static async dnsConfig(dnsconfig: IDNSConfig): Promise<number | string[] | Error> {
const haveError: string[] = [];
const dnsconfigValid = new DNSConfig(dnsconfig);
haveError.push(...dnsconfigValid.validate());
if (haveError.length > 0) {
return Promise.resolve(haveError);
}
return await fetch(`/control/dns_config`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(dnsconfigValid.serialize()),
}).then(async (res) => {
if (res.status === 200) {
return res.status;
} else {
return new Error(String(res.status));
}
})
}
static async dnsInfo(): Promise<IDNSConfig | Error> {
return await fetch(`/control/dns_info`, {
method: 'GET',
}).then(async (res) => {
if (res.status === 200) {
return res.json();
} else {
return new Error(String(res.status));
}
})
}
static async getProfile(): Promise<IProfileInfo | Error> {
return await fetch(`/control/profile`, {
method: 'GET',
}).then(async (res) => {
if (res.status === 200) {
return res.json();
} else {
return new Error(String(res.status));
}
})
}
static async getVersionJson(getversionrequest: IGetVersionRequest): Promise<IVersionInfo | string[] | Error> {
const haveError: string[] = [];
const getversionrequestValid = new GetVersionRequest(getversionrequest);
haveError.push(...getversionrequestValid.validate());
if (haveError.length > 0) {
return Promise.resolve(haveError);
}
return await fetch(`/control/version.json`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(getversionrequestValid.serialize()),
}).then(async (res) => {
if (res.status === 200) {
return res.json();
} else {
return new Error(String(res.status));
}
})
}
static async login(login: ILogin): Promise<number | string[] | Error> {
const haveError: string[] = [];
const loginValid = new Login(login);
haveError.push(...loginValid.validate());
if (haveError.length > 0) {
return Promise.resolve(haveError);
}
return await fetch(`/control/login`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(loginValid.serialize()),
}).then(async (res) => {
if (res.status === 200) {
return res.status;
} else {
return new Error(String(res.status));
}
})
}
static async logout(): Promise<number | Error> {
return await fetch(`/control/logout`, {
method: 'GET',
}).then(async (res) => {
if (res.status === 200) {
return res.status;
} else {
return new Error(String(res.status));
}
})
}
static async status(): Promise<IServerStatus | Error> {
return await fetch(`/control/status`, {
method: 'GET',
}).then(async (res) => {
if (res.status === 200) {
return res.json();
} else {
return new Error(String(res.status));
}
})
}
static async testUpstreamDNS(upstreamsconfig: IUpstreamsConfig): Promise<IUpstreamsConfigResponse | string[] | Error> {
const haveError: string[] = [];
const upstreamsconfigValid = new UpstreamsConfig(upstreamsconfig);
haveError.push(...upstreamsconfigValid.validate());
if (haveError.length > 0) {
return Promise.resolve(haveError);
}
return await fetch(`/control/test_upstream_dns`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(upstreamsconfigValid.serialize()),
}).then(async (res) => {
if (res.status === 200) {
return res.json();
} else {
return new Error(String(res.status));
}
})
}
}