Created static object provider + added some properties

This commit is contained in:
2024-10-05 12:18:32 +02:00
parent 66ddc22012
commit 9cf818c55d
30 changed files with 186 additions and 77 deletions

View File

@@ -0,0 +1,55 @@
using HopFrame.Database.Models;
using HopFrame.Security;
using HopFrame.Web.Admin;
using HopFrame.Web.Admin.Generators;
using HopFrame.Web.Admin.Models;
namespace HopFrame.Web;
public class HopAdminContext : AdminPagesContext {
public AdminPage<User> Users { get; set; }
public AdminPage<PermissionGroup> Groups { get; set; }
public override void OnModelCreating(IAdminContextGenerator generator) {
generator.Page<User>()
.Description("On this page you can manage all user accounts.")
.ViewPermission(AdminPermissions.ViewUsers)
.CreatePermission(AdminPermissions.AddUser)
.UpdatePermission(AdminPermissions.EditUser)
.DeletePermission(AdminPermissions.DeleteUser);
generator.Page<User>().Property(u => u.Password)
.DisplayInListing(false)
.DisplayValueWhileEditing(false);
generator.Page<User>().Property(u => u.CreatedAt)
.Editable(false);
generator.Page<User>().Property(u => u.Permissions)
.DisplayInListing(false);
generator.Page<User>().Property(u => u.Tokens)
.Ignore();
generator.Page<PermissionGroup>()
.Description("On this page you can view, create, edit and delete permission groups.")
.ViewPermission(AdminPermissions.ViewGroups)
.CreatePermission(AdminPermissions.AddGroup)
.UpdatePermission(AdminPermissions.EditGroup)
.DeletePermission(AdminPermissions.DeleteGroup);
generator.Page<PermissionGroup>().Property(g => g.Name)
.Prefix("group.");
generator.Page<PermissionGroup>().Property(g => g.IsDefaultGroup)
.Sortable(false);
generator.Page<PermissionGroup>().Property(g => g.CreatedAt)
.Editable(false);
generator.Page<PermissionGroup>().Property(g => g.Permissions)
.DisplayInListing(false);
}
}

View File

@@ -2,6 +2,7 @@ using BlazorStrap;
using CurrieTechnologies.Razor.SweetAlert2;
using HopFrame.Database;
using HopFrame.Security.Authentication;
using HopFrame.Web.Admin;
using HopFrame.Web.Services;
using HopFrame.Web.Services.Implementation;
using Microsoft.AspNetCore.Builder;
@@ -15,6 +16,7 @@ public static class ServiceCollectionExtensions {
services.AddHopFrameRepositories<TDbContext>();
services.AddScoped<IAuthService, AuthService>();
services.AddTransient<AuthMiddleware>();
services.AddAdminContext<HopAdminContext>();
// Component library's
services.AddSweetAlert2();