Skip to content

Commit

Permalink
Merge pull request #224 from Jumoo/dev/migrator-tidy
Browse files Browse the repository at this point in the history
Dev/migrator tidy
  • Loading branch information
KevinJump authored Oct 4, 2023
2 parents 5b5d0a0 + d678d2e commit 9117235
Show file tree
Hide file tree
Showing 34 changed files with 99 additions and 67 deletions.
12 changes: 1 addition & 11 deletions uSync.Migrations/Composing/SyncMigrationsComposer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ public static IUmbracoBuilder AdduSyncMigrations(this IUmbracoBuilder builder)
}

builder.Services.AddSingleton<GridConventions>();

builder.Services.AddSingleton<ILegacyGridConfig, LegacyGridConfig>();

builder
Expand Down Expand Up @@ -77,29 +76,20 @@ public static IUmbracoBuilder AdduSyncMigrations(this IUmbracoBuilder builder)
.WithCollectionBuilder<SyncMigrationValidatorCollectionBuilder>()
.Add(() => builder.TypeLoader.GetTypes<ISyncMigrationValidator>());

builder
.WithCollectionBuilder<ArchetypeMigrationConfigurerCollectionBuilder>()
.Add(() => builder.TypeLoader.GetTypes<IArchetypeMigrationConfigurer>());

builder.Services.AddAuthorization(o =>
CreatePolicies(o, Constants.Security.BackOfficeAuthenticationType));

builder.Services.AddTransient<ISyncMigrationStatusService, SyncMigrationStatusService>();
builder.Services.AddTransient<ISyncMigrationService, SyncMigrationService>();
builder.Services.AddTransient<ISyncMigrationConfigurationService, SyncMigrationConfigurationService>();
builder.Services.AddOptions<NuPickerMigrationOptions>().Configure<IConfiguration>((settings, configuration)
=> configuration.GetSection(NuPickerMigrationOptions.Section).Bind(settings));

builder.Services.AddOptions<ArchetypeMigrationOptions>().Configure<IConfiguration>((settings, configuration)
=> configuration.GetSection(ArchetypeMigrationOptions.Section).Bind(settings));
builder.Services.AddOptions<uSyncMigrationOptions>().Configure<IConfiguration>((settings, configuration)
=> configuration.GetSection(uSyncMigrationOptions.Section).Bind(settings));

builder.AddNotificationHandler<ServerVariablesParsingNotification, SyncMigrationsServerVariablesParsingNotificationHandler>();

if (builder.ManifestFilters().Has<SyncMigrationsManifestFilter>() == false)
{
builder.ManifestFilters().Append<SyncMigrationsManifestFilter>();
}

return builder;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.DependencyInjection;

using uSync.Migrations.Composing;

namespace uSync.Migrations.Migrators.Community.Archetype;

[ComposeAfter(typeof(SyncMigrationsComposer))]
public class ArchitypeComposer : IComposer

{
public void Compose(IUmbracoBuilder builder)
{
builder.WithCollectionBuilder<ArchetypeMigrationConfigurerCollectionBuilder>()
.Add(() => builder.TypeLoader.GetTypes<IArchetypeMigrationConfigurer>());

builder.Services.AddOptions<ArchetypeMigrationOptions>().Configure<IConfiguration>((settings, configuration)
=> configuration.GetSection(ArchetypeMigrationOptions.Section).Bind(settings));
}
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
using Umbraco.Cms.Core.PropertyEditors;

using uSync.Migrations.Context;
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators.Models;

namespace uSync.Migrations.Migrators.Community
namespace uSync.Migrations.Migrators.Community.CrumpledCharLimitEditor
{
[SyncMigrator("Crumpled.CharLimitEditor")]
public class CrumpledCharLimitEditorToTextboxMigrator : SyncPropertyMigratorBase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@
using uSync.Migrations.Context;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Helpers;
using uSync.Migrations.Migrators.Community.CrumpledMarkdownEditor.Models;

namespace uSync.Migrations.Migrators.Community
namespace uSync.Migrations.Migrators.Community.CrumpledMarkdownEditor
{
[SyncMigrator("Crumpled.MarkdownEditor")]
public class CrumpledMarkdownEditorToRichTextEditorMigrator : SyncPropertyMigratorBase
Expand Down Expand Up @@ -43,7 +44,7 @@ public override string GetEditorAlias(SyncMigrationDataTypeProperty dataTypeProp

using (UmbracoContextReference umbracoContextReference = _umbracoContextFactory.EnsureUmbracoContext())
{
markdownContent = MarkdownEditorHelper.ParseUmbracoMarkDownLinks(markdownContent, umbracoContextReference);
markdownContent = markdownContent.ParseUmbracoMarkDownLinks(umbracoContextReference);
}

if (!string.IsNullOrWhiteSpace(markdownContent))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models
namespace uSync.Migrations.Migrators.Community.CrumpledMarkdownEditor.Models
{
internal class CrumpledMarkDown
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models
namespace uSync.Migrations.Migrators.Community.CrumpledMarkdownEditor.Models
{
internal class CrumpledMarkdownEditor
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,27 +3,27 @@
using uSync.Migrations.Context;
using uSync.Migrations.Migrators.Models;

namespace uSync.Migrations.Migrators.Community;
namespace uSync.Migrations.Migrators.Community.EpiphanySeoMetadata;

[SyncMigrator("Epiphany.SeoMetadata")]
[SyncDefaultMigrator]
public class EpiphanySeoMetadataToSeparateFields : SyncPropertyMigratorBase, ISyncPropertySplittingMigrator
{
private readonly Dictionary<string, (string Name, string Alias, string EditorAlias, string OriginalEditorAlias, Guid DefaultDefinition)> Properties = new()
{
{
nameof(SeoMetadata.Title),
("Meta title", "metaTitle", "Umbraco.TextBox", "Umbraco.Textbox", Guid.Parse("0cc0eba1-9960-42c9-bf9b-60e150b429ae"))
{
nameof(SeoMetadata.Title),
("Meta title", "metaTitle", "Umbraco.TextBox", "Umbraco.Textbox", Guid.Parse("0cc0eba1-9960-42c9-bf9b-60e150b429ae"))
},
{
nameof(SeoMetadata.Description),
("Meta description", "metaDescription", "Umbraco.TextArea", "Umbraco.TextboxMultiple", Guid.Parse("c6bac0dd-4ab9-45b1-8e30-e4b619ee5da3"))
{
nameof(SeoMetadata.Description),
("Meta description", "metaDescription", "Umbraco.TextArea", "Umbraco.TextboxMultiple", Guid.Parse("c6bac0dd-4ab9-45b1-8e30-e4b619ee5da3"))
},
{
{
nameof(SeoMetadata.NoIndex),
("Robots NoIndex", "robotsNoIndex", "Umbraco.TrueFalse", "Umbraco.TrueFalse", Guid.Parse("92897bc6-a5f3-4ffe-ae27-f2e7e33dda49"))
},
{
{
nameof(SeoMetadata.UrlName),
("URL name", "umbracoUrlName", "Umbraco.TextBox", "Umbraco.Textbox", Guid.Parse("0cc0eba1-9960-42c9-bf9b-60e150b429ae"))
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,19 @@
using Umbraco.Cms.Core;
using Umbraco.Cms.Core.PropertyEditors;
using Umbraco.Extensions;

using uSync.Migrations.Context;
using uSync.Migrations.Migrators.Community.ImulusUrlPicker.Models;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Migrators.Models.UrlPicker;

namespace uSync.Migrations.Migrators;
namespace uSync.Migrations.Migrators.Community.ImulusUrlPicker;

[SyncMigrator("Imulus.UrlPicker")]
[SyncMigrator("Imulus.UrlPicker2")]
public class ImulusUrlPickerToUmbMultiUrlPickerMigrator : SyncPropertyMigratorBase
{
public override string GetEditorAlias(SyncMigrationDataTypeProperty dataTypeProperty, SyncMigrationContext context)
=> UmbConstants.PropertyEditors.Aliases.MultiUrlPicker;

public override object? GetConfigValues(SyncMigrationDataTypeProperty dataTypeProperty, SyncMigrationContext context)
{
var config = new MultiUrlPickerConfiguration();
Expand Down Expand Up @@ -80,15 +79,15 @@ public override string GetEditorAlias(SyncMigrationDataTypeProperty dataTypeProp
return JsonConvert.DeserializeObject<UrlPicker>(contentValue)?.Value.AsEnumerableOfOne() ?? Enumerable.Empty<UrlPickerValue>();
}

private GuidUdi? GetUdiValueFromIntString(string? idValue, UrlPickerTypes pickerType, SyncMigrationContext context)
private GuidUdi? GetUdiValueFromIntString(string? idValue, UrlPickerTypes pickerType, SyncMigrationContext context)
{
if (string.IsNullOrWhiteSpace(idValue)) return null;
if (!int.TryParse(idValue, out int valueIntId)) { return null; }

if (!int.TryParse(idValue, out int valueIntId)) { return null; }

var guid = context.GetKey(valueIntId);
if (guid == Guid.Empty) return null;

var entityType = pickerType == UrlPickerTypes.Content ? UmbConstants.UdiEntityType.Document : UmbConstants.UdiEntityType.Media;
return Udi.Create(entityType, guid) as GuidUdi;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;

namespace uSync.Migrations.Migrators.Models.UrlPicker
namespace uSync.Migrations.Migrators.Community.ImulusUrlPicker.Models
{
[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
public class UrlPicker
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;

namespace uSync.Migrations.Migrators.Models.UrlPicker
namespace uSync.Migrations.Migrators.Community.ImulusUrlPicker.Models
{
[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
public class UrlPickerMeta
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;

namespace uSync.Migrations.Migrators.Models.UrlPicker
namespace uSync.Migrations.Migrators.Community.ImulusUrlPicker.Models
{
[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
public class UrlPickerTypeData
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models.UrlPicker
namespace uSync.Migrations.Migrators.Community.ImulusUrlPicker.Models
{
public enum UrlPickerTypes
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;

namespace uSync.Migrations.Migrators.Models.UrlPicker
namespace uSync.Migrations.Migrators.Community.ImulusUrlPicker.Models
{
[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
public class UrlPickerValue
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models.NuPickers
namespace uSync.Migrations.Migrators.Community.NuPickers.Models
{
public class NuPickersDotNetTypeConfig
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models.NuPickers
namespace uSync.Migrations.Migrators.Community.NuPickers.Models
{
public class NuPickersEnumConfig
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models.NuPickers
namespace uSync.Migrations.Migrators.Community.NuPickers.Models
{
public class NuPickersSqlConfig
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
namespace uSync.Migrations.Migrators.Models.NuPickers
namespace uSync.Migrations.Migrators.Community.NuPickers.Models
{
public class NuPickersXmlConfig
{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;

using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.DependencyInjection;

using uSync.Migrations.Composing;

namespace uSync.Migrations.Migrators.Community.NuPickers;

[ComposeAfter(typeof(SyncMigrationsComposer))]
public class NuPickersComposer : IComposer
{
public void Compose(IUmbracoBuilder builder)
{
builder.Services.AddOptions<NuPickerMigrationOptions>().Configure<IConfiguration>((settings, configuration)
=> configuration.GetSection(NuPickerMigrationOptions.Section).Bind(settings));

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators;
using uSync.Migrations.Migrators.Community;
using uSync.Migrations.Migrators.Community.NuPickers.Models;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Migrators.Models.NuPickers;

[SyncMigrator("nuPickers.DotNetTypeaheadListPicker")]
public class NuPickersDotNetTypeaheadListPickerToContentmentDataList : NuPickersToContentmentDataListBase
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
using uSync.Migrations.Context;
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Migrators.Models.NuPickers;
using Umbraco.Extensions;
using uSync.Migrations.Migrators.Community.NuPickers.Models;

namespace uSync.Migrations.Migrators.Community
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
using Umbraco.Extensions;
using uSync.Migrations.Context;
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators.Community.NuPickers.Models;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Migrators.Models.NuPickers;

namespace uSync.Migrations.Migrators.Community;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
using Newtonsoft.Json.Linq;
using uSync.Migrations.Context;
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators.Community.NuPickers.Models;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Migrators.Models.NuPickers;

namespace uSync.Migrations.Migrators.Community
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
using Newtonsoft.Json.Linq;
using uSync.Migrations.Context;
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators.Community.NuPickers.Models;
using uSync.Migrations.Migrators.Models;
using uSync.Migrations.Migrators.Models.NuPickers;

namespace uSync.Migrations.Migrators.Community
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@
using uSync.Migrations.Extensions;
using Umbraco.Extensions;

namespace uSync.Migrations.Migrators.Community;
namespace uSync.Migrations.Migrators.Community.RjpMultiUrlPicker;

[SyncMigrator("RJP.MultiUrlPicker")]
public class RjpMultiUrlPickerToUmbMultiUrlPickerMigrator : SyncPropertyMigratorBase
{
public override string GetEditorAlias (SyncMigrationDataTypeProperty dataTypeProperty, SyncMigrationContext context)
public override string GetEditorAlias(SyncMigrationDataTypeProperty dataTypeProperty, SyncMigrationContext context)
=> UmbConstants.PropertyEditors.Aliases.MultiUrlPicker;

public override object? GetConfigValues (SyncMigrationDataTypeProperty dataTypeProperty, SyncMigrationContext context)
public override object? GetConfigValues(SyncMigrationDataTypeProperty dataTypeProperty, SyncMigrationContext context)
{
var minNumberOfItems = dataTypeProperty.PreValues?.GetPreValueOrDefault("minNumberOfItems", string.Empty);
var maxNumberOfItems = dataTypeProperty.PreValues?.GetPreValueOrDefault("maxNumberOfItems", string.Empty);
Expand All @@ -37,7 +37,7 @@ public override string GetEditorAlias (SyncMigrationDataTypeProperty dataTypePro
return config;
}

public override string? GetContentValue (SyncMigrationContentProperty contentProperty, SyncMigrationContext context)
public override string? GetContentValue(SyncMigrationContentProperty contentProperty, SyncMigrationContext context)
{
if (string.IsNullOrWhiteSpace(contentProperty.Value))
{
Expand All @@ -55,11 +55,12 @@ public override string GetEditorAlias (SyncMigrationDataTypeProperty dataTypePro
return JsonConvert.SerializeObject(destinationLinks, Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });
}

private static IEnumerable<MultiUrlPickerValueEditor.LinkDto> ConvertLinkDto (IEnumerable<RjpLinkDto> sourceLinks, SyncMigrationContext context)
private static IEnumerable<MultiUrlPickerValueEditor.LinkDto> ConvertLinkDto(IEnumerable<RjpLinkDto> sourceLinks, SyncMigrationContext context)
{
foreach (var sourceDto in sourceLinks)
{
var umbLinkDto = new MultiUrlPickerValueEditor.LinkDto {
var umbLinkDto = new MultiUrlPickerValueEditor.LinkDto
{
Name = sourceDto.Name.IfNullOrWhiteSpace(null),
QueryString = sourceDto.Querystring.IfNullOrWhiteSpace(null),
Target = sourceDto.Target.IfNullOrWhiteSpace(null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using uSync.Migrations.Context;
using uSync.Migrations.Migrators.Models;

namespace uSync.Migrations.Migrators.Community;
namespace uSync.Migrations.Migrators.Community.RobotsMetaEditor;

[SyncMigrator("robotsMetaEditor")]
[SyncMigratorVersion(7, 8)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
using uSync.Migrations.Context;
using uSync.Migrations.Migrators.Models;

namespace uSync.Migrations.Migrators.Community;
namespace uSync.Migrations.Migrators.Community.SkttlHtmlEditor;

[SyncMigrator("skttl.HtmlEditor")]
[SyncMigratorVersion(7, 8)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
using uSync.Migrations.Extensions;
using uSync.Migrations.Migrators.Models;

namespace uSync.Migrations.Migrators.Community;
namespace uSync.Migrations.Migrators.Community.SpectrumColorPicker;

[SyncMigrator("Spectrum.Color.Picker")]
public class SpectrumColorPickerToEyeDropper : SyncPropertyMigratorBase
Expand Down
Loading

0 comments on commit 9117235

Please sign in to comment.