Created AdminContext handling

This commit is contained in:
2024-09-30 19:01:39 +02:00
parent 672f0fd2c3
commit 66ddc22012
33 changed files with 582 additions and 7 deletions

View File

@@ -0,0 +1,26 @@
using System.ComponentModel;
using HopFrame.Database.Models;
using HopFrame.Web.Admin;
using HopFrame.Web.Admin.Generators;
using HopFrame.Web.Admin.Models;
namespace RestApiTest;
public class AdminContext : AdminPagesContext {
public AdminPage<User> Users { get; set; }
public AdminPage<PermissionGroup> Groups { get; set; }
public override void OnModelCreating(IAdminContextGenerator generator) {
/*generator.Page<User>()
.Title("Users")
.Description("On this page you can manage all user accounts.")
.UpdatePermission("update")
.ViewPermission("view")
.DeletePermission("delete")
.CreatePermission("create")
.DefaultSort(u => u.Id, ListSortDirection.Descending);*/
}
}

View File

@@ -10,7 +10,7 @@ namespace RestApiTest.Controllers;
[ApiController]
[Route("test")]
public class TestController(ITokenContext userContext, DatabaseContext context) : ControllerBase {
public class TestController(ITokenContext userContext, DatabaseContext context, AdminContext adminContext) : ControllerBase {
[HttpGet("permissions"), Authorized]
public ActionResult<IList<Permission>> Permissions() {
@@ -50,5 +50,10 @@ public class TestController(ITokenContext userContext, DatabaseContext context)
public async Task<ActionResult<IList<Address>>> GetAddresses() {
return LogicResult<IList<Address>>.Ok(await context.Addresses.Include(e => e.Employee).ToListAsync());
}
[HttpGet("adminContext")]
public ActionResult<AdminContext> GetAdminContext() {
return LogicResult<AdminContext>.Ok(adminContext);
}
}

View File

@@ -1,5 +1,6 @@
using RestApiTest;
using HopFrame.Api.Extensions;
using HopFrame.Web.Admin;
using Microsoft.OpenApi.Models;
var builder = WebApplication.CreateBuilder(args);
@@ -13,6 +14,7 @@ builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddDbContext<DatabaseContext>();
builder.Services.AddAdminContext<AdminContext>();
builder.Services.AddSwaggerGen(c => {
c.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme {