Files
hamann-ausgabe-core/HaWeb/Controllers/XMLStateController.cs
Simon Martens 904b4835ee Tippfehler CMIF
2024-12-20 11:58:33 +01:00

46 lines
1.6 KiB
C#

namespace HaWeb.Controllers;
using Microsoft.AspNetCore.Mvc;
using Microsoft.FeatureManagement.Mvc;
using HaWeb.Filters;
using HaWeb.XMLParser;
using HaWeb.Models;
using HaWeb.FileHelpers;
using HaWeb.BackgroundTask;
[FeatureGate(Features.AdminService)]
public class XMLStateController : Controller {
// DI
private IHaDocumentWrappper _lib;
private readonly IXMLInteractionService _xmlService;
private readonly IXMLFileProvider _xmlProvider;
public XMLStateController(IHaDocumentWrappper lib, IXMLInteractionService xmlService, IXMLFileProvider xmlProvider) {
_lib = lib;
_xmlService = xmlService;
_xmlProvider = xmlProvider;
}
[HttpGet]
[Route("Admin/XMLState/")]
[FeatureGate(Features.AdminService)]
[GenerateAntiforgeryTokenCookie]
public IActionResult Index() {
var library = _lib.GetLibrary();
var hF = _xmlProvider.GetHamannFiles()?.OrderByDescending(x => x.LastModified).ToList();
var mF = _xmlService.GetState() == null ? null : _xmlService.GetState()!.ManagedFiles;
var gD = _xmlProvider.GetGitState();
var activeF = _lib.GetActiveFile();
var vS = _xmlService.GetState() == null ? false : _xmlService.GetState()!.ValidState;
var model = new XMLStateViewModel("Dateiübersicht", gD, hF, mF, vS) {
ActiveFile = activeF,
SyntaxCheck = _xmlService.GetSCCache(),
};
return View("~/Views/Admin/Dynamic/XMLState.cshtml", model);
}
private IActionResult error404() {
Response.StatusCode = 404;
return Redirect("/Error404");
}
}