using AutoMapper; using JetBrains.Annotations; using Recyclarr.Config.Models; namespace Recyclarr.Config.Parsing; [UsedImplicitly] public class ConfigYamlMapperProfile : Profile { public ConfigYamlMapperProfile() { CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap(); CreateMap() .ForMember(x => x.Enabled, o => o.NullSubstitute(true)); CreateMap() .ForMember(x => x.UpgradeAllowed, o => o.MapFrom(x => x.Upgrade!.Allowed)) .ForMember(x => x.UpgradeUntilQuality, o => o.MapFrom(x => x.Upgrade!.UntilQuality)) .ForMember(x => x.UpgradeUntilScore, o => o.MapFrom(x => x.Upgrade!.UntilScore)) .ForMember(x => x.QualitySort, o => o.NullSubstitute(QualitySortAlgorithm.Top)) .ForMember(x => x.ResetUnmatchedScores, o => o.UseDestinationValue()); CreateMap() .ForMember(x => x.InstanceName, o => o.Ignore()); CreateMap() .IncludeBase() .ForMember(x => x.MediaNaming, o => o.UseDestinationValue()); CreateMap() .IncludeBase() .ForMember(x => x.MediaNaming, o => o.UseDestinationValue()); } }