Properly organize mod panel related pages

This commit is contained in:
jvyden 2022-08-14 17:02:18 -04:00
parent e962c2dee4
commit 5b1342c29d
No known key found for this signature in database
GPG key ID: 18BCF2BE0262B278
10 changed files with 10 additions and 13 deletions

View file

@ -0,0 +1,37 @@
using LBPUnion.ProjectLighthouse.Administration;
using LBPUnion.ProjectLighthouse.Helpers;
using LBPUnion.ProjectLighthouse.PlayerData.Profiles;
using LBPUnion.ProjectLighthouse.Servers.Website.Pages.Layouts;
using Microsoft.AspNetCore.Mvc;
namespace LBPUnion.ProjectLighthouse.Servers.Website.Pages.Moderation;
public class ModPanelPage : BaseLayout
{
public ModPanelPage(Database database) : base(database)
{}
public List<AdminPanelStatistic> Statistics = new();
public async Task<IActionResult> OnGet()
{
User? user = this.Database.UserFromWebRequest(this.Request);
if (user == null) return this.Redirect("~/login");
if (!user.IsModerator) return this.NotFound();
this.Statistics.Add(new AdminPanelStatistic(
statisticNamePlural: "Reports",
count: await StatisticsHelper.ReportCount(),
viewAllEndpoint: "/moderation/reports/0")
);
this.Statistics.Add(new AdminPanelStatistic(
statisticNamePlural: "Cases",
count: await StatisticsHelper.DismissedCaseCount(),
viewAllEndpoint: "/moderation/cases/0",
secondStatistic: await StatisticsHelper.CaseCount())
);
return this.Page();
}
}