From 2a4c974568bbd08dda8639e253db10df84302f10 Mon Sep 17 00:00:00 2001 From: Paul Johnson Date: Fri, 14 Jan 2022 10:57:31 +0000 Subject: [PATCH] Move services infra -> core --- .../DependencyInjection/UmbracoBuilder.cs | 38 ++++++++++++++++++- .../IEntityContainerRepository.cs | 10 ++++- .../Repositories/IUserRepository.cs | 2 + .../Services}/ConsentService.cs | 2 +- .../Services}/ContentService.cs | 3 +- .../ContentTypeBaseServiceProvider.cs | 2 +- .../Services}/ContentTypeService.cs | 3 +- .../Services}/ContentTypeServiceBase.cs | 2 +- ...peServiceBaseOfTRepositoryTItemTService.cs | 7 ++-- .../Services}/ContentVersionService.cs | 2 +- .../DefaultContentVersionCleanupPolicy.cs | 3 +- .../Services}/DomainService.cs | 2 +- .../Services}/EntityService.cs | 5 +-- .../Services}/EntityXmlSerializer.cs | 2 +- .../Services}/ExternalLoginService.cs | 2 +- .../Services}/FileService.cs | 2 +- .../Services}/KeyValueService.cs | 2 +- .../Services}/LocalizationService.cs | 2 +- .../Services}/LocalizedTextService.cs | 2 +- .../LocalizedTextServiceFileSources.cs | 2 +- ...lizedTextServiceSupplementaryFileSource.cs | 2 +- .../Services}/MacroService.cs | 2 +- .../Services}/MediaService.cs | 3 +- .../Services}/MediaTypeService.cs | 2 +- .../Services}/MemberGroupService.cs | 2 +- .../Services}/MemberService.cs | 3 +- .../Services}/MemberTypeService.cs | 2 +- .../Services}/NotificationService.cs | 2 +- .../Services}/PropertyValidationService.cs | 2 +- .../Services}/PublicAccessService.cs | 2 +- .../Services}/RedirectUrlService.cs | 2 +- .../Services}/RelationService.cs | 2 +- .../Services}/RepositoryService.cs | 2 +- .../Services}/TagService.cs | 2 +- .../Services}/UserService.cs | 6 +-- .../UmbracoBuilder.Services.cs | 35 ----------------- .../Repositories/Implement/UserRepository.cs | 2 +- .../Services/Implement/DataTypeService.cs | 5 +-- .../DefaultContentVersionCleanupPolicyTest.cs | 2 +- .../Services/AmbiguousEventTests.cs | 1 + .../Services/LocalizedTextServiceTests.cs | 1 + 41 files changed, 88 insertions(+), 89 deletions(-) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ConsentService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ContentService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ContentTypeBaseServiceProvider.cs (97%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ContentTypeService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ContentTypeServiceBase.cs (89%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ContentTypeServiceBaseOfTRepositoryTItemTService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ContentVersionService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/DefaultContentVersionCleanupPolicy.cs (97%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/DomainService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/EntityService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/EntityXmlSerializer.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/ExternalLoginService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/FileService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/KeyValueService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/LocalizationService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/LocalizedTextService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/LocalizedTextServiceFileSources.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/LocalizedTextServiceSupplementaryFileSource.cs (91%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/MacroService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/MediaService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/MediaTypeService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/MemberGroupService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/MemberService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/MemberTypeService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/NotificationService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/PropertyValidationService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/PublicAccessService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/RedirectUrlService.cs (98%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/RelationService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/RepositoryService.cs (95%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/TagService.cs (99%) rename src/{Umbraco.Infrastructure/Services/Implement => Umbraco.Core/Services}/UserService.cs (99%) diff --git a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs index eacd615830..30494b2761 100644 --- a/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs +++ b/src/Umbraco.Core/DependencyInjection/UmbracoBuilder.cs @@ -28,6 +28,7 @@ using Umbraco.Cms.Core.Mail; using Umbraco.Cms.Core.Manifest; using Umbraco.Cms.Core.Models.PublishedContent; using Umbraco.Cms.Core.Notifications; +using Umbraco.Cms.Core.Packaging; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Cms.Core.PublishedCache; using Umbraco.Cms.Core.PublishedCache.Internal; @@ -240,7 +241,7 @@ namespace Umbraco.Cms.Core.DependencyInjection GlobalSettings globalSettings = f.GetRequiredService>().Value; var singleServer = globalSettings.DisableElectionForSingleServer; return singleServer - ? (IServerRoleAccessor)new SingleServerRoleAccessor() + ? new SingleServerRoleAccessor() : new ElectedServerRoleAccessor(f.GetRequiredService()); }); @@ -263,6 +264,41 @@ namespace Umbraco.Cms.Core.DependencyInjection // Register telemetry service used to gather data about installed packages Services.AddUnique(); + + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + Services.AddUnique(); + + Services.AddUnique(factory => new LocalizedTextService( + factory.GetRequiredService>(), + factory.GetRequiredService>())); + + Services.AddUnique(); + + Services.AddSingleton(); + Services.AddSingleton(); } } } diff --git a/src/Umbraco.Core/Persistence/Repositories/IEntityContainerRepository.cs b/src/Umbraco.Core/Persistence/Repositories/IEntityContainerRepository.cs index 9b76a8f965..36a07c2fe9 100644 --- a/src/Umbraco.Core/Persistence/Repositories/IEntityContainerRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/IEntityContainerRepository.cs @@ -1,7 +1,13 @@ -using Umbraco.Cms.Core.Models; +using System; +using System.Collections.Generic; +using Umbraco.Cms.Core.Models; namespace Umbraco.Cms.Core.Persistence.Repositories { public interface IEntityContainerRepository : IReadRepository, IWriteRepository - { } + { + EntityContainer Get(Guid id); + + IEnumerable Get(string name, int level); + } } diff --git a/src/Umbraco.Core/Persistence/Repositories/IUserRepository.cs b/src/Umbraco.Core/Persistence/Repositories/IUserRepository.cs index 799cb01963..51886ab86a 100644 --- a/src/Umbraco.Core/Persistence/Repositories/IUserRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/IUserRepository.cs @@ -106,5 +106,7 @@ namespace Umbraco.Cms.Core.Persistence.Repositories int ClearLoginSessions(int userId); int ClearLoginSessions(TimeSpan timespan); void ClearLoginSession(Guid sessionId); + + IEnumerable GetNextUsers(int id, int count); } } diff --git a/src/Umbraco.Infrastructure/Services/Implement/ConsentService.cs b/src/Umbraco.Core/Services/ConsentService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/ConsentService.cs rename to src/Umbraco.Core/Services/ConsentService.cs index b00a2579fd..0d7dc77660 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ConsentService.cs +++ b/src/Umbraco.Core/Services/ConsentService.cs @@ -6,7 +6,7 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Implements . diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/ContentService.cs rename to src/Umbraco.Core/Services/ContentService.cs index c48c220d77..5a73ce4c0c 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentService.cs +++ b/src/Umbraco.Core/Services/ContentService.cs @@ -14,10 +14,9 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services.Changes; using Umbraco.Cms.Core.Strings; -using Umbraco.Cms.Infrastructure.Persistence.Querying; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Implements the content service. diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeBaseServiceProvider.cs b/src/Umbraco.Core/Services/ContentTypeBaseServiceProvider.cs similarity index 97% rename from src/Umbraco.Infrastructure/Services/Implement/ContentTypeBaseServiceProvider.cs rename to src/Umbraco.Core/Services/ContentTypeBaseServiceProvider.cs index 619070c297..769f52edf5 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeBaseServiceProvider.cs +++ b/src/Umbraco.Core/Services/ContentTypeBaseServiceProvider.cs @@ -1,7 +1,7 @@ using System; using Umbraco.Cms.Core.Models; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class ContentTypeBaseServiceProvider : IContentTypeBaseServiceProvider { diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeService.cs b/src/Umbraco.Core/Services/ContentTypeService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/ContentTypeService.cs rename to src/Umbraco.Core/Services/ContentTypeService.cs index 3d8dcf33bf..11dafd1464 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeService.cs +++ b/src/Umbraco.Core/Services/ContentTypeService.cs @@ -8,9 +8,8 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services.Changes; -using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the ContentType Service, which is an easy access to operations involving diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeServiceBase.cs b/src/Umbraco.Core/Services/ContentTypeServiceBase.cs similarity index 89% rename from src/Umbraco.Infrastructure/Services/Implement/ContentTypeServiceBase.cs rename to src/Umbraco.Core/Services/ContentTypeServiceBase.cs index d850e0c21a..2aa8f0268f 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeServiceBase.cs +++ b/src/Umbraco.Core/Services/ContentTypeServiceBase.cs @@ -2,7 +2,7 @@ using Microsoft.Extensions.Logging; using Umbraco.Cms.Core.Events; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public abstract class ContentTypeServiceBase : RepositoryService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeServiceBaseOfTRepositoryTItemTService.cs b/src/Umbraco.Core/Services/ContentTypeServiceBaseOfTRepositoryTItemTService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/ContentTypeServiceBaseOfTRepositoryTItemTService.cs rename to src/Umbraco.Core/Services/ContentTypeServiceBaseOfTRepositoryTItemTService.cs index f72738b221..d12ed1bddc 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentTypeServiceBaseOfTRepositoryTItemTService.cs +++ b/src/Umbraco.Core/Services/ContentTypeServiceBaseOfTRepositoryTItemTService.cs @@ -11,10 +11,9 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services.Changes; -using Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public abstract class ContentTypeServiceBase : ContentTypeServiceBase, IContentTypeBaseService where TRepository : IContentTypeRepositoryBase @@ -934,7 +933,7 @@ namespace Umbraco.Cms.Core.Services.Implement { scope.ReadLock(ReadLockIds); // also for containers - return ((EntityContainerRepository) _containerRepository).Get(containerId); + return _containerRepository.Get(containerId); } } @@ -964,7 +963,7 @@ namespace Umbraco.Cms.Core.Services.Implement { scope.ReadLock(ReadLockIds); // also for containers - return ((EntityContainerRepository) _containerRepository).Get(name, level); + return _containerRepository.Get(name, level); } } diff --git a/src/Umbraco.Infrastructure/Services/Implement/ContentVersionService.cs b/src/Umbraco.Core/Services/ContentVersionService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/ContentVersionService.cs rename to src/Umbraco.Core/Services/ContentVersionService.cs index e409f3af47..84f66469e1 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ContentVersionService.cs +++ b/src/Umbraco.Core/Services/ContentVersionService.cs @@ -10,7 +10,7 @@ using Umbraco.Cms.Core.Scoping; using Umbraco.Extensions; // ReSharper disable once CheckNamespace -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { internal class ContentVersionService : IContentVersionService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/DefaultContentVersionCleanupPolicy.cs b/src/Umbraco.Core/Services/DefaultContentVersionCleanupPolicy.cs similarity index 97% rename from src/Umbraco.Infrastructure/Services/Implement/DefaultContentVersionCleanupPolicy.cs rename to src/Umbraco.Core/Services/DefaultContentVersionCleanupPolicy.cs index 30193396ee..ee4bf6c952 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/DefaultContentVersionCleanupPolicy.cs +++ b/src/Umbraco.Core/Services/DefaultContentVersionCleanupPolicy.cs @@ -6,10 +6,9 @@ using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -using Umbraco.Cms.Core.Services; using ContentVersionCleanupPolicySettings = Umbraco.Cms.Core.Models.ContentVersionCleanupPolicySettings; -namespace Umbraco.Cms.Infrastructure.Services.Implement +namespace Umbraco.Cms.Core.Services { public class DefaultContentVersionCleanupPolicy : IContentVersionCleanupPolicy { diff --git a/src/Umbraco.Infrastructure/Services/Implement/DomainService.cs b/src/Umbraco.Core/Services/DomainService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/DomainService.cs rename to src/Umbraco.Core/Services/DomainService.cs index fc5d26e4df..f0ad6d63ee 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/DomainService.cs +++ b/src/Umbraco.Core/Services/DomainService.cs @@ -6,7 +6,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class DomainService : RepositoryService, IDomainService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/EntityService.cs b/src/Umbraco.Core/Services/EntityService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/EntityService.cs rename to src/Umbraco.Core/Services/EntityService.cs index 9efd991fb4..9169c6c96b 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/EntityService.cs +++ b/src/Umbraco.Core/Services/EntityService.cs @@ -10,11 +10,8 @@ using Umbraco.Cms.Core.Persistence; using Umbraco.Cms.Core.Persistence.Querying; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -using Umbraco.Cms.Infrastructure.Persistence.Dtos; -using Umbraco.Cms.Infrastructure.Persistence.Querying; -using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class EntityService : RepositoryService, IEntityService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs b/src/Umbraco.Core/Services/EntityXmlSerializer.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs rename to src/Umbraco.Core/Services/EntityXmlSerializer.cs index 26060bf988..be4efe2082 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/EntityXmlSerializer.cs +++ b/src/Umbraco.Core/Services/EntityXmlSerializer.cs @@ -11,7 +11,7 @@ using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Strings; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Serializes entities to XML diff --git a/src/Umbraco.Infrastructure/Services/Implement/ExternalLoginService.cs b/src/Umbraco.Core/Services/ExternalLoginService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/ExternalLoginService.cs rename to src/Umbraco.Core/Services/ExternalLoginService.cs index 079971be24..0117a5cf8f 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/ExternalLoginService.cs +++ b/src/Umbraco.Core/Services/ExternalLoginService.cs @@ -7,7 +7,7 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Security; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class ExternalLoginService : RepositoryService, IExternalLoginService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/FileService.cs b/src/Umbraco.Core/Services/FileService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/FileService.cs rename to src/Umbraco.Core/Services/FileService.cs index 017312e306..7fc97e7c67 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/FileService.cs +++ b/src/Umbraco.Core/Services/FileService.cs @@ -16,7 +16,7 @@ using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Strings; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the File Service, which is an easy access to operations involving objects like Scripts, Stylesheets and Templates diff --git a/src/Umbraco.Infrastructure/Services/Implement/KeyValueService.cs b/src/Umbraco.Core/Services/KeyValueService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/KeyValueService.cs rename to src/Umbraco.Core/Services/KeyValueService.cs index 7fda83a427..e54a803659 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/KeyValueService.cs +++ b/src/Umbraco.Core/Services/KeyValueService.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { internal class KeyValueService : IKeyValueService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/LocalizationService.cs b/src/Umbraco.Core/Services/LocalizationService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/LocalizationService.cs rename to src/Umbraco.Core/Services/LocalizationService.cs index b024b8935e..347872fe0b 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/LocalizationService.cs +++ b/src/Umbraco.Core/Services/LocalizationService.cs @@ -9,7 +9,7 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the Localization Service, which is an easy access to operations involving and diff --git a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextService.cs b/src/Umbraco.Core/Services/LocalizedTextService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/LocalizedTextService.cs rename to src/Umbraco.Core/Services/LocalizedTextService.cs index d09abb02b0..00f7812b49 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextService.cs +++ b/src/Umbraco.Core/Services/LocalizedTextService.cs @@ -6,7 +6,7 @@ using System.Xml.Linq; using System.Xml.XPath; using Microsoft.Extensions.Logging; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// public class LocalizedTextService : ILocalizedTextService diff --git a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs b/src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs rename to src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs index 5dac893cf4..a24d47fe4b 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceFileSources.cs +++ b/src/Umbraco.Core/Services/LocalizedTextServiceFileSources.cs @@ -9,7 +9,7 @@ using Microsoft.Extensions.Logging; using Umbraco.Cms.Core.Cache; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Exposes the XDocument sources from files for the default localization text service and ensure caching is taken care of diff --git a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceSupplementaryFileSource.cs b/src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs similarity index 91% rename from src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceSupplementaryFileSource.cs rename to src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs index 3e847167ce..7fe5e0e48a 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/LocalizedTextServiceSupplementaryFileSource.cs +++ b/src/Umbraco.Core/Services/LocalizedTextServiceSupplementaryFileSource.cs @@ -1,7 +1,7 @@ using System; using System.IO; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class LocalizedTextServiceSupplementaryFileSource { diff --git a/src/Umbraco.Infrastructure/Services/Implement/MacroService.cs b/src/Umbraco.Core/Services/MacroService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/MacroService.cs rename to src/Umbraco.Core/Services/MacroService.cs index a79d9fddce..dd3c2d9af1 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/MacroService.cs +++ b/src/Umbraco.Core/Services/MacroService.cs @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the Macro Service, which is an easy access to operations involving diff --git a/src/Umbraco.Infrastructure/Services/Implement/MediaService.cs b/src/Umbraco.Core/Services/MediaService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/MediaService.cs rename to src/Umbraco.Core/Services/MediaService.cs index dc44ddca8c..def72653bd 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/MediaService.cs +++ b/src/Umbraco.Core/Services/MediaService.cs @@ -14,10 +14,9 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services.Changes; using Umbraco.Cms.Core.Strings; -using Umbraco.Cms.Infrastructure.Persistence.Querying; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the Media Service, which is an easy access to operations involving diff --git a/src/Umbraco.Infrastructure/Services/Implement/MediaTypeService.cs b/src/Umbraco.Core/Services/MediaTypeService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/MediaTypeService.cs rename to src/Umbraco.Core/Services/MediaTypeService.cs index 205e5b176e..49021333cc 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/MediaTypeService.cs +++ b/src/Umbraco.Core/Services/MediaTypeService.cs @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services.Changes; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class MediaTypeService : ContentTypeServiceBase, IMediaTypeService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/MemberGroupService.cs b/src/Umbraco.Core/Services/MemberGroupService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/MemberGroupService.cs rename to src/Umbraco.Core/Services/MemberGroupService.cs index 9d68415ad5..253f2b433a 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/MemberGroupService.cs +++ b/src/Umbraco.Core/Services/MemberGroupService.cs @@ -8,7 +8,7 @@ using Umbraco.Cms.Core.Notifications; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { internal class MemberGroupService : RepositoryService, IMemberGroupService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/MemberService.cs b/src/Umbraco.Core/Services/MemberService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/MemberService.cs rename to src/Umbraco.Core/Services/MemberService.cs index 4d776d8379..0b8d981143 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/MemberService.cs +++ b/src/Umbraco.Core/Services/MemberService.cs @@ -10,10 +10,9 @@ using Umbraco.Cms.Core.Persistence; using Umbraco.Cms.Core.Persistence.Querying; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -using Umbraco.Cms.Infrastructure.Persistence.Querying; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the MemberService. diff --git a/src/Umbraco.Infrastructure/Services/Implement/MemberTypeService.cs b/src/Umbraco.Core/Services/MemberTypeService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/MemberTypeService.cs rename to src/Umbraco.Core/Services/MemberTypeService.cs index ad0498d0b2..be3831c675 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/MemberTypeService.cs +++ b/src/Umbraco.Core/Services/MemberTypeService.cs @@ -9,7 +9,7 @@ using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Services.Changes; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class MemberTypeService : ContentTypeServiceBase, IMemberTypeService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs b/src/Umbraco.Core/Services/NotificationService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs rename to src/Umbraco.Core/Services/NotificationService.cs index 447143092a..28e309bef5 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/NotificationService.cs +++ b/src/Umbraco.Core/Services/NotificationService.cs @@ -18,7 +18,7 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class NotificationService : INotificationService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/PropertyValidationService.cs b/src/Umbraco.Core/Services/PropertyValidationService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/PropertyValidationService.cs rename to src/Umbraco.Core/Services/PropertyValidationService.cs index 70580153de..e3c041716f 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/PropertyValidationService.cs +++ b/src/Umbraco.Core/Services/PropertyValidationService.cs @@ -7,7 +7,7 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class PropertyValidationService : IPropertyValidationService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/PublicAccessService.cs b/src/Umbraco.Core/Services/PublicAccessService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/PublicAccessService.cs rename to src/Umbraco.Core/Services/PublicAccessService.cs index 90184cd258..0d0d82c64c 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/PublicAccessService.cs +++ b/src/Umbraco.Core/Services/PublicAccessService.cs @@ -10,7 +10,7 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { internal class PublicAccessService : RepositoryService, IPublicAccessService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/RedirectUrlService.cs b/src/Umbraco.Core/Services/RedirectUrlService.cs similarity index 98% rename from src/Umbraco.Infrastructure/Services/Implement/RedirectUrlService.cs rename to src/Umbraco.Core/Services/RedirectUrlService.cs index a3faf64081..fe2c56c7e2 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/RedirectUrlService.cs +++ b/src/Umbraco.Core/Services/RedirectUrlService.cs @@ -6,7 +6,7 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { internal class RedirectUrlService : RepositoryService, IRedirectUrlService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/RelationService.cs b/src/Umbraco.Core/Services/RelationService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/RelationService.cs rename to src/Umbraco.Core/Services/RelationService.cs index 7a5d10c222..d4cf07e9d0 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/RelationService.cs +++ b/src/Umbraco.Core/Services/RelationService.cs @@ -11,7 +11,7 @@ using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { public class RelationService : RepositoryService, IRelationService { diff --git a/src/Umbraco.Infrastructure/Services/Implement/RepositoryService.cs b/src/Umbraco.Core/Services/RepositoryService.cs similarity index 95% rename from src/Umbraco.Infrastructure/Services/Implement/RepositoryService.cs rename to src/Umbraco.Core/Services/RepositoryService.cs index e529616961..825c30e43d 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/RepositoryService.cs +++ b/src/Umbraco.Core/Services/RepositoryService.cs @@ -4,7 +4,7 @@ using Umbraco.Cms.Core.Events; using Umbraco.Cms.Core.Persistence.Querying; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents a service that works on top of repositories. diff --git a/src/Umbraco.Infrastructure/Services/Implement/TagService.cs b/src/Umbraco.Core/Services/TagService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/TagService.cs rename to src/Umbraco.Core/Services/TagService.cs index 907af05ab2..16584bd491 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/TagService.cs +++ b/src/Umbraco.Core/Services/TagService.cs @@ -6,7 +6,7 @@ using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Tag service to query for tags in the tags db table. The tags returned are only relevant for published content & saved media or members diff --git a/src/Umbraco.Infrastructure/Services/Implement/UserService.cs b/src/Umbraco.Core/Services/UserService.cs similarity index 99% rename from src/Umbraco.Infrastructure/Services/Implement/UserService.cs rename to src/Umbraco.Core/Services/UserService.cs index 04f5ff8103..47205a3b11 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/UserService.cs +++ b/src/Umbraco.Core/Services/UserService.cs @@ -14,11 +14,9 @@ using Umbraco.Cms.Core.Persistence; using Umbraco.Cms.Core.Persistence.Querying; using Umbraco.Cms.Core.Persistence.Repositories; using Umbraco.Cms.Core.Scoping; -using Umbraco.Cms.Infrastructure.Persistence.Querying; -using Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement; using Umbraco.Extensions; -namespace Umbraco.Cms.Core.Services.Implement +namespace Umbraco.Cms.Core.Services { /// /// Represents the UserService, which is an easy access to operations involving , and eventually Backoffice Users. @@ -594,7 +592,7 @@ namespace Umbraco.Cms.Core.Services.Implement { using (var scope = ScopeProvider.CreateScope(autoComplete: true)) { - return ((UserRepository) _userRepository).GetNextUsers(id, count); + return _userRepository.GetNextUsers(id, count); } } diff --git a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs index 1558f929ee..ff538bb9f6 100644 --- a/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs +++ b/src/Umbraco.Infrastructure/DependencyInjection/UmbracoBuilder.Services.cs @@ -15,7 +15,6 @@ using Umbraco.Cms.Core.Routing; using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Services.Implement; using Umbraco.Cms.Infrastructure.Packaging; -using Umbraco.Cms.Infrastructure.Services.Implement; using Umbraco.Extensions; namespace Umbraco.Cms.Infrastructure.DependencyInjection @@ -33,47 +32,13 @@ namespace Umbraco.Cms.Infrastructure.DependencyInjection // register the special idk map builder.Services.AddUnique(); - // register the services - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); builder.Services.AddUnique(); builder.Services.AddUnique(); builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); builder.Services.AddUnique(); builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); - builder.Services.AddUnique(); builder.Services.AddTransient(SourcesFactory); - builder.Services.AddUnique(factory => new LocalizedTextService( - factory.GetRequiredService>(), - factory.GetRequiredService>())); - - builder.Services.AddUnique(); - - builder.Services.AddSingleton(); - builder.Services.AddSingleton(); builder.Services.AddUnique(factory => CreatePackageRepository(factory, "createdPackages.config")); builder.Services.AddSingleton(); builder.Services.AddUnique(); diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs index 26d37ed80a..a9cba6b2ae 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/UserRepository.cs @@ -911,7 +911,7 @@ SELECT 4 AS [Key], COUNT(id) AS [Value] FROM umbracoUser WHERE userDisabled = 0 return sql; } - internal IEnumerable GetNextUsers(int id, int count) + public IEnumerable GetNextUsers(int id, int count) { var idsQuery = SqlContext.Sql() .Select(x => x.Id) diff --git a/src/Umbraco.Infrastructure/Services/Implement/DataTypeService.cs b/src/Umbraco.Infrastructure/Services/Implement/DataTypeService.cs index d63335ba33..7fabd9327b 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/DataTypeService.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/DataTypeService.cs @@ -12,7 +12,6 @@ using Umbraco.Cms.Core.PropertyEditors; using Umbraco.Cms.Core.Scoping; using Umbraco.Cms.Core.Serialization; using Umbraco.Cms.Core.Strings; -using Umbraco.Cms.Infrastructure.Persistence.Repositories.Implement; using Umbraco.Extensions; namespace Umbraco.Cms.Core.Services.Implement @@ -109,7 +108,7 @@ namespace Umbraco.Cms.Core.Services.Implement { using (var scope = ScopeProvider.CreateScope(autoComplete: true)) { - return ((EntityContainerRepository) _dataTypeContainerRepository).Get(containerId); + return _dataTypeContainerRepository.Get(containerId); } } @@ -117,7 +116,7 @@ namespace Umbraco.Cms.Core.Services.Implement { using (var scope = ScopeProvider.CreateScope(autoComplete: true)) { - return ((EntityContainerRepository) _dataTypeContainerRepository).Get(name, level); + return _dataTypeContainerRepository.Get(name, level); } } diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/DefaultContentVersionCleanupPolicyTest.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/DefaultContentVersionCleanupPolicyTest.cs index 801c27110d..6eb9af166f 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/DefaultContentVersionCleanupPolicyTest.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Core/Services/DefaultContentVersionCleanupPolicyTest.cs @@ -8,7 +8,7 @@ using NUnit.Framework; using Umbraco.Cms.Core.Configuration.Models; using Umbraco.Cms.Core.Models; using Umbraco.Cms.Core.Persistence.Repositories; -using Umbraco.Cms.Infrastructure.Services.Implement; +using Umbraco.Cms.Core.Services; using Umbraco.Cms.Tests.UnitTests.AutoFixture; using ContentVersionCleanupPolicySettings = Umbraco.Cms.Core.Models.ContentVersionCleanupPolicySettings; diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/AmbiguousEventTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/AmbiguousEventTests.cs index fa62ad8fc3..ad4cb80113 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/AmbiguousEventTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/AmbiguousEventTests.cs @@ -6,6 +6,7 @@ using System.Reflection; using System.Text; using NUnit.Framework; using Umbraco.Cms.Core.Events; +using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Services.Implement; namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.Services diff --git a/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/LocalizedTextServiceTests.cs b/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/LocalizedTextServiceTests.cs index 497af66d63..848d634409 100644 --- a/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/LocalizedTextServiceTests.cs +++ b/tests/Umbraco.Tests.UnitTests/Umbraco.Infrastructure/Services/LocalizedTextServiceTests.cs @@ -9,6 +9,7 @@ using System.Xml.Linq; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using NUnit.Framework; +using Umbraco.Cms.Core.Services; using Umbraco.Cms.Core.Services.Implement; namespace Umbraco.Cms.Tests.UnitTests.Umbraco.Infrastructure.Services