using Distribution.Data; using Microsoft.EntityFrameworkCore; namespace Distribution.Infra.Auth { public class PermissionService : IPermissionService { private readonly AppDBContext _context; public PermissionService(AppDBContext context) { _context = context; } public async Task HasPermissionAsync(Guid roleId, string permissionCode) => await _context.RolePermissions .Where(rp => rp.FK_RoleId == roleId && rp.IsActive) .Join(_context.Permissions.Where(p => p.IsActive), rp => rp.FK_PermissionId, p => p.Id, (rp, p) => p.Code) .AnyAsync(code => code == permissionCode); } }