mirror of
				https://github.com/Theodor-Springmann-Stiftung/hamann-ausgabe-core.git
				synced 2025-10-30 17:55:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			45 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");
 | |
|     }
 | |
| } | 
