added postgresql integration for user permissions
This commit is contained in:
@@ -6,13 +6,13 @@ namespace UserPermissionTest_CS_WinForms
|
||||
{
|
||||
public static class SessionManager
|
||||
{
|
||||
private static readonly IUserRepository UserRepository = new JsonUserRepository();
|
||||
private static readonly IUserRepository UserRepository = new PostgreSqlUserRepository("Host=127.0.0.1;Port=5432;Database=postgres;Username=postgres;Password=postgres");
|
||||
|
||||
public static User? CurrentUser { get; private set; }
|
||||
|
||||
public static List<User> Users { get; private set; } = new List<User>();
|
||||
|
||||
public static List<string> AvailablePermissions { get; private set; } = new List<string>();
|
||||
public static List<Permission> AvailablePermissions { get; private set; } = new List<Permission>();
|
||||
|
||||
public static event Action? SessionStateChanged;
|
||||
public static event Action? UsersUpdated;
|
||||
@@ -88,11 +88,13 @@ namespace UserPermissionTest_CS_WinForms
|
||||
}
|
||||
}
|
||||
|
||||
public static void AddPermission(string permission)
|
||||
public static void AddPermission(string permissionName)
|
||||
{
|
||||
if (!AvailablePermissions.Contains(permission))
|
||||
if (!AvailablePermissions.Any(p => p.Name.Equals(permissionName, StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
AvailablePermissions.Add(permission);
|
||||
int newId = AvailablePermissions.Count > 0 ? AvailablePermissions.Max(p => p.Id) + 1 : 1;
|
||||
var newPerm = new Permission { Id = newId, Name = permissionName };
|
||||
AvailablePermissions.Add(newPerm);
|
||||
UserRepository.SavePermissions(AvailablePermissions);
|
||||
UsersUpdated?.Invoke();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user