Added missing scope (#14711)

This commit is contained in:
Andreas Zerbst
2023-08-23 13:24:16 +02:00
committed by GitHub
parent 6f10517fc6
commit 98bcf15373
2 changed files with 21 additions and 3 deletions

View File

@@ -168,7 +168,12 @@ public class CreatedPackageSchemaRepository : ICreatedPackagesRepository
.From<CreatedPackageSchemaDto>()
.Where<CreatedPackageSchemaDto>(x => x.PackageId == key);
List<CreatedPackageSchemaDto> schemaDtos = Database.Fetch<CreatedPackageSchemaDto>(query);
if (_scopeAccessor.AmbientScope is null)
{
return null;
}
List<CreatedPackageSchemaDto> schemaDtos = _scopeAccessor.AmbientScope.Database.Fetch<CreatedPackageSchemaDto>(query);
if (schemaDtos.IsCollectionEmpty())
{
@@ -215,7 +220,13 @@ public class CreatedPackageSchemaRepository : ICreatedPackagesRepository
.SelectCount()
.From<CreatedPackageSchemaDto>()
.Where<CreatedPackageSchemaDto>(x => x.Name == definition.Name);
var exists = Database.ExecuteScalar<int>(query);
if (_scopeAccessor.AmbientScope is null)
{
return false;
}
var exists = _scopeAccessor.AmbientScope.Database.ExecuteScalar<int>(query);
if (exists > 0)
{

View File

@@ -161,7 +161,12 @@ public class PackagingService : IPackagingService
}
/// <inheritdoc/>
public Task<PackageDefinition?> GetCreatedPackageByKeyAsync(Guid key) => Task.FromResult(_createdPackages.GetByKey(key));
public Task<PackageDefinition?> 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
/// <inheritdoc/>
public async Task<Attempt<PackageDefinition, PackageOperationStatus>> 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));
}