Skip to content

Commit

Permalink
formal changes
Browse files Browse the repository at this point in the history
  • Loading branch information
abarz722 committed May 28, 2024
1 parent c9d6f35 commit f0794a5
Show file tree
Hide file tree
Showing 13 changed files with 79 additions and 77 deletions.
4 changes: 2 additions & 2 deletions roles/lib/files/FWO.Config.Api/Config.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ public abstract class Config : ConfigData

public event Action<Config, ConfigItem[]>? OnChange;

protected SemaphoreSlim semaphoreSlim = new SemaphoreSlim(1, 1);
protected SemaphoreSlim semaphoreSlim = new(1, 1);

public ConfigItem[] RawConfigItems { get; set; }
public ConfigItem[] RawConfigItems { get; set; } = [];

protected Config() { }

Expand Down
31 changes: 16 additions & 15 deletions roles/lib/files/FWO.Config.Api/GlobalConfig.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using FWO.Logging;
using FWO.Config.File;
using FWO.GlobalConstants;
using FWO.Api.Client;
using FWO.Config.Api.Data;
using FWO.Api.Client.Queries;
Expand All @@ -14,10 +15,10 @@ public class GlobalConfig : Config
/// <summary>
/// Global config constants
/// </summary>
public string productVersion { get; set; }
public Language[] uiLanguages { get; set; }
public Dictionary<string, Dictionary<string, string>> langDict { get; set; }
public Dictionary<string, Dictionary<string, string>> overDict { get; set; }
public string ProductVersion { get; set; }
public Language[] UiLanguages { get; set; }
public Dictionary<string, Dictionary<string, string>> LangDict { get; set; }
public Dictionary<string, Dictionary<string, string>> OverDict { get; set; }


/// <summary>
Expand All @@ -33,9 +34,9 @@ public static async Task<GlobalConfig> ConstructAsync(ApiConnection apiConnectio
{
string productVersion = ConfigFile.ProductVersion;

Language[] uiLanguages = Array.Empty<Language>();
Dictionary<string, Dictionary<string, string>> tmpLangDicts = new();
Dictionary<string, Dictionary<string, string>> tmpLangOverDicts = new();
Language[] uiLanguages = [];
Dictionary<string, Dictionary<string, string>> tmpLangDicts = [];
Dictionary<string, Dictionary<string, string>> tmpLangOverDicts = [];

if (loadLanguageData)
{
Expand Down Expand Up @@ -72,25 +73,25 @@ private GlobalConfig(ApiConnection apiConnection, string productVersion, Languag
Dictionary<string, Dictionary<string, string>> langDict, Dictionary<string, Dictionary<string, string>> overDict)
: base(apiConnection, 0)
{
this.productVersion = productVersion;
this.uiLanguages = uiLanguages;
this.langDict = langDict;
this.overDict = overDict;
ProductVersion = productVersion;
UiLanguages = uiLanguages;
LangDict = langDict;
OverDict = overDict;
}

public override string GetText(string key)
{
if(langDict.ContainsKey(DefaultLanguage) && langDict[DefaultLanguage].ContainsKey(key))
if(LangDict.TryGetValue(DefaultLanguage, out Dictionary<string, string>? langDict) && langDict.TryGetValue(key, out string? value))
{
return System.Web.HttpUtility.HtmlDecode(langDict[DefaultLanguage][key]);
return System.Web.HttpUtility.HtmlDecode(value);
}
return "(undefined text)";
return GlobalConst.kUndefinedText;
}

private static async Task<Dictionary<string, string>> LoadLangDict(Language lang, ApiConnection apiConnection, bool over = false)
{
var languageVariable = new { language = lang.Name };
Dictionary<string, string> dict = new();
Dictionary<string, string> dict = [];
List<UiText> uiTexts = await apiConnection.SendQueryAsync<List<UiText>>(over ? ConfigQueries.getCustomTextsPerLanguage : ConfigQueries.getTextsPerLanguage, languageVariable);
foreach (UiText text in uiTexts)
{
Expand Down
47 changes: 24 additions & 23 deletions roles/lib/files/FWO.Config.Api/UserConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
using FWO.Logging;
using FWO.Config.Api.Data;
using FWO.Api.Client;
using FWO.GlobalConstants;
using FWO.Api.Data;
using FWO.Api.Client.Queries;
using System.Reflection;
Expand All @@ -19,7 +18,7 @@ public class UserConfig : Config
private readonly GlobalConfig globalConfig;

public Dictionary<string, string> Translate { get; set; }
public Dictionary<string, string> Overwrite { get; set; } = new();
public Dictionary<string, string> Overwrite { get; set; } = [];

public UiUser User { private set; get; }

Expand All @@ -38,16 +37,16 @@ public static async Task<UserConfig> ConstructAsync(GlobalConfig globalConfig, A
public UserConfig(GlobalConfig globalConfig, ApiConnection apiConnection, UiUser user) : base(apiConnection, user.DbId)
{
User = user;
Translate = globalConfig.langDict[user.Language!];
Overwrite = apiConnection != null ? Task.Run(async () => await GetCustomDict(user.Language!)).Result : globalConfig.overDict[user.Language!];
Translate = globalConfig.LangDict[user.Language!];
Overwrite = apiConnection != null ? Task.Run(async () => await GetCustomDict(user.Language!)).Result : globalConfig.OverDict[user.Language!];
this.globalConfig = globalConfig;
globalConfig.OnChange += GlobalConfigOnChange;
}

public UserConfig(GlobalConfig globalConfig) : base()
{
User = new UiUser();
Translate = globalConfig.langDict[globalConfig.DefaultLanguage];
Translate = globalConfig.LangDict[globalConfig.DefaultLanguage];
this.globalConfig = globalConfig;
globalConfig.OnChange += GlobalConfigOnChange;
}
Expand Down Expand Up @@ -76,7 +75,9 @@ public async Task SetUserInformation(string userDn, ApiConnection apiConnection)
Log.WriteDebug("Get User Data", $"Get user data from user with DN: \"{userDn}\"");
UiUser[]? users = await apiConnection.SendQueryAsync<UiUser[]>(AuthQueries.getUserByDn, new { dn = userDn });
if (users.Length > 0)
{
User = users[0];
}
await SetUserId(apiConnection, User.DbId);

if (User.Language == null)
Expand All @@ -89,8 +90,8 @@ public async Task SetUserInformation(string userDn, ApiConnection apiConnection)
public async Task ChangeLanguage(string languageName, ApiConnection apiConnection)
{
await apiConnection.SendQueryAsync<ReturnId>(AuthQueries.updateUserLanguage, new { id = User.DbId, language = languageName });
Translate = globalConfig.langDict[languageName];
Overwrite = apiConnection != null ? await GetCustomDict(languageName): globalConfig.overDict[languageName];
Translate = globalConfig.LangDict[languageName];
Overwrite = apiConnection != null ? await GetCustomDict(languageName): globalConfig.OverDict[languageName];
User.Language = languageName;
InvokeOnChange(this, null);
}
Expand All @@ -107,22 +108,22 @@ public void SetLanguage(string languageName)
{
User.Language = languageName;
}
if (globalConfig.langDict.ContainsKey(User.Language))
if (globalConfig.LangDict.TryGetValue(User.Language, out Dictionary<string, string>? langDict))
{
Translate = globalConfig.langDict[User.Language];
Overwrite = globalConfig.overDict[User.Language];
Translate = langDict;
Overwrite = globalConfig.OverDict[User.Language];
}
}

public override string GetText(string key)
{
if (Overwrite != null && Overwrite.ContainsKey(key))
if (Overwrite != null && Overwrite.TryGetValue(key, out string? overwriteValue))
{
return Convert(Overwrite[key]);
return Convert(overwriteValue);
}
if (Translate != null && Translate.ContainsKey(key))
if (Translate != null && Translate.TryGetValue(key, out string? translateValue))
{
return Convert(Translate[key]);
return Convert(translateValue);
}
else
{
Expand All @@ -131,17 +132,17 @@ public override string GetText(string key)
{
defaultLanguage = GlobalConst.kEnglish;
}
if (globalConfig.langDict[defaultLanguage].ContainsKey(key))
if (globalConfig.LangDict[defaultLanguage].TryGetValue(key, out string? defaultLangValue))
{
return Convert(globalConfig.langDict[defaultLanguage][key]);
return Convert(defaultLangValue);
}
else if (defaultLanguage != GlobalConst.kEnglish && globalConfig.langDict[GlobalConst.kEnglish].ContainsKey(key))
else if (defaultLanguage != GlobalConst.kEnglish && globalConfig.LangDict[GlobalConst.kEnglish].TryGetValue(key, out string? englValue))
{
return Convert(globalConfig.langDict[GlobalConst.kEnglish][key]);
return Convert(englValue);
}
else
{
return "(undefined text)";
return GlobalConst.kUndefinedText;
}
}
}
Expand Down Expand Up @@ -171,7 +172,7 @@ public string GetApiText(string key)
if (m.Success)
{
string msg = GetText(key.Substring(0, 5));
if (msg != "(undefined text)")
if (msg != GlobalConst.kUndefinedText)
{
text = msg;
}
Expand All @@ -181,7 +182,7 @@ public string GetApiText(string key)

public async Task<Dictionary<string, string>> GetCustomDict(string languageName)
{
Dictionary<string, string> dict = new();
Dictionary<string, string> dict = [];
try
{
List<UiText> uiTexts = await apiConnection.SendQueryAsync<List<UiText>>(ConfigQueries.getCustomTextsPerLanguage, new { language = languageName });
Expand Down Expand Up @@ -212,7 +213,7 @@ private static string RemoveLinks(string txtString)
begin = txtString.IndexOf(startLink, index);
if (begin >= 0)
{
end = txtString.IndexOf(">", begin + startLink.Length);
end = txtString.IndexOf('>', begin + startLink.Length);
if (end > 0)
{
txtString = txtString.Remove(begin, end - begin + 1);
Expand Down Expand Up @@ -262,7 +263,7 @@ private string Convert(string rawText)
begin = plainText.IndexOf(startLink, index);
if (begin >= 0)
{
end = plainText.IndexOf("\"", begin + startLink.Length);
end = plainText.IndexOf('"', begin + startLink.Length);
if (end > 0)
{
plainText = plainText.Insert(end, insertString);
Expand Down
1 change: 1 addition & 0 deletions roles/lib/files/FWO.GlobalConstants/GlobalConstants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public struct GlobalConst
public const string kLdapInternalPostfix = "dc=" + kFwoProdName + ",dc=internal";

public const string kDummyAppRole = "DummyAppRole";
public const string kUndefinedText = "(undefined text)";
}

public struct ObjectType
Expand Down
29 changes: 14 additions & 15 deletions roles/lib/files/FWO.Report/Data/ManagementReport.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
using Newtonsoft.Json;
using System.Text.Json.Serialization;
using FWO.GlobalConstants;
using FWO.Api.Data;

namespace FWO.Report
Expand All @@ -14,47 +13,47 @@ public class ManagementReport
public string Name { get; set; } = "";

[JsonProperty("devices"), JsonPropertyName("devices")]
public DeviceReport[] Devices { get; set; } = Array.Empty<DeviceReport>();
public DeviceReport[] Devices { get; set; } = [];

[JsonProperty("import"), JsonPropertyName("import")]
public Import Import { get; set; } = new Import();
public Import Import { get; set; } = new ();

public long? RelevantImportId { get; set; }

[JsonProperty("networkObjects"), JsonPropertyName("networkObjects")]
public NetworkObject[] Objects { get; set; } = Array.Empty<NetworkObject>();
public NetworkObject[] Objects { get; set; } = [];

[JsonProperty("serviceObjects"), JsonPropertyName("serviceObjects")]
public NetworkService[] Services { get; set; } = Array.Empty<NetworkService>();
public NetworkService[] Services { get; set; } = [];

[JsonProperty("userObjects"), JsonPropertyName("userObjects")]
public NetworkUser[] Users { get; set; } = Array.Empty<NetworkUser>();
public NetworkUser[] Users { get; set; } = [];

[JsonProperty("reportNetworkObjects"), JsonPropertyName("reportNetworkObjects")]
public NetworkObject[] ReportObjects { get; set; } = Array.Empty<NetworkObject>();
public NetworkObject[] ReportObjects { get; set; } = [];

[JsonProperty("reportServiceObjects"), JsonPropertyName("reportServiceObjects")]
public NetworkService[] ReportServices { get; set; } = Array.Empty<NetworkService>();
public NetworkService[] ReportServices { get; set; } = [];

[JsonProperty("reportUserObjects"), JsonPropertyName("reportUserObjects")]
public NetworkUser[] ReportUsers { get; set; } = Array.Empty<NetworkUser>();
public NetworkUser[] ReportUsers { get; set; } = [];


//[JsonProperty("rule_id"), JsonPropertyName("rule_id")]
public List<long> ReportedRuleIds { get; set; } = new List<long>();
public List<long> ReportedNetworkServiceIds { get; set; } = new List<long>();
public List<long> ReportedRuleIds { get; set; } = [];
public List<long> ReportedNetworkServiceIds { get; set; } = [];

[JsonProperty("objects_aggregate"), JsonPropertyName("objects_aggregate")]
public ObjectStatistics NetworkObjectStatistics { get; set; } = new ObjectStatistics();
public ObjectStatistics NetworkObjectStatistics { get; set; } = new ();

[JsonProperty("services_aggregate"), JsonPropertyName("services_aggregate")]
public ObjectStatistics ServiceObjectStatistics { get; set; } = new ObjectStatistics();
public ObjectStatistics ServiceObjectStatistics { get; set; } = new ();

[JsonProperty("usrs_aggregate"), JsonPropertyName("usrs_aggregate")]
public ObjectStatistics UserObjectStatistics { get; set; } = new ObjectStatistics();
public ObjectStatistics UserObjectStatistics { get; set; } = new ();

[JsonProperty("rules_aggregate"), JsonPropertyName("rules_aggregate")]
public ObjectStatistics RuleStatistics { get; set; } = new ObjectStatistics();
public ObjectStatistics RuleStatistics { get; set; } = new ();

public bool Ignore { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<div class="form-group row" data-toggle="tooltip" title="@(userConfig.PureLine("H5702"))">
<label class="col-form-label col-sm-1">@(userConfig.GetText("language")):</label>
<div class="col-sm-4">
<Dropdown ElementType="Language" ElementToString="@(l => userConfig.GetText(l.Name))" @bind-SelectedElement="selectedLanguage" Elements="globalConfig.uiLanguages">
<Dropdown ElementType="Language" ElementToString="@(l => userConfig.GetText(l.Name))" @bind-SelectedElement="selectedLanguage" Elements="globalConfig.UiLanguages">
<ElementTemplate Context="language">
@(userConfig.GetText(language.Name))
</ElementTemplate>
Expand Down Expand Up @@ -106,7 +106,7 @@

protected override void OnInitialized()
{
selectedLanguage = globalConfig.uiLanguages.FirstOrDefault() ?? new Language();
selectedLanguage = globalConfig.UiLanguages.FirstOrDefault() ?? new Language();
}

private async Task LoadDicts(Language lang)
Expand Down
4 changes: 2 additions & 2 deletions roles/ui/files/FWO.UI/Pages/Settings/SettingsDefaults.razor
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<div class="form-group row" data-toggle="tooltip" title="@(userConfig.PureLine("H5411"))">
<label class="col-form-label col-sm-4">@(userConfig.GetText("default_language"))*:</label>
<div class="col-sm-2">
<Dropdown ElementType="Language" ElementToString="@(l => userConfig.GetText(l.Name))" @bind-SelectedElement="selectedLanguage" Elements="globalConfig.uiLanguages">
<Dropdown ElementType="Language" ElementToString="@(l => userConfig.GetText(l.Name))" @bind-SelectedElement="selectedLanguage" Elements="globalConfig.UiLanguages">
<ElementTemplate Context="language">
@(userConfig.GetText(language.Name))
</ElementTemplate>
Expand Down Expand Up @@ -200,7 +200,7 @@ else
try
{
configData = await globalConfig.GetEditableConfig();
selectedLanguage = globalConfig.uiLanguages.FirstOrDefault(l => l.Name == configData.DefaultLanguage) ?? new Language();
selectedLanguage = globalConfig.UiLanguages.FirstOrDefault(l => l.Name == configData.DefaultLanguage) ?? new Language();
startDate = startTime = configData.AutoDiscoverStartAt;
}
catch (Exception exception)
Expand Down
2 changes: 1 addition & 1 deletion roles/ui/files/FWO.UI/Pages/Settings/SettingsImport.razor
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ else
try
{
configData = await globalConfig.GetEditableConfig();
selectedLanguage = globalConfig.uiLanguages.FirstOrDefault(l => l.Name == configData.DefaultLanguage) ?? new Language();
selectedLanguage = globalConfig.UiLanguages.FirstOrDefault(l => l.Name == configData.DefaultLanguage) ?? new Language();
selectedImpChgNotType = (ImpChangeNotificationType)configData.ImpChangeNotifyType;
startDate = startTime = configData.ImpChangeNotifyStartAt;
}
Expand Down
4 changes: 2 additions & 2 deletions roles/ui/files/FWO.UI/Pages/Settings/SettingsLanguage.razor
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<div class="form-group row">
<label class="col-form-label col-sm-2">@(userConfig.GetText("language"))</label>
<div class="col-sm-4">
<Dropdown ElementType="Language" ElementToString="@(l => userConfig.GetText(l.Name))" @bind-SelectedElement="selectedLanguage" Elements="globalConfig.uiLanguages">
<Dropdown ElementType="Language" ElementToString="@(l => userConfig.GetText(l.Name))" @bind-SelectedElement="selectedLanguage" Elements="globalConfig.UiLanguages">
<ElementTemplate Context="language">
@(userConfig.GetText(language.Name))
</ElementTemplate>
Expand All @@ -37,7 +37,7 @@
protected override void OnInitialized()
{
selectedLanguage = globalConfig.uiLanguages.FirstOrDefault(l => l.Name == userConfig.User.Language) ?? new Language();
selectedLanguage = globalConfig.UiLanguages.FirstOrDefault(l => l.Name == userConfig.User.Language) ?? new Language();
StateHasChanged();
}

Expand Down
Loading

0 comments on commit f0794a5

Please sign in to comment.