refactor
This commit is contained in:
parent
3eb4ad85d3
commit
85beb3dfea
@ -364,7 +364,9 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
List<SettingsTile> siaConfigSettings = [];
|
List<SettingsTile> siaConfigSettings = [];
|
||||||
|
|
||||||
widget.settings.forEach((key, value) {
|
widget.settings.forEach((key, value) {
|
||||||
if (key == 'ApiAuth') {
|
switch (key) {
|
||||||
|
case 'ApiAuth':
|
||||||
|
{
|
||||||
_addPasswordSetting(
|
_addPasswordSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -373,7 +375,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'ApiPort') {
|
}
|
||||||
|
break;
|
||||||
|
case 'ApiPort':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -382,7 +387,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'ApiUser') {
|
}
|
||||||
|
break;
|
||||||
|
case 'ApiUser':
|
||||||
|
{
|
||||||
_addStringSetting(
|
_addStringSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -392,7 +400,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'DatabaseType') {
|
}
|
||||||
|
break;
|
||||||
|
case 'DatabaseType':
|
||||||
|
{
|
||||||
_addListSetting(
|
_addListSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -402,7 +413,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
Icons.dataset,
|
Icons.dataset,
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
} else if (key == 'DownloadTimeoutSeconds') {
|
}
|
||||||
|
break;
|
||||||
|
case 'DownloadTimeoutSeconds':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -411,11 +425,32 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'EnableDownloadTimeout') {
|
}
|
||||||
_addBooleanSetting(commonSettings, widget.settings, key, value, true);
|
break;
|
||||||
} else if (key == 'EnableDriveEvents') {
|
case 'EnableDownloadTimeout':
|
||||||
_addBooleanSetting(commonSettings, widget.settings, key, value, true);
|
{
|
||||||
} else if (key == 'EventLevel') {
|
_addBooleanSetting(
|
||||||
|
commonSettings,
|
||||||
|
widget.settings,
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'EnableDriveEvents':
|
||||||
|
{
|
||||||
|
_addBooleanSetting(
|
||||||
|
commonSettings,
|
||||||
|
widget.settings,
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'EventLevel':
|
||||||
|
{
|
||||||
_addListSetting(
|
_addListSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -425,7 +460,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
Icons.event,
|
Icons.event,
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
} else if (key == 'EvictionDelayMinutes') {
|
}
|
||||||
|
break;
|
||||||
|
case 'EvictionDelayMinutes':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -434,9 +472,21 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'EvictionUseAccessedTime') {
|
}
|
||||||
_addBooleanSetting(commonSettings, widget.settings, key, value, true);
|
break;
|
||||||
} else if (key == 'MaxCacheSizeBytes') {
|
case 'EvictionUseAccessedTime':
|
||||||
|
{
|
||||||
|
_addBooleanSetting(
|
||||||
|
commonSettings,
|
||||||
|
widget.settings,
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'MaxCacheSizeBytes':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -445,7 +495,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
false,
|
false,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'MaxUploadCount') {
|
}
|
||||||
|
break;
|
||||||
|
case 'MaxUploadCount':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -454,7 +507,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'OnlineCheckRetrySeconds') {
|
}
|
||||||
|
break;
|
||||||
|
case 'OnlineCheckRetrySeconds':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -463,7 +519,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'PreferredDownloadType') {
|
}
|
||||||
|
break;
|
||||||
|
case 'PreferredDownloadType':
|
||||||
|
{
|
||||||
_addListSetting(
|
_addListSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -473,7 +532,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
Icons.download,
|
Icons.download,
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
} else if (key == 'RetryReadCount') {
|
}
|
||||||
|
break;
|
||||||
|
case 'RetryReadCount':
|
||||||
|
{
|
||||||
_addIntSetting(
|
_addIntSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -482,7 +544,10 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
true,
|
true,
|
||||||
validators: getSettingValidators(key),
|
validators: getSettingValidators(key),
|
||||||
);
|
);
|
||||||
} else if (key == 'RingBufferFileSize') {
|
}
|
||||||
|
break;
|
||||||
|
case 'RingBufferFileSize':
|
||||||
|
{
|
||||||
_addIntListSetting(
|
_addIntListSetting(
|
||||||
commonSettings,
|
commonSettings,
|
||||||
widget.settings,
|
widget.settings,
|
||||||
@ -493,298 +558,35 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
Icons.animation,
|
Icons.animation,
|
||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
} else if (key == 'EncryptConfig') {
|
|
||||||
value.forEach((subKey, subValue) {
|
|
||||||
if (subKey == 'EncryptionToken') {
|
|
||||||
_addPasswordSetting(
|
|
||||||
encryptConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'Path') {
|
|
||||||
_addStringSetting(
|
|
||||||
encryptConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.folder,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
break;
|
||||||
} else if (key == 'HostConfig') {
|
case 'EncryptConfig':
|
||||||
value.forEach((subKey, subValue) {
|
{
|
||||||
if (subKey == 'AgentString') {
|
_parseEncryptConfig(encryptConfigSettings, key, value);
|
||||||
_addStringSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.support_agent,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'ApiPassword') {
|
|
||||||
_addPasswordSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'ApiPort') {
|
|
||||||
_addIntSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'ApiUser') {
|
|
||||||
_addStringSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.person,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'HostNameOrIp') {
|
|
||||||
_addStringSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.computer,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'Path') {
|
|
||||||
_addStringSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.route,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'Protocol') {
|
|
||||||
_addListSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
protocolTypeList,
|
|
||||||
Icons.http,
|
|
||||||
true,
|
|
||||||
);
|
|
||||||
} else if (subKey == 'TimeoutMs') {
|
|
||||||
_addIntSetting(
|
|
||||||
hostConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
break;
|
||||||
} else if (key == 'RemoteConfig') {
|
case 'HostConfig':
|
||||||
value.forEach((subKey, subValue) {
|
{
|
||||||
if (subKey == 'ApiPort') {
|
_parseHostConfig(hostConfigSettings, key, value);
|
||||||
_addIntSetting(
|
|
||||||
remoteConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'EncryptionToken') {
|
|
||||||
_addPasswordSetting(
|
|
||||||
remoteConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'HostNameOrIp') {
|
|
||||||
_addStringSetting(
|
|
||||||
remoteConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.computer,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'MaxConnections') {
|
|
||||||
_addIntSetting(
|
|
||||||
remoteConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'ReceiveTimeoutMs') {
|
|
||||||
_addIntSetting(
|
|
||||||
remoteConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'SendTimeoutMs') {
|
|
||||||
_addIntSetting(
|
|
||||||
remoteConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
break;
|
||||||
} else if (key == 'RemoteMount') {
|
case 'RemoteConfig':
|
||||||
value.forEach((subKey, subValue) {
|
{
|
||||||
if (subKey == 'Enable') {
|
_parseRemoteConfig(remoteConfigSettings, key, value);
|
||||||
List<SettingsTile> tempSettings = [];
|
|
||||||
_addBooleanSetting(
|
|
||||||
tempSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
remoteMountSettings.insertAll(0, tempSettings);
|
|
||||||
} else if (subKey == 'ApiPort') {
|
|
||||||
_addIntSetting(
|
|
||||||
remoteMountSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'ClientPoolSize') {
|
|
||||||
_addIntSetting(
|
|
||||||
remoteMountSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'EncryptionToken') {
|
|
||||||
_addPasswordSetting(
|
|
||||||
remoteMountSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
break;
|
||||||
} else if (key == 'S3Config') {
|
case 'RemoteMount':
|
||||||
value.forEach((subKey, subValue) {
|
{
|
||||||
if (subKey == 'AccessKey') {
|
_parseRemoteMount(remoteMountSettings, key, value);
|
||||||
_addStringSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.key,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'Bucket') {
|
|
||||||
_addStringSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.folder,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'EncryptionToken') {
|
|
||||||
_addPasswordSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'Region') {
|
|
||||||
_addStringSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.map,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'SecretKey') {
|
|
||||||
_addPasswordSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'TimeoutMs') {
|
|
||||||
_addIntSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
true,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'URL') {
|
|
||||||
_addStringSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
Icons.http,
|
|
||||||
false,
|
|
||||||
validators: getSettingValidators('$key.$subKey'),
|
|
||||||
);
|
|
||||||
} else if (subKey == 'UsePathStyle') {
|
|
||||||
_addBooleanSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
} else if (subKey == 'UseRegionInURL') {
|
|
||||||
_addBooleanSetting(
|
|
||||||
s3ConfigSettings,
|
|
||||||
widget.settings[key],
|
|
||||||
subKey,
|
|
||||||
subValue,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
break;
|
||||||
} else if (key == 'SiaConfig') {
|
case 'S3Config':
|
||||||
|
{
|
||||||
|
_parseS3Config(s3ConfigSettings, key, value);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'SiaConfig':
|
||||||
|
{
|
||||||
value.forEach((subKey, subValue) {
|
value.forEach((subKey, subValue) {
|
||||||
if (subKey == 'Bucket') {
|
if (subKey == 'Bucket') {
|
||||||
_addStringSetting(
|
_addStringSetting(
|
||||||
@ -799,6 +601,8 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return SettingsList(
|
return SettingsList(
|
||||||
@ -843,6 +647,150 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _parseHostConfig(List<SettingsTile> hostConfigSettings, key, value) {
|
||||||
|
value.forEach((subKey, subValue) {
|
||||||
|
switch (subKey) {
|
||||||
|
case 'AgentString':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.support_agent,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ApiPassword':
|
||||||
|
{
|
||||||
|
_addPasswordSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ApiPort':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ApiUser':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.person,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'HostNameOrIp':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.computer,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'Path':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.route,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'Protocol':
|
||||||
|
{
|
||||||
|
_addListSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
protocolTypeList,
|
||||||
|
Icons.http,
|
||||||
|
true,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'TimeoutMs':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
hostConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void _parseEncryptConfig(
|
||||||
|
List<SettingsTile> encryptConfigSettings,
|
||||||
|
key,
|
||||||
|
value,
|
||||||
|
) {
|
||||||
|
value.forEach((subKey, subValue) {
|
||||||
|
switch (subKey) {
|
||||||
|
case 'EncryptionToken':
|
||||||
|
{
|
||||||
|
_addPasswordSetting(
|
||||||
|
encryptConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'Path':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
encryptConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.folder,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
if (!widget.isAdd) {
|
if (!widget.isAdd) {
|
||||||
@ -869,4 +817,265 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
|
|||||||
|
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _parseS3Config(List<SettingsTile> s3ConfigSettings, String key, value) {
|
||||||
|
value.forEach((subKey, subValue) {
|
||||||
|
switch (subKey) {
|
||||||
|
case 'AccessKey':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.key,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'Bucket':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.folder,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'EncryptionToken':
|
||||||
|
{
|
||||||
|
_addPasswordSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'Region':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.map,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'SecretKey':
|
||||||
|
{
|
||||||
|
_addPasswordSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'TimeoutMs':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'URL':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.http,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'UsePathStyle':
|
||||||
|
{
|
||||||
|
_addBooleanSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'UseRegionInURL':
|
||||||
|
{
|
||||||
|
_addBooleanSetting(
|
||||||
|
s3ConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void _parseRemoteMount(
|
||||||
|
List<SettingsTile> remoteMountSettings,
|
||||||
|
String key,
|
||||||
|
value,
|
||||||
|
) {
|
||||||
|
value.forEach((subKey, subValue) {
|
||||||
|
switch (subKey) {
|
||||||
|
case 'Enable':
|
||||||
|
{
|
||||||
|
List<SettingsTile> tempSettings = [];
|
||||||
|
_addBooleanSetting(
|
||||||
|
tempSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
);
|
||||||
|
remoteMountSettings.insertAll(1, tempSettings);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ApiPort':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
remoteMountSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ClientPoolSize':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
remoteMountSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'EncryptionToken':
|
||||||
|
{
|
||||||
|
_addPasswordSetting(
|
||||||
|
remoteMountSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void _parseRemoteConfig(
|
||||||
|
List<SettingsTile> remoteConfigSettings,
|
||||||
|
String key,
|
||||||
|
value,
|
||||||
|
) {
|
||||||
|
value.forEach((subKey, subValue) {
|
||||||
|
switch (subKey) {
|
||||||
|
case 'ApiPort':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
remoteConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'EncryptionToken':
|
||||||
|
{
|
||||||
|
_addPasswordSetting(
|
||||||
|
remoteConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'HostNameOrIp':
|
||||||
|
{
|
||||||
|
_addStringSetting(
|
||||||
|
remoteConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
Icons.computer,
|
||||||
|
false,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'MaxConnections':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
remoteConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'ReceiveTimeoutMs':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
remoteConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'SendTimeoutMs':
|
||||||
|
{
|
||||||
|
_addIntSetting(
|
||||||
|
remoteConfigSettings,
|
||||||
|
widget.settings[key],
|
||||||
|
subKey,
|
||||||
|
subValue,
|
||||||
|
true,
|
||||||
|
validators: getSettingValidators('$key.$subKey'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user