Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,6 @@ protected virtual void DefinePlan()
To<V_17_0_0.MigrateSystemDatesToUtc>("{7208B20D-6BFC-472E-9374-85EEA817B27D}");
To<V_17_0_0.AddDistributedJobLock>("{263075BF-F18A-480D-92B4-4947D2EAB772}");
To<V_17_0_0.AddLastSyncedTable>("26179D88-58CE-4C92-B4A4-3CBA6E7188AC");
To<V_17_0_0.EnsureDefaultMediaFolderHasDefaultCollection>("{8B2C830A-4FFB-4433-8337-8649B0BF52C8}");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,6 @@ protected virtual void DefinePlan()
// When logging in, we save the user to the cache so these need to have run.
To<V_17_0_0.AddCacheVersionDatabaseLock>("{1DC39DC7-A88A-4912-8E60-4FD36246E8D1}");
To<V_17_0_0.AddRepositoryCacheVersionTable>("{A1B3F5D6-4C8B-4E7A-9F8C-1D2B3E4F5A6B}");
To<V_17_0_0.AddLastSyncedTable>("{72894BCA-9FAD-4CC3-B0D0-D6CDA2FFA636}");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.Services;
using Constants = Umbraco.Cms.Core.Constants;

namespace Umbraco.Cms.Infrastructure.Migrations.Upgrade.V_17_0_0;

/// <summary>
/// Ensures that the Media Document Type called "Folder" gets a collection added to it.
/// </summary>
public class EnsureDefaultMediaFolderHasDefaultCollection : AsyncMigrationBase
{
private readonly IMediaTypeService _mediaTypeService;
private readonly IDataTypeService _dataTypeService;

public EnsureDefaultMediaFolderHasDefaultCollection(
IMigrationContext context,
IMediaTypeService mediaTypeService,
IDataTypeService dataTypeService)
: base(context)
{
_mediaTypeService = mediaTypeService;
_dataTypeService = dataTypeService;
}

protected override async Task MigrateAsync()
{
IMediaType? folderMediaType = _mediaTypeService
.Get(Guid.Parse("f38bd2d7-65d0-48e6-95dc-87ce06ec2d3d")); // Folder media type default key.

if (folderMediaType is null || folderMediaType.ListView is not null)
{
return;
}

IDataType? dataType = await _dataTypeService.GetAsync(Guid.Parse("3a0156c4-3b8c-4803-bdc1-6871faa83fff")); // Media Collection default key.

if (dataType is null)
{
return;
}

folderMediaType.ListView = dataType.Key;
await _mediaTypeService.UpdateAsync(folderMediaType, Constants.Security.SuperUserKey);
}
}