From 6564552e66049fc2633a0985776c49d537779c12 Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Tue, 12 Sep 2023 15:44:30 -0400 Subject: [PATCH] Added initial Orders permission to customer role to view the placed order --- .../Handlers/CustomerRoleCreationHandler.cs | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Handlers/CustomerRoleCreationHandler.cs diff --git a/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Handlers/CustomerRoleCreationHandler.cs b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Handlers/CustomerRoleCreationHandler.cs new file mode 100644 index 00000000..07480c62 --- /dev/null +++ b/services/administration/src/EShopOnAbp.AdministrationService.HttpApi.Host/Handlers/CustomerRoleCreationHandler.cs @@ -0,0 +1,29 @@ +using System.Threading.Tasks; +using Volo.Abp.DependencyInjection; +using Volo.Abp.Domain.Entities.Events.Distributed; +using Volo.Abp.EventBus.Distributed; +using Volo.Abp.Identity; +using Volo.Abp.PermissionManagement; +using Volo.Abp.Uow; + +namespace EShopOnAbp.AdministrationService.Handlers; + +public class CustomerRoleCreationHandler : IDistributedEventHandler>, + ITransientDependency +{ + private readonly IPermissionManager _permissionManager; + protected const string CustomerRole = "customer"; + protected const string OrderPermission = "OrderingService.Orders"; + + public CustomerRoleCreationHandler(IPermissionManager permissionManager) + { + _permissionManager = permissionManager; + } + + [UnitOfWork] + public virtual async Task HandleEventAsync(EntityCreatedEto eventData) + { + // Assign initial permissions for the customer role + await _permissionManager.SetForRoleAsync(CustomerRole, OrderPermission, true); + } +} \ No newline at end of file