diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs index 3ccee0bcea..3d81674e0e 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/CreatedPackageSchemaRepository.cs @@ -168,7 +168,12 @@ public class CreatedPackageSchemaRepository : ICreatedPackagesRepository .From() .Where(x => x.PackageId == key); - List schemaDtos = Database.Fetch(query); + if (_scopeAccessor.AmbientScope is null) + { + return null; + } + + List schemaDtos = _scopeAccessor.AmbientScope.Database.Fetch(query); if (schemaDtos.IsCollectionEmpty()) { @@ -215,7 +220,13 @@ public class CreatedPackageSchemaRepository : ICreatedPackagesRepository .SelectCount() .From() .Where(x => x.Name == definition.Name); - var exists = Database.ExecuteScalar(query); + + if (_scopeAccessor.AmbientScope is null) + { + return false; + } + + var exists = _scopeAccessor.AmbientScope.Database.ExecuteScalar(query); if (exists > 0) { diff --git a/src/Umbraco.Infrastructure/Services/Implement/PackagingService.cs b/src/Umbraco.Infrastructure/Services/Implement/PackagingService.cs index 62b6ceb57b..2cc0afa1cf 100644 --- a/src/Umbraco.Infrastructure/Services/Implement/PackagingService.cs +++ b/src/Umbraco.Infrastructure/Services/Implement/PackagingService.cs @@ -161,7 +161,12 @@ public class PackagingService : IPackagingService } /// - public Task GetCreatedPackageByKeyAsync(Guid key) => Task.FromResult(_createdPackages.GetByKey(key)); + public Task GetCreatedPackageByKeyAsync(Guid key) + { + using ICoreScope scope = _coreScopeProvider.CreateCoreScope(autoComplete: true); + + return Task.FromResult(_createdPackages.GetByKey(key)); + } [Obsolete("Use CreateCreatedPackageAsync or UpdateCreatedPackageAsync instead. Scheduled for removal in Umbraco 15.")] public bool SaveCreatedPackage(PackageDefinition definition) @@ -197,6 +202,7 @@ public class PackagingService : IPackagingService /// public async Task> UpdateCreatedPackageAsync(PackageDefinition package, Guid userKey) { + using ICoreScope scope = _coreScopeProvider.CreateCoreScope(); if (_createdPackages.SavePackage(package) == false) { return Attempt.FailWithStatus(PackageOperationStatus.NotFound, package); @@ -204,6 +210,7 @@ public class PackagingService : IPackagingService int currentUserId = _userService.GetAsync(userKey).Result?.Id ?? Constants.Security.SuperUserId; _auditService.Add(AuditType.New, currentUserId, -1, "Package", $"Created package '{package.Name}' updated. Package key: {package.PackageId}"); + scope.Complete(); return await Task.FromResult(Attempt.SucceedWithStatus(PackageOperationStatus.Success, package)); }