Merge in DNS/adguard-home from new-client-dashboard to master Squashed commit of the following: commit 7bbd67c1e3d2af62b96bf41bb356cd6b784e473e Merge: 113743a69cd9054cAuthor: Vlad <v.abdulmyanov@adguard.com> Date: Wed Feb 3 16:01:17 2021 +0300 Merge branch 'master' into new-client-dashboard commit 113743a60665e40383d367dc17fa709dc54e4e2e Author: Vlad <v.abdulmyanov@adguard.com> Date: Wed Feb 3 15:45:16 2021 +0300 Remove unneded modal styles commit 04f9d93a9ac17ee046f0d5bedfb2bf5a5e6c0a48 Author: Vlad <v.abdulmyanov@adguard.com> Date: Wed Feb 3 14:19:56 2021 +0300 Consider comments commit 78a96cd8fed8b3e03547e7e45724c23db295f67b Author: Vlad <v.abdulmyanov@adguard.com> Date: Mon Feb 1 18:46:52 2021 +0300 Remove old params for MiniCssExtractPlugin commit 40e5a9b2b1e04036deb70af17f2719eadd0c9c02 Author: Vlad <v.abdulmyanov@adguard.com> Date: Mon Feb 1 18:27:46 2021 +0300 Fix mobile version commit 509cefc308f945b03cafa62bf48257490a0a4be1 Author: Vlad <v.abdulmyanov@adguard.com> Date: Mon Feb 1 18:20:56 2021 +0300 Remove unneeded imports commit d192f39cd2503b8ec942f00ba78fca02cac9fa60 Author: Vlad <v.abdulmyanov@adguard.com> Date: Mon Feb 1 18:20:13 2021 +0300 Finish first version of dashboard commit f82429e53d334874ff7dd0641092ec83c66ab61c Merge: fd91a0a33e0238aaAuthor: Vlad <v.abdulmyanov@adguard.com> Date: Mon Feb 1 17:12:59 2021 +0300 Merge branch 'master' into new-client-dashboard commit fd91a0a3d76c2a052a6548232b75d151d6065b88 Author: Vlad <v.abdulmyanov@adguard.com> Date: Mon Feb 1 17:12:27 2021 +0300 wip commit 237679965052d38acfcd6a72d24b2444cc5b3896 Author: Vlad <v.abdulmyanov@adguard.com> Date: Fri Jan 29 11:18:10 2021 +0300 Finish general settings commit 397a7e10efd34a8d31bb175a5a5a7158338388d4 Author: Vlad <v.abdulmyanov@adguard.com> Date: Thu Jan 28 19:24:03 2021 +0300 Add General settings page commit 486aaa6f3f9ad66f3a0dcfcccad9a32659767e90 Author: Vlad <v.abdulmyanov@adguard.com> Date: Thu Jan 28 14:05:16 2021 +0300 Remove husky commit b895306c0655019ca56ce161e050d83b4e7f5ff1 Merge: a195f1f4154c9c1cAuthor: Vlad <v.abdulmyanov@adguard.com> Date: Thu Jan 28 14:03:37 2021 +0300 Merge branch 'master' into new-client-dashboard commit a195f1f4d46043d9c53dea08734733f9817b95a0 Merge: c45c5fe9 362f390f Author: Vlad <v.abdulmyanov@adguard.com> Date: Wed Jan 27 15:46:18 2021 +0300 Merge branch 'new-client-dashboard' of ssh://bit.adguard.com:7999/dns/adguard-home into new-client-dashboard commit c45c5fe92e6c5c852bec8f512dc46b4cd513156c Author: Vlad <v.abdulmyanov@adguard.com> Date: Wed Jan 27 15:46:01 2021 +0300 wip commit 362f390fd3dcfca75633a8d30a2e54c3c30b4f3d Author: Vladislav Abdulmyanov <v.abdulmyanov@adguard.com> Date: Wed Jan 27 15:45:12 2021 +0300 Pull request #949: + client: add setup guide page Merge in DNS/adguard-home from 2554-setup-guide to new-client-dashboard Squashed commit of the following: commit c240d52e9e5d90429f2018fde808f4d04ccec138 Merge: 256f1056 137b88e4 Author: Ildar Kamalov <ik@adguard.com> Date: Wed Jan 27 14:13:52 2021 +0300 Merge branch 'new-client-dashboard' into 2554-setup-guide commit 256f1056770c67339e93275ab6dc7aaf2c10da0b Author: Ildar Kamalov <ik@adguard.com> Date: Wed Jan 27 14:10:45 2021 +0300 + client: add DNS addresses to the setup guide commit 0ecf91275a16ecc0dca23cae2ae209836fc622d2 Author: Ildar Kamalov <ik@adguard.com> Date: Wed Jan 27 14:00:12 2021 +0300 + client: add setup guide tabs commit 137b88e4253af5be32d542adbe74575ef74805c8 Author: Vlad <v.abdulmyanov@adguard.com> Date: Thu Jan 21 19:17:58 2021 +0300 Add clients top commit c3318e6932d87fdff5f22d76bee12b49f099129a Merge: 2776276b 021eb22f Author: Vlad <v.abdulmyanov@adguard.com> Date: Thu Jan 21 19:15:57 2021 +0300 Merge branch 'new-client-dashboard' of ssh://bit.adguard.com:7999/dns/adguard-home into new-client-dashboard commit 2776276b2e6dc026e1326b02c388fcf7d48d47ff Author: Vlad <v.abdulmyanov@adguard.com> Date: Thu Jan 21 19:15:53 2021 +0300 Add top client info commit 021eb22ff877aec12eb7fab60147a2cc2ddd08b7 Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 14:13:54 2021 +0300 Merge: client: add sidebar Squashed commit of the following: commit 6885ba953971e68602889fbb3219221f90265421 Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 13:56:55 2021 +0300 add sidebar mask commit f069bfe8cba2b31355e19a51ca00bf774ee9e560 Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 13:03:47 2021 +0300 fix store commit 77c8791002887ae022da07dc264d9010576e7bab Merge: d0a6eff6 ea6d54d4 Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 13:01:04 2021 +0300 Merge branch 'new-client-dashboard' into 2254-sidebar commit d0a6eff67fd74533d63f5d56382085e98ddbb702 Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 12:47:32 2021 +0300 client: remove unused file commit 9d2424477de85503fe41fa00cc1294cb0c0e7dfa Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 12:39:13 2021 +0300 client: header commit 9ddea19c136f15b184caa72d7e82738f7d4f3f1f Merge: 797f1248 b694bb05 Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 10:57:24 2021 +0300 Merge branch 'new-client-dashboard' into 2254-sidebar commit 797f1248df5c1ef8e59c2a9999138f9e05a7adaa Author: Ildar Kamalov <ik@adguard.com> Date: Thu Jan 21 10:51:57 2021 +0300 client: sidebar ... and 14 more commits
223 lines
7.8 KiB
TypeScript
223 lines
7.8 KiB
TypeScript
import WhoisInfo, { IWhoisInfo } from './WhoisInfo';
|
|
|
|
// This file was autogenerated. Please do not change.
|
|
// All changes will be overwrited on commit.
|
|
export interface IClientFindSubEntry {
|
|
blocked_services?: string[];
|
|
disallowed?: boolean;
|
|
disallowed_rule?: string;
|
|
filtering_enabled?: boolean;
|
|
ids?: string[];
|
|
name?: string;
|
|
parental_enabled?: boolean;
|
|
safebrowsing_enabled?: boolean;
|
|
safesearch_enabled?: boolean;
|
|
upstreams?: string[];
|
|
use_global_blocked_services?: boolean;
|
|
use_global_settings?: boolean;
|
|
whois_info?: IWhoisInfo;
|
|
}
|
|
|
|
export default class ClientFindSubEntry {
|
|
readonly _blocked_services: string[] | undefined;
|
|
|
|
get blockedServices(): string[] | undefined {
|
|
return this._blocked_services;
|
|
}
|
|
|
|
readonly _disallowed: boolean | undefined;
|
|
|
|
/** */
|
|
get disallowed(): boolean | undefined {
|
|
return this._disallowed;
|
|
}
|
|
|
|
readonly _disallowed_rule: string | undefined;
|
|
|
|
/** */
|
|
get disallowedRule(): string | undefined {
|
|
return this._disallowed_rule;
|
|
}
|
|
|
|
readonly _filtering_enabled: boolean | undefined;
|
|
|
|
get filteringEnabled(): boolean | undefined {
|
|
return this._filtering_enabled;
|
|
}
|
|
|
|
readonly _ids: string[] | undefined;
|
|
|
|
/** */
|
|
get ids(): string[] | undefined {
|
|
return this._ids;
|
|
}
|
|
|
|
readonly _name: string | undefined;
|
|
|
|
/**
|
|
* Description: Name
|
|
* Example: localhost
|
|
*/
|
|
get name(): string | undefined {
|
|
return this._name;
|
|
}
|
|
|
|
readonly _parental_enabled: boolean | undefined;
|
|
|
|
get parentalEnabled(): boolean | undefined {
|
|
return this._parental_enabled;
|
|
}
|
|
|
|
readonly _safebrowsing_enabled: boolean | undefined;
|
|
|
|
get safebrowsingEnabled(): boolean | undefined {
|
|
return this._safebrowsing_enabled;
|
|
}
|
|
|
|
readonly _safesearch_enabled: boolean | undefined;
|
|
|
|
get safesearchEnabled(): boolean | undefined {
|
|
return this._safesearch_enabled;
|
|
}
|
|
|
|
readonly _upstreams: string[] | undefined;
|
|
|
|
get upstreams(): string[] | undefined {
|
|
return this._upstreams;
|
|
}
|
|
|
|
readonly _use_global_blocked_services: boolean | undefined;
|
|
|
|
get useGlobalBlockedServices(): boolean | undefined {
|
|
return this._use_global_blocked_services;
|
|
}
|
|
|
|
readonly _use_global_settings: boolean | undefined;
|
|
|
|
get useGlobalSettings(): boolean | undefined {
|
|
return this._use_global_settings;
|
|
}
|
|
|
|
readonly _whois_info: WhoisInfo | undefined;
|
|
|
|
get whoisInfo(): WhoisInfo | undefined {
|
|
return this._whois_info;
|
|
}
|
|
|
|
constructor(props: IClientFindSubEntry) {
|
|
if (props.blocked_services) {
|
|
this._blocked_services = props.blocked_services;
|
|
}
|
|
if (typeof props.disallowed === 'boolean') {
|
|
this._disallowed = props.disallowed;
|
|
}
|
|
if (typeof props.disallowed_rule === 'string') {
|
|
this._disallowed_rule = props.disallowed_rule.trim();
|
|
}
|
|
if (typeof props.filtering_enabled === 'boolean') {
|
|
this._filtering_enabled = props.filtering_enabled;
|
|
}
|
|
if (props.ids) {
|
|
this._ids = props.ids;
|
|
}
|
|
if (typeof props.name === 'string') {
|
|
this._name = props.name.trim();
|
|
}
|
|
if (typeof props.parental_enabled === 'boolean') {
|
|
this._parental_enabled = props.parental_enabled;
|
|
}
|
|
if (typeof props.safebrowsing_enabled === 'boolean') {
|
|
this._safebrowsing_enabled = props.safebrowsing_enabled;
|
|
}
|
|
if (typeof props.safesearch_enabled === 'boolean') {
|
|
this._safesearch_enabled = props.safesearch_enabled;
|
|
}
|
|
if (props.upstreams) {
|
|
this._upstreams = props.upstreams;
|
|
}
|
|
if (typeof props.use_global_blocked_services === 'boolean') {
|
|
this._use_global_blocked_services = props.use_global_blocked_services;
|
|
}
|
|
if (typeof props.use_global_settings === 'boolean') {
|
|
this._use_global_settings = props.use_global_settings;
|
|
}
|
|
if (props.whois_info) {
|
|
this._whois_info = new WhoisInfo(props.whois_info);
|
|
}
|
|
}
|
|
|
|
serialize(): IClientFindSubEntry {
|
|
const data: IClientFindSubEntry = {
|
|
};
|
|
if (typeof this._blocked_services !== 'undefined') {
|
|
data.blocked_services = this._blocked_services;
|
|
}
|
|
if (typeof this._disallowed !== 'undefined') {
|
|
data.disallowed = this._disallowed;
|
|
}
|
|
if (typeof this._disallowed_rule !== 'undefined') {
|
|
data.disallowed_rule = this._disallowed_rule;
|
|
}
|
|
if (typeof this._filtering_enabled !== 'undefined') {
|
|
data.filtering_enabled = this._filtering_enabled;
|
|
}
|
|
if (typeof this._ids !== 'undefined') {
|
|
data.ids = this._ids;
|
|
}
|
|
if (typeof this._name !== 'undefined') {
|
|
data.name = this._name;
|
|
}
|
|
if (typeof this._parental_enabled !== 'undefined') {
|
|
data.parental_enabled = this._parental_enabled;
|
|
}
|
|
if (typeof this._safebrowsing_enabled !== 'undefined') {
|
|
data.safebrowsing_enabled = this._safebrowsing_enabled;
|
|
}
|
|
if (typeof this._safesearch_enabled !== 'undefined') {
|
|
data.safesearch_enabled = this._safesearch_enabled;
|
|
}
|
|
if (typeof this._upstreams !== 'undefined') {
|
|
data.upstreams = this._upstreams;
|
|
}
|
|
if (typeof this._use_global_blocked_services !== 'undefined') {
|
|
data.use_global_blocked_services = this._use_global_blocked_services;
|
|
}
|
|
if (typeof this._use_global_settings !== 'undefined') {
|
|
data.use_global_settings = this._use_global_settings;
|
|
}
|
|
if (typeof this._whois_info !== 'undefined') {
|
|
data.whois_info = this._whois_info.serialize();
|
|
}
|
|
return data;
|
|
}
|
|
|
|
validate(): string[] {
|
|
const validate = {
|
|
name: !this._name ? true : typeof this._name === 'string' && !this._name ? true : this._name,
|
|
ids: !this._ids ? true : this._ids.reduce((result, p) => result && typeof p === 'string', true),
|
|
use_global_settings: !this._use_global_settings ? true : typeof this._use_global_settings === 'boolean',
|
|
filtering_enabled: !this._filtering_enabled ? true : typeof this._filtering_enabled === 'boolean',
|
|
parental_enabled: !this._parental_enabled ? true : typeof this._parental_enabled === 'boolean',
|
|
safebrowsing_enabled: !this._safebrowsing_enabled ? true : typeof this._safebrowsing_enabled === 'boolean',
|
|
safesearch_enabled: !this._safesearch_enabled ? true : typeof this._safesearch_enabled === 'boolean',
|
|
use_global_blocked_services: !this._use_global_blocked_services ? true : typeof this._use_global_blocked_services === 'boolean',
|
|
blocked_services: !this._blocked_services ? true : this._blocked_services.reduce((result, p) => result && typeof p === 'string', true),
|
|
upstreams: !this._upstreams ? true : this._upstreams.reduce((result, p) => result && typeof p === 'string', true),
|
|
whois_info: !this._whois_info ? true : this._whois_info.validate().length === 0,
|
|
disallowed: !this._disallowed ? true : typeof this._disallowed === 'boolean',
|
|
disallowed_rule: !this._disallowed_rule ? true : typeof this._disallowed_rule === 'string' && !this._disallowed_rule ? true : this._disallowed_rule,
|
|
};
|
|
const isError: string[] = [];
|
|
Object.keys(validate).forEach((key) => {
|
|
if (!(validate as any)[key]) {
|
|
isError.push(key);
|
|
}
|
|
});
|
|
return isError;
|
|
}
|
|
|
|
update(props: Partial<IClientFindSubEntry>): ClientFindSubEntry {
|
|
return new ClientFindSubEntry({ ...this.serialize(), ...props });
|
|
}
|
|
}
|