code cleanup

This commit is contained in:
2024-06-11 06:59:34 +02:00
parent ff4c352dee
commit 6fd51f4b7a
26 changed files with 444 additions and 472 deletions

View File

@@ -1,9 +1,9 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data namespace OwnChar.Data;
public interface IDataManager
{ {
public interface IDataManager
{
// Login // Login
abstract UserAccount? Login(string username, string password); abstract UserAccount? Login(string username, string password);
abstract bool Logout(UserAccount? account); abstract bool Logout(UserAccount? account);
@@ -16,5 +16,4 @@ namespace OwnChar.Data
// Group management // Group management
abstract UserProfile? GetOwner(Group group); abstract UserProfile? GetOwner(Group group);
abstract IEnumerable<UserProfile>? GetMembers(Group group); abstract IEnumerable<UserProfile>? GetMembers(Group group);
}
} }

View File

@@ -1,9 +1,9 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data namespace OwnChar.Data;
public interface IDataProvider
{ {
public interface IDataProvider
{
// General // General
abstract bool IsInitialized(); abstract bool IsInitialized();
@@ -25,5 +25,4 @@ namespace OwnChar.Data
abstract IEnumerable<UserProfile>? GetGroupMembers(Group group); abstract IEnumerable<UserProfile>? GetGroupMembers(Group group);
abstract UserProfile? GetOwner(Group group); abstract UserProfile? GetOwner(Group group);
abstract UserProfile? GetOwner(Character character); abstract UserProfile? GetOwner(Character character);
}
} }

View File

@@ -1,6 +1,5 @@
namespace OwnChar.Data.Managers namespace OwnChar.Data.Managers;
public class ClientDataManager
{ {
public class ClientDataManager
{
}
} }

View File

@@ -1,9 +1,9 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Managers namespace OwnChar.Data.Managers;
public class DefaultDataManager(IDataProvider dataProvider) : IDataManager
{ {
public class DefaultDataManager(IDataProvider dataProvider) : IDataManager
{
private const string defaultUsername = "admin"; private const string defaultUsername = "admin";
private const string defaultPassword = "admin"; private const string defaultPassword = "admin";
@@ -75,5 +75,4 @@ namespace OwnChar.Data.Managers
DataProvider.Delete(account); DataProvider.Delete(account);
return true; return true;
} }
}
} }

View File

@@ -1,12 +1,10 @@
using OwnChar.Data.Providers.JsonFile.Model; using OwnChar.Data.Providers.JsonFile.Model;
using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile namespace OwnChar.Data.Providers.JsonFile;
public class JsonFile
{ {
public class JsonFile
{
public List<JsonUserAccount> UserAccounts { get; } = []; public List<JsonUserAccount> UserAccounts { get; } = [];
public List<JsonCharacter> Characters { get; } = []; public List<JsonCharacter> Characters { get; } = [];
public List<JsonGroup> Groups { get; } = []; public List<JsonGroup> Groups { get; } = [];
}
} }

View File

@@ -1,12 +1,11 @@
using Newtonsoft.Json; using Newtonsoft.Json;
using OwnChar.Data.Providers.JsonFile.Model; using OwnChar.Data.Providers.JsonFile.Model;
using OwnChar.Model; using OwnChar.Model;
using System.Net.NetworkInformation;
namespace OwnChar.Data.Providers.JsonFile namespace OwnChar.Data.Providers.JsonFile;
public class JsonFileDataProvider : IDataProvider
{ {
public class JsonFileDataProvider : IDataProvider
{
public JsonFile JsonFile { get; protected set; } public JsonFile JsonFile { get; protected set; }
public string JsonFilePath { get; protected set; } public string JsonFilePath { get; protected set; }
@@ -77,7 +76,7 @@ namespace OwnChar.Data.Providers.JsonFile
if (!JsonFile.Groups.Contains(group)) if (!JsonFile.Groups.Contains(group))
JsonFile.Groups.Add(group); JsonFile.Groups.Add(group);
} }
else if(obj is JsonUserAccount account) else if (obj is JsonUserAccount account)
{ {
if (!JsonFile.UserAccounts.Contains(account)) if (!JsonFile.UserAccounts.Contains(account))
JsonFile.UserAccounts.Add(account); JsonFile.UserAccounts.Add(account);
@@ -217,5 +216,4 @@ namespace OwnChar.Data.Providers.JsonFile
return jcharacter.Owner; return jcharacter.Owner;
return null; return null;
} }
}
} }

View File

@@ -1,11 +1,10 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile.Model namespace OwnChar.Data.Providers.JsonFile.Model;
public class JsonCharacter : Character
{ {
public class JsonCharacter : Character
{
public virtual JsonUserProfile? Owner { get; set; } public virtual JsonUserProfile? Owner { get; set; }
public virtual List<JsonProp> Properties { get; } = []; public virtual List<JsonProp> Properties { get; } = [];
public virtual List<JsonPropCat> PropertyCategories { get; } = []; public virtual List<JsonPropCat> PropertyCategories { get; } = [];
}
} }

View File

@@ -1,11 +1,10 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile.Model namespace OwnChar.Data.Providers.JsonFile.Model;
public class JsonGroup : Group
{ {
public class JsonGroup : Group
{
public virtual JsonUserProfile? Owner { get; set; } public virtual JsonUserProfile? Owner { get; set; }
public virtual List<JsonUserProfile> Members { get; } = []; public virtual List<JsonUserProfile> Members { get; } = [];
public virtual List<JsonCharacter> Characters { get; } = []; public virtual List<JsonCharacter> Characters { get; } = [];
}
} }

View File

@@ -1,9 +1,8 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile.Model namespace OwnChar.Data.Providers.JsonFile.Model;
public class JsonProp : Property
{ {
public class JsonProp : Property
{
public virtual JsonPropCat? Category { get; set; } = null; public virtual JsonPropCat? Category { get; set; } = null;
}
} }

View File

@@ -1,8 +1,7 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile.Model namespace OwnChar.Data.Providers.JsonFile.Model;
public class JsonPropCat : PropertyCategory
{ {
public class JsonPropCat : PropertyCategory
{
}
} }

View File

@@ -2,13 +2,12 @@
using Newtonsoft.Json.Converters; using Newtonsoft.Json.Converters;
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile.Model namespace OwnChar.Data.Providers.JsonFile.Model;
public class JsonUserAccount : UserAccount
{ {
public class JsonUserAccount : UserAccount
{
public virtual JsonUserProfile? Profile { get; set; } public virtual JsonUserProfile? Profile { get; set; }
[JsonConverter(typeof(StringEnumConverter))] [JsonConverter(typeof(StringEnumConverter))]
public override UserType Type { get => base.Type; set => base.Type = value; } public override UserType Type { get => base.Type; set => base.Type = value; }
}
} }

View File

@@ -1,8 +1,7 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Data.Providers.JsonFile.Model namespace OwnChar.Data.Providers.JsonFile.Model;
public class JsonUserProfile : UserProfile
{ {
public class JsonUserProfile : UserProfile
{
}
} }

View File

@@ -1,9 +1,9 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Manager namespace OwnChar.Manager;
public class CharacterManager(OwnCharManager manager)
{ {
public class CharacterManager(OwnCharManager manager)
{
public OwnCharManager Manager { get; } = manager; public OwnCharManager Manager { get; } = manager;
public IEnumerable<Character>? GetCharacters(Group? group) public IEnumerable<Character>? GetCharacters(Group? group)
@@ -15,5 +15,4 @@ namespace OwnChar.Manager
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }
}
} }

View File

@@ -1,6 +1,5 @@
namespace OwnChar.Manager.Exceptions namespace OwnChar.Manager.Exceptions;
public class LoginException(string message) : Exception(message)
{ {
public class LoginException(string message) : Exception(message)
{
}
} }

View File

@@ -1,9 +1,9 @@
using OwnChar.Model; using OwnChar.Model;
namespace OwnChar.Manager namespace OwnChar.Manager;
public class GroupsManager(OwnCharManager manager)
{ {
public class GroupsManager(OwnCharManager manager)
{
public OwnCharManager Manager { get; } = manager; public OwnCharManager Manager { get; } = manager;
public UserProfile? GetOwner(Group? group) public UserProfile? GetOwner(Group? group)
@@ -17,5 +17,4 @@ namespace OwnChar.Manager
ArgumentNullException.ThrowIfNull(group, nameof(group)); ArgumentNullException.ThrowIfNull(group, nameof(group));
return Manager.DataManager?.GetMembers(group); return Manager.DataManager?.GetMembers(group);
} }
}
} }

View File

@@ -3,10 +3,10 @@ using OwnChar.Manager.Exceptions;
using OwnChar.Model; using OwnChar.Model;
using Pilz.Cryptography; using Pilz.Cryptography;
namespace OwnChar.Manager namespace OwnChar.Manager;
public class OwnCharManager
{ {
public class OwnCharManager
{
// User // User
public bool IsLoggedIn => CurrentUser != null; public bool IsLoggedIn => CurrentUser != null;
public UserAccount? CurrentUser { get; private set; } public UserAccount? CurrentUser { get; private set; }
@@ -56,5 +56,4 @@ namespace OwnChar.Manager
{ {
return DataManager?.Logout(CurrentUser) ?? true; return DataManager?.Logout(CurrentUser) ?? true;
} }
}
} }

View File

@@ -1,10 +1,10 @@
using OwnChar.Model; using OwnChar.Model;
using Pilz.Cryptography; using Pilz.Cryptography;
namespace OwnChar.Manager namespace OwnChar.Manager;
public class UserManager(OwnCharManager manager)
{ {
public class UserManager(OwnCharManager manager)
{
public OwnCharManager Manager { get; } = manager; public OwnCharManager Manager { get; } = manager;
public UserProfile? GetOwnUserProfile() public UserProfile? GetOwnUserProfile()
@@ -26,5 +26,4 @@ namespace OwnChar.Manager
ArgumentNullException.ThrowIfNull(account, nameof(account)); ArgumentNullException.ThrowIfNull(account, nameof(account));
return Manager.DataManager?.DeleteUserAccount(account) ?? false; return Manager.DataManager?.DeleteUserAccount(account) ?? false;
} }
}
} }

View File

@@ -1,7 +1,6 @@
namespace OwnChar.Model namespace OwnChar.Model;
public abstract class Character : IOwnCharObject
{ {
public abstract class Character : IOwnCharObject
{
public virtual string? Name { get; set; } public virtual string? Name { get; set; }
}
} }

View File

@@ -1,8 +1,7 @@
namespace OwnChar.Model namespace OwnChar.Model;
public abstract class Group : IOwnCharObject
{ {
public abstract class Group : IOwnCharObject
{
public virtual string? Name { get; set; } public virtual string? Name { get; set; }
public virtual bool IsInternal { get; set; } public virtual bool IsInternal { get; set; }
}
} }

View File

@@ -1,6 +1,5 @@
namespace OwnChar.Model namespace OwnChar.Model;
public interface IOwnCharObject
{ {
public interface IOwnCharObject
{
}
} }

View File

@@ -1,8 +1,7 @@
namespace OwnChar.Model namespace OwnChar.Model;
public abstract class Property : IOwnCharObject
{ {
public abstract class Property : IOwnCharObject
{
public virtual string? Name { get; set; } public virtual string? Name { get; set; }
public virtual object? Value { get; set; } public virtual object? Value { get; set; }
}
} }

View File

@@ -1,7 +1,6 @@
namespace OwnChar.Model namespace OwnChar.Model;
public abstract class PropertyCategory : IOwnCharObject
{ {
public abstract class PropertyCategory : IOwnCharObject
{
public virtual string? Name { get; set; } public virtual string? Name { get; set; }
}
} }

View File

@@ -1,10 +1,9 @@
namespace OwnChar.Model namespace OwnChar.Model;
public abstract class UserAccount : IOwnCharObject
{ {
public abstract class UserAccount : IOwnCharObject
{
public virtual string? Username { get; set; } public virtual string? Username { get; set; }
public virtual string? Password { get; set; } public virtual string? Password { get; set; }
public virtual string? Email { get; set; } public virtual string? Email { get; set; }
public virtual UserType Type { get; set; } public virtual UserType Type { get; set; }
}
} }

View File

@@ -1,7 +1,6 @@
namespace OwnChar.Model namespace OwnChar.Model;
public abstract class UserProfile : IOwnCharObject
{ {
public abstract class UserProfile : IOwnCharObject
{
public virtual string? Name { get; set; } public virtual string? Name { get; set; }
}
} }

View File

@@ -1,9 +1,8 @@
namespace OwnChar.Model namespace OwnChar.Model;
public enum UserType
{ {
public enum UserType
{
Guest, Guest,
User, User,
Admin Admin
}
} }

View File

@@ -1,13 +1,12 @@
using Pilz.Cryptography; using Pilz.Cryptography;
namespace OwnChar namespace OwnChar;
public static class Utils
{ {
public static class Utils
{
public static string HashPassword(string username, SecureString password) public static string HashPassword(string username, SecureString password)
{ {
// TODO: Implement a good hasing algorythmus (like MD5) BEFORE going productive! // TODO: Implement a good hasing algorythmus (like MD5) BEFORE going productive!
return (username + ":" + password).GetHashCode().ToString(); return (username + ":" + password).GetHashCode().ToString();
} }
}
} }