using MediatR; using TakeoutSaaS.Application.Identity.Commands; using TakeoutSaaS.Domain.Identity.Repositories; using TakeoutSaaS.Shared.Abstractions.Tenancy; namespace TakeoutSaaS.Application.Identity.Handlers; /// /// 删除角色处理器。 /// public sealed class DeleteRoleCommandHandler( IRoleRepository roleRepository, ITenantProvider tenantProvider) : IRequestHandler { public async Task Handle(DeleteRoleCommand request, CancellationToken cancellationToken) { var tenantId = tenantProvider.GetCurrentTenantId(); await roleRepository.DeleteAsync(request.RoleId, tenantId, cancellationToken); await roleRepository.SaveChangesAsync(cancellationToken); return true; } }