diff --git a/src/Umbraco.Cms.Api.Management/Routing/BackOfficeAreaRoutes.cs b/src/Umbraco.Cms.Api.Management/Routing/BackOfficeAreaRoutes.cs index a854be29f0..a12e1acb2e 100644 --- a/src/Umbraco.Cms.Api.Management/Routing/BackOfficeAreaRoutes.cs +++ b/src/Umbraco.Cms.Api.Management/Routing/BackOfficeAreaRoutes.cs @@ -7,8 +7,6 @@ using Umbraco.Cms.Core; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Hosting; using Umbraco.Cms.Core.Services; -using Umbraco.Cms.Core.Web.Mvc; -using Umbraco.Cms.Web.Common.Controllers; using Umbraco.Cms.Web.Common.Routing; using Umbraco.Extensions; @@ -54,8 +52,8 @@ public sealed class BackOfficeAreaRoutes : IAreaRoutes case RuntimeLevel.Install: case RuntimeLevel.Upgrade: case RuntimeLevel.Run: - MapMinimalBackOffice(endpoints); + endpoints.MapHub(_umbracoPathSegment + Constants.Web.BackofficeSignalRHub); break; case RuntimeLevel.BootFailed: case RuntimeLevel.Unknown: diff --git a/src/Umbraco.Cms.Api.Management/Routing/BackofficeHub.cs b/src/Umbraco.Cms.Api.Management/Routing/BackofficeHub.cs new file mode 100644 index 0000000000..47a2471a4b --- /dev/null +++ b/src/Umbraco.Cms.Api.Management/Routing/BackofficeHub.cs @@ -0,0 +1,8 @@ +using Microsoft.AspNetCore.SignalR; + +namespace Umbraco.Cms.Api.Management.Routing; + +public class BackofficeHub : Hub +{ + public async Task SendPayload(object payload) => await Clients.All.SendAsync("payloadReceived", payload); +} diff --git a/src/Umbraco.Core/Constants-Web.cs b/src/Umbraco.Core/Constants-Web.cs index 283ec6eaa3..65b460ba69 100644 --- a/src/Umbraco.Core/Constants-Web.cs +++ b/src/Umbraco.Core/Constants-Web.cs @@ -56,6 +56,7 @@ public static partial class Constants /// The "base" path to the Management API /// public const string ManagementApiPath = "/management/api/"; + public const string BackofficeSignalRHub = "/backofficeHub"; public static class Routing { diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs index c444e591ab..e1a0638fc6 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Web.Common/Routing/BackOfficeAreaRoutesTests.cs @@ -45,7 +45,7 @@ public class BackOfficeAreaRoutesTests var endpoints = new TestRouteBuilder(); routes.CreateRoutes(endpoints); - Assert.AreEqual(1, endpoints.DataSources.Count); + Assert.AreEqual(2, endpoints.DataSources.Count); var route = endpoints.DataSources.First(); Assert.AreEqual(2, route.Endpoints.Count);