| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- using Abp.Dependency;
- using Abp.Events.Bus.Entities;
- using Abp.Events.Bus.Handlers;
- using Abp.Runtime.Caching;
- using VberZero.BaseSystem.Organizations;
- using VberZero.BaseSystem.Roles;
- using VberZero.Caching;
- namespace VberZero.Authorization.Roles;
- public class VzRolePermissionCacheItemInvalidator :
- IEventHandler<EntityChangedEventData<RolePermissionSetting>>,
- IEventHandler<EntityChangedEventData<OrganizationUnitRole>>,
- IEventHandler<EntityDeletedEventData<Role>>,
- ITransientDependency
- {
- private readonly ICacheManager _cacheManager;
- public VzRolePermissionCacheItemInvalidator(ICacheManager cacheManager)
- {
- _cacheManager = cacheManager;
- }
- public void HandleEvent(EntityChangedEventData<RolePermissionSetting> eventData)
- {
- var cacheKey = eventData.Entity.RoleId + "@" + (eventData.Entity.TenantId ?? 0);
- _cacheManager.GetRolePermissionCache().Remove(cacheKey);
- }
- public void HandleEvent(EntityChangedEventData<OrganizationUnitRole> eventData)
- {
- var cacheKey = eventData.Entity.RoleId + "@" + (eventData.Entity.TenantId ?? 0);
- _cacheManager.GetRolePermissionCache().Remove(cacheKey);
- }
- public void HandleEvent(EntityDeletedEventData<Role> eventData)
- {
- var cacheKey = eventData.Entity.Id + "@" + (eventData.Entity.TenantId ?? 0);
- _cacheManager.GetRolePermissionCache().Remove(cacheKey);
- }
- }
|