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
161 lines
5.5 KiB
TypeScript
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));
|
|
}
|
|
})
|
|
}
|
|
}
|