Browse Source

Merge pull request #23532 from abpframework/EngincanV/modules-mapperly-integrations

Use `Mapperly` instead of `AutoMapper` in setting-management & permisson-management modules
pull/23537/head
maliming 6 months ago
committed by GitHub
parent
commit
d96e966a65
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/AbpPermissionManagementBlazorModule.cs
  2. 1
      modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Volo.Abp.PermissionManagement.Blazor.csproj
  3. 18
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebAutoMapperProfile.cs
  4. 33
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebMappers.cs
  5. 10
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebModule.cs
  6. 2
      modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Volo.Abp.PermissionManagement.Web.csproj
  7. 11
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs
  8. 15
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/SettingManagementBlazorAutoMapperProfile.cs
  9. 31
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/SettingManagementBlazorMappers.cs
  10. 2
      modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Volo.Abp.SettingManagement.Blazor.csproj
  11. 10
      modules/setting-management/src/Volo.Abp.SettingManagement.Web/AbpSettingManagementWebModule.cs
  12. 14
      modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebAutoMapperProfile.cs
  13. 22
      modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebMappers.cs
  14. 2
      modules/setting-management/src/Volo.Abp.SettingManagement.Web/Volo.Abp.SettingManagement.Web.csproj

2
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/AbpPermissionManagementBlazorModule.cs

@ -1,6 +1,5 @@
using Localization.Resources.AbpUi;
using Volo.Abp.AspNetCore.Components.Web.Theming;
using Volo.Abp.AutoMapper;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.PermissionManagement.Localization;
@ -9,7 +8,6 @@ namespace Volo.Abp.PermissionManagement.Blazor;
[DependsOn(
typeof(AbpAspNetCoreComponentsWebThemingModule),
typeof(AbpAutoMapperModule),
typeof(AbpPermissionManagementApplicationContractsModule)
)]
public class AbpPermissionManagementBlazorModule : AbpModule

1
modules/permission-management/src/Volo.Abp.PermissionManagement.Blazor/Volo.Abp.PermissionManagement.Blazor.csproj

@ -9,7 +9,6 @@
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Components.Web.Theming\Volo.Abp.AspNetCore.Components.Web.Theming.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
</ItemGroup>
<ItemGroup>

18
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebAutoMapperProfile.cs

@ -1,18 +0,0 @@
using AutoMapper;
using Volo.Abp.AutoMapper;
using Volo.Abp.PermissionManagement.Web.Pages.AbpPermissionManagement;
namespace Volo.Abp.PermissionManagement.Web;
public class AbpPermissionManagementWebAutoMapperProfile : Profile
{
public AbpPermissionManagementWebAutoMapperProfile()
{
CreateMap<PermissionGroupDto, PermissionManagementModal.PermissionGroupViewModel>().Ignore(p => p.IsAllPermissionsGranted);
CreateMap<PermissionGrantInfoDto, PermissionManagementModal.PermissionGrantInfoViewModel>()
.ForMember(p => p.Depth, opts => opts.Ignore());
CreateMap<ProviderInfoDto, PermissionManagementModal.ProviderInfoViewModel>();
}
}

33
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebMappers.cs

@ -0,0 +1,33 @@
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
using static Volo.Abp.PermissionManagement.Web.Pages.AbpPermissionManagement.PermissionManagementModal;
namespace Volo.Abp.PermissionManagement.Web;
[Mapper]
public partial class PermissionGroupDtoToPermissionGroupViewModelMapper : MapperBase<PermissionGroupDto, PermissionGroupViewModel>
{
[MapperIgnoreTarget(nameof(PermissionGroupViewModel.IsAllPermissionsGranted))]
public override partial PermissionGroupViewModel Map(PermissionGroupDto source);
[MapperIgnoreTarget(nameof(PermissionGroupViewModel.IsAllPermissionsGranted))]
public override partial void Map(PermissionGroupDto source, PermissionGroupViewModel destination);
}
[Mapper]
public partial class PermissionGrantInfoDtoToPermissionGrantInfoViewModelMapper : MapperBase<PermissionGrantInfoDto, PermissionGrantInfoViewModel>
{
[MapperIgnoreTarget(nameof(PermissionGrantInfoViewModel.Depth))]
public override partial PermissionGrantInfoViewModel Map(PermissionGrantInfoDto source);
[MapperIgnoreTarget(nameof(PermissionGrantInfoViewModel.Depth))]
public override partial void Map(PermissionGrantInfoDto source, PermissionGrantInfoViewModel destination);
}
[Mapper]
public partial class ProviderInfoDtoToProviderInfoViewModelMapper : MapperBase<ProviderInfoDto, ProviderInfoViewModel>
{
public override partial ProviderInfoViewModel Map(ProviderInfoDto source);
public override partial void Map(ProviderInfoDto source, ProviderInfoViewModel destination);
}

10
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/AbpPermissionManagementWebModule.cs

@ -1,8 +1,8 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap;
using Volo.Abp.AutoMapper;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
using Volo.Abp.Mapperly;
using Volo.Abp.Modularity;
using Volo.Abp.PermissionManagement.Localization;
using Volo.Abp.VirtualFileSystem;
@ -11,7 +11,7 @@ namespace Volo.Abp.PermissionManagement.Web;
[DependsOn(typeof(AbpPermissionManagementApplicationContractsModule))]
[DependsOn(typeof(AbpAspNetCoreMvcUiBootstrapModule))]
[DependsOn(typeof(AbpAutoMapperModule))]
[DependsOn(typeof(AbpMapperlyModule))]
public class AbpPermissionManagementWebModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
@ -34,11 +34,7 @@ public class AbpPermissionManagementWebModule : AbpModule
options.FileSets.AddEmbedded<AbpPermissionManagementWebModule>();
});
context.Services.AddAutoMapperObjectMapper<AbpPermissionManagementWebModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<AbpPermissionManagementWebAutoMapperProfile>(validate: true);
});
context.Services.AddMapperlyObjectMapper<AbpPermissionManagementWebModule>();
Configure<DynamicJavaScriptProxyOptions>(options =>
{

2
modules/permission-management/src/Volo.Abp.PermissionManagement.Web/Volo.Abp.PermissionManagement.Web.csproj

@ -31,7 +31,7 @@
<ItemGroup>
<ProjectReference Include="..\Volo.Abp.PermissionManagement.Application.Contracts\Volo.Abp.PermissionManagement.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Mapperly\Volo.Abp.Mapperly.csproj" />
</ItemGroup>
<ItemGroup>

11
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/AbpSettingManagementBlazorModule.cs

@ -2,8 +2,8 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Components.Web.Theming;
using Volo.Abp.AspNetCore.Components.Web.Theming.Routing;
using Volo.Abp.AutoMapper;
using Volo.Abp.Localization;
using Volo.Abp.Mapperly;
using Volo.Abp.Modularity;
using Volo.Abp.SettingManagement.Blazor.Menus;
using Volo.Abp.SettingManagement.Blazor.Settings;
@ -13,7 +13,7 @@ using Volo.Abp.UI.Navigation;
namespace Volo.Abp.SettingManagement.Blazor;
[DependsOn(
typeof(AbpAutoMapperModule),
typeof(AbpMapperlyModule),
typeof(AbpAspNetCoreComponentsWebThemingModule),
typeof(AbpSettingManagementApplicationContractsModule)
)]
@ -21,12 +21,7 @@ public class AbpSettingManagementBlazorModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
context.Services.AddAutoMapperObjectMapper<AbpSettingManagementBlazorModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<SettingManagementBlazorAutoMapperProfile>(validate: true);
});
context.Services.AddMapperlyObjectMapper<AbpSettingManagementBlazorModule>();
Configure<AbpNavigationOptions>(options =>
{

15
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/SettingManagementBlazorAutoMapperProfile.cs

@ -1,15 +0,0 @@
using AutoMapper;
using Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.EmailSettingGroup;
namespace Volo.Abp.SettingManagement.Blazor;
public class SettingManagementBlazorAutoMapperProfile : Profile
{
public SettingManagementBlazorAutoMapperProfile()
{
CreateMap<EmailSettingGroupViewComponent.UpdateEmailSettingsViewModel, UpdateEmailSettingsDto>();
CreateMap<EmailSettingsDto, EmailSettingGroupViewComponent.UpdateEmailSettingsViewModel>();
CreateMap<EmailSettingGroupViewComponent.SendTestEmailViewModel, SendTestEmailInput>();
}
}

31
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/SettingManagementBlazorMappers.cs

@ -0,0 +1,31 @@
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
using static Volo.Abp.SettingManagement.Blazor.Pages.SettingManagement.EmailSettingGroup.EmailSettingGroupViewComponent;
namespace Volo.Abp.SettingManagement.Blazor;
[Mapper]
public partial class UpdateEmailSettingsViewModelToUpdateEmailSettingsDtoMapper : MapperBase<UpdateEmailSettingsViewModel, UpdateEmailSettingsDto>
{
public override partial UpdateEmailSettingsDto Map(UpdateEmailSettingsViewModel source);
public override partial void Map(UpdateEmailSettingsViewModel source, UpdateEmailSettingsDto destination);
}
[Mapper]
public partial class EmailSettingsDtoToUpdateEmailSettingsViewModelMapper : MapperBase<EmailSettingsDto, UpdateEmailSettingsViewModel>
{
public override partial UpdateEmailSettingsViewModel Map(EmailSettingsDto source);
public override partial void Map(EmailSettingsDto source, UpdateEmailSettingsViewModel destination);
}
[Mapper]
public partial class SendTestEmailViewModelToSendTestEmailInputMapper : MapperBase<SendTestEmailViewModel, SendTestEmailInput>
{
public override partial SendTestEmailInput Map(SendTestEmailViewModel source);
public override partial void Map(SendTestEmailViewModel source, SendTestEmailInput destination);
}

2
modules/setting-management/src/Volo.Abp.SettingManagement.Blazor/Volo.Abp.SettingManagement.Blazor.csproj

@ -9,7 +9,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Mapperly\Volo.Abp.Mapperly.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Components.Web.Theming\Volo.Abp.AspNetCore.Components.Web.Theming.csproj" />
</ItemGroup>

10
modules/setting-management/src/Volo.Abp.SettingManagement.Web/AbpSettingManagementWebModule.cs

@ -1,8 +1,8 @@
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc.Localization;
using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared;
using Volo.Abp.AutoMapper;
using Volo.Abp.Http.ProxyScripting.Generators.JQuery;
using Volo.Abp.Mapperly;
using Volo.Abp.Modularity;
using Volo.Abp.SettingManagement.Localization;
using Volo.Abp.SettingManagement.Web.Navigation;
@ -15,7 +15,7 @@ namespace Volo.Abp.SettingManagement.Web;
[DependsOn(
typeof(AbpSettingManagementApplicationContractsModule),
typeof(AbpAutoMapperModule),
typeof(AbpMapperlyModule),
typeof(AbpAspNetCoreMvcUiThemeSharedModule),
typeof(AbpSettingManagementDomainSharedModule)
)]
@ -58,10 +58,6 @@ public class AbpSettingManagementWebModule : AbpModule
options.DisableModule(SettingManagementRemoteServiceConsts.ModuleName);
});
context.Services.AddAutoMapperObjectMapper<AbpSettingManagementWebModule>();
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<SettingManagementWebAutoMapperProfile>(validate: true);
});
context.Services.AddMapperlyObjectMapper<AbpSettingManagementWebModule>();
}
}

14
modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebAutoMapperProfile.cs

@ -1,14 +0,0 @@
using AutoMapper;
using Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup;
namespace Volo.Abp.SettingManagement.Web;
public class SettingManagementWebAutoMapperProfile : Profile
{
public SettingManagementWebAutoMapperProfile()
{
CreateMap<EmailSettingsDto, EmailSettingGroupViewComponent.UpdateEmailSettingsViewModel>();
CreateMap<SendTestEmailModal.SendTestEmailViewModel, SendTestEmailInput>();
}
}

22
modules/setting-management/src/Volo.Abp.SettingManagement.Web/SettingManagementWebMappers.cs

@ -0,0 +1,22 @@
using Riok.Mapperly.Abstractions;
using Volo.Abp.Mapperly;
using static Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup.EmailSettingGroupViewComponent;
using static Volo.Abp.SettingManagement.Web.Pages.SettingManagement.Components.EmailSettingGroup.SendTestEmailModal;
namespace Volo.Abp.SettingManagement.Web;
[Mapper]
public partial class EmailSettingsDtoToUpdateEmailSettingsViewModelMapper : MapperBase<EmailSettingsDto, UpdateEmailSettingsViewModel>
{
public override partial UpdateEmailSettingsViewModel Map(EmailSettingsDto source);
public override partial void Map(EmailSettingsDto source, UpdateEmailSettingsViewModel destination);
}
[Mapper]
public partial class SendTestEmailViewModelToSendTestEmailInputMapper : MapperBase<SendTestEmailViewModel, SendTestEmailInput>
{
public override partial SendTestEmailInput Map(SendTestEmailViewModel source);
public override partial void Map(SendTestEmailViewModel source, SendTestEmailInput destination);
}

2
modules/setting-management/src/Volo.Abp.SettingManagement.Web/Volo.Abp.SettingManagement.Web.csproj

@ -15,7 +15,7 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Mapperly\Volo.Abp.Mapperly.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared\Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Localization\Volo.Abp.Localization.csproj" />
<ProjectReference Include="..\Volo.Abp.SettingManagement.Domain.Shared\Volo.Abp.SettingManagement.Domain.Shared.csproj" />

Loading…
Cancel
Save