unifi-client
Version:
NodeJs client for Unifi products (https://www.ui.com/)
305 lines (304 loc) • 9.42 kB
TypeScript
export interface ISiteSettings {
_id: string;
site_id: string;
key: string;
}
export interface ISiteSettingsNTP extends ISiteSettings {
_id: string;
site_id: string;
key: 'ntp';
ntp_server_1: string;
ntp_server_2: string;
ntp_server_3: string;
ntp_server_4: string;
}
export interface ISiteSettingsGuestAccess extends ISiteSettings {
_id: string;
site_id: string;
key: 'guest_access';
auth: string;
redirect_https: boolean;
restricted_subnet_1: string;
restricted_subnet_2: string;
restricted_subnet_3: string;
redirect_url: string;
portal_enabled: boolean;
portal_customized_bg_color: string;
portal_customized_bg_image_enabled: boolean;
portal_customized_bg_image_tile: boolean;
portal_customized_box_color: string;
portal_customized_box_link_color: string;
portal_customized_box_text_color: string;
portal_customized_box_opacity: number;
portal_customized_button_color: string;
portal_customized_button_text_color: string;
portal_customized_link_color: string;
portal_customized_logo_enabled: boolean;
portal_customized_text_color: string;
portal_customized_tos: string;
portal_customized_tos_enabled: boolean;
portal_customized_welcome_text: string;
portal_customized_welcome_text_enabled: boolean;
portal_customized_welcome_text_position: string;
template_engine: string;
custom_ip: string;
x_password: string;
expire: number;
expire_number: number;
expire_unit: number;
portal_customized: boolean;
portal_customized_languages: Array<string>;
redirect_enabled: boolean;
ec_enabled: boolean;
portal_hostname: string;
portal_use_hostname: boolean;
radius_enabled: boolean;
radius_auth_type: string;
radiusprofile_id: string;
radius_disconnect_enabled: boolean;
radius_disconnect_port: number;
payment_enabled: boolean;
gateway: string;
authorize_use_sandbox: boolean;
x_authorize_loginid: string;
x_authorize_transactionkey: string;
x_ippay_terminalid: string;
ippay_use_sandbox: boolean;
x_merchantwarrior_merchantuuid: string;
x_merchantwarrior_apikey: string;
x_merchantwarrior_apipassphrase: string;
merchantwarrior_use_sandbox: boolean;
paypal_use_sandbox: boolean;
x_paypal_username: string;
x_paypal_password: string;
x_paypal_signature: string;
quickpay_testmode: boolean;
x_quickpay_agreementid: string;
x_quickpay_apikey: string;
x_quickpay_merchantid: string;
x_stripe_api_key: string;
facebook_enabled: boolean;
voucher_enabled: boolean;
wechat_enabled: boolean;
password_enabled: boolean;
}
export interface ISiteSettingsElementAdopt extends ISiteSettings {
_id: string;
site_id: string;
key: 'element_adopt';
enabled: boolean;
x_element_essid: string;
x_element_psk: string;
}
export interface ISiteSettingsConnectivity extends ISiteSettings {
_id: string;
site_id: string;
key: 'connectivity';
enabled: boolean;
uplink_type: string;
x_mesh_essid: string;
x_mesh_psk: string;
uplink_host: string;
}
export interface ISiteSettingsSuperMail extends ISiteSettings {
_id: string;
key: 'super_mail';
provider: string;
}
export interface ISiteSettingsSuperFingerBank extends ISiteSettings {
_id: string;
key: 'super_fingerbank';
fingerbank_key: string;
}
export interface ISiteSettingsSuperManagement extends ISiteSettings {
_id: string;
key: 'super_mgmt';
discoverable: boolean;
minimum_usable_hd_space: number;
autobackup_enabled: boolean;
autobackup_cron_expr: string;
autobackup_days: number;
autobackup_timezone: string;
enable_analytics: boolean;
data_retention_time_enabled: boolean;
data_retention_time_in_hours_for_5minutes_scale: number;
data_retention_time_in_hours_for_hourly_scale: number;
data_retention_time_in_hours_for_daily_scale: number;
data_retention_time_in_hours_for_monthly_scale: number;
data_retention_time_in_hours_for_others: number;
time_series_per_client_stats_enabled: boolean;
live_updates: string;
autobackup_max_files: number;
live_chat: string;
multiple_sites_enabled: boolean;
backup_to_cloud_enabled: boolean;
override_inform_host: boolean;
override_inform_host_type: string;
}
export interface ISiteSettingsSuperIdentity extends ISiteSettings {
_id: string;
key: 'super_identity';
name: string;
hostname: string;
}
export interface ISiteSettingsDPI extends ISiteSettings {
_id: string;
site_id: string;
key: 'dpi';
enabled: boolean;
fingerprintingEnabled: boolean;
}
export interface ISiteSettingsUSW extends ISiteSettings {
_id: string;
site_id: string;
key: 'usw';
dhcp_snoop: boolean;
}
export interface ISiteSettingsUSG extends ISiteSettings {
_id: string;
site_id: string;
key: 'usg';
ftp_module: boolean;
gre_module: boolean;
h323_module: boolean;
pptp_module: boolean;
sip_module: boolean;
tftp_module: boolean;
broadcast_ping: boolean;
receive_redirects: boolean;
send_redirects: boolean;
syn_cookies: boolean;
offload_accounting: boolean;
offload_sch: boolean;
offload_l2_blocking: boolean;
mdns_enabled: boolean;
upnp_enabled: boolean;
upnp_nat_pmp_enabled: boolean;
upnp_secure_mode: boolean;
mss_clamp: string;
geo_ip_filtering_traffic_direction: string;
}
export interface ISiteSettingsRSyslogD extends ISiteSettings {
_id: string;
site_id: string;
key: 'rsyslogd';
enabled: boolean;
this_controller: boolean;
this_controller_encrypted_only: boolean;
netconsole_enabled: boolean;
debug: boolean;
ip: string;
port: string;
netconsole_host: string;
netconsole_port: string;
}
export interface ISiteSettingsRadioAI extends ISiteSettings {
_id: string;
key: 'radio_ai';
site_id: string;
cron_expr: string;
default: boolean;
enabled: boolean;
radios: Array<string>;
optimize: Array<string>;
channels_ng: Array<number>;
channels_na: Array<number>;
ht_modes_ng: Array<string>;
ht_modes_na: Array<string>;
exclude_devices: Array<unknown>;
}
export interface ISiteSettingsNetworkOptimization extends ISiteSettings {
_id: string;
key: 'network_optimization';
site_id: string;
enabled: boolean;
}
export interface ISiteSettingsProviderCapabilities extends ISiteSettings {
_id: string;
key: 'provider_capabilities';
site_id: string;
upload: number;
download: number;
}
export interface ISiteSettingsLocale extends ISiteSettings {
_id: string;
key: 'locale';
site_id: string;
timezone: string;
}
export interface ISiteSettingsCountry extends ISiteSettings {
_id: string;
key: 'country';
site_id: string;
code: string;
}
export interface ISiteSettingsAutoSpeedTest extends ISiteSettings {
_id: string;
key: 'auto_speedtest';
site_id: string;
enabled: boolean;
interval: number;
}
export interface ISiteSettingsRadius extends ISiteSettings {
_id: string;
key: 'radius';
site_id: string;
enabled: boolean;
x_secret: string;
configure_whole_network: boolean;
auth_port: number;
acct_port: number;
interim_update_interval: number;
tunneled_reply: boolean;
}
export interface ISiteSettingsIPS extends ISiteSettings {
_id: string;
key: 'ips';
site_id: string;
enabled_categories: Array<string>;
endpoint_scanning: boolean;
honeypot: Array<unknown>;
honeypot_enabled: boolean;
ips_mode: string;
restrict_ip_addresses: boolean;
restrict_tor: boolean;
suppression: {
alerts: Array<unknown>;
whitelist: Array<unknown>;
};
dns_filtering: boolean;
dns_filters: [
{
allowed_sites: Array<unknown>;
blocked_sites: Array<unknown>;
blocked_tld: Array<unknown>;
description: string;
filter: string;
version: string;
network_id: string;
name: string;
}
];
utm_token: string;
last_alert_id: string;
last_nmap_id: string;
last_honeypot_id: string;
}
export interface ISiteSettingsManagement extends ISiteSettings {
key: 'mgmt';
advanced_feature_enabled: boolean;
x_ssh_enabled: boolean;
x_ssh_bind_wildcard: boolean;
x_ssh_auth_password_enabled: boolean;
unifi_idp_enabled: boolean;
wifiman_enabled: boolean;
x_mgmt_key: string;
x_ssh_username: string;
x_ssh_password: string;
x_ssh_sha512passwd: string;
led_enabled: boolean;
alert_enabled: boolean;
x_ssh_keys: Array<unknown>;
x_api_token: string;
}
export type tSiteSettings = ISiteSettingsNTP | ISiteSettingsGuestAccess | ISiteSettingsElementAdopt | ISiteSettingsConnectivity | ISiteSettingsSuperMail | ISiteSettingsSuperFingerBank | ISiteSettingsSuperManagement | ISiteSettingsSuperIdentity | ISiteSettingsDPI | ISiteSettingsUSW | ISiteSettingsUSG | ISiteSettingsRSyslogD | ISiteSettingsRadioAI | ISiteSettingsNetworkOptimization | ISiteSettingsProviderCapabilities | ISiteSettingsLocale | ISiteSettingsCountry | ISiteSettingsAutoSpeedTest | ISiteSettingsRadius | ISiteSettingsIPS | ISiteSettingsManagement | ISiteSettings;