using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Umbraco.Core.Configuration; using Umbraco.Core.IO; using Umbraco.Core.Runtime; using Umbraco.Core.WebAssets; using Umbraco.Web.BackOffice.Filters; using Umbraco.Web.Common.ActionResults; using Umbraco.Web.JavaScript; namespace Umbraco.Web.BackOffice.Controllers { public class BackOfficeController : Controller { private readonly IRuntimeMinifier _runtimeMinifier; private readonly IGlobalSettings _globalSettings; private readonly IIOHelper _ioHelper; public BackOfficeController(IRuntimeMinifier runtimeMinifier, IGlobalSettings globalSettings, IIOHelper ioHelper) { _runtimeMinifier = runtimeMinifier; _globalSettings = globalSettings; _ioHelper = ioHelper; } // GET public IActionResult Index() { return View(); } /// /// Returns the JavaScript main file including all references found in manifests /// /// [MinifyJavaScriptResult(Order = 0)] public async Task Application() { var result = await _runtimeMinifier.GetScriptForLoadingBackOfficeAsync(_globalSettings, _ioHelper); return new JavaScriptResult(result); } } }