diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/UserMenus/UserMenuAppService.cs b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/UserMenus/UserMenuAppService.cs index 4ea1a4223..67b2cddde 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/UserMenus/UserMenuAppService.cs +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/UserMenus/UserMenuAppService.cs @@ -66,20 +66,22 @@ public class UserMenuAppService : [HttpGet("web-menu/{userId}")] public virtual async Task> GetWebMenusOfUserAsync(Guid? userId) { + //var permissions = await GetPermissionsAsync(userId.Value).ConfigureAwait(false); - var permissions = await GetPermissionsAsync(userId.Value).ConfigureAwait(false); + //var menus = await _menuRepository + // .GetListAsync(p => (permissions.Contains(p.Permission) || p.Permission == "skip") + // && p.Portal == WEB_PORTAL + // && p.Status == MenuStatus.Enable).ConfigureAwait(false); + //var dtos = ObjectMapper.Map, List>(menus); + var userMenus = await _repository + .GetListAsync(p => p.UserId == userId); + + userMenus = userMenus.Where(p => (int)p.Portal == (int)EnumPortal.Web).ToList(); - var menus = await _menuRepository - .GetListAsync(p => (permissions.Contains(p.Permission) || p.Permission == "skip") - && p.Portal == WEB_PORTAL - && p.Status == MenuStatus.Enable).ConfigureAwait(false); - var dtos = ObjectMapper.Map, List>(menus); - // var userMenus = await _repository - // .GetListAsync(p => p.UserId == userId && p.Portal == WEB_PORTAL); - // var menuCodes = userMenus.Select(p => p.MenuCode).Distinct().ToList(); - // var menus = await GetListByPortalAndCodesAsync(WEB_PORTAL, menuCodes); + var menuCodes = userMenus.Select(p => p.MenuCode).Distinct().ToList(); + var menus = await GetListByPortalAndCodesAsync(WEB_PORTAL, menuCodes); - var result = BuildMenuTree(dtos); + var result = BuildMenuTree(menus); return result; } @@ -135,9 +137,9 @@ public class UserMenuAppService : private async Task> GetListByPortalAndCodesAsync(EnumPortal portal, List menuCodes) { var entities = await _menuRepository - .GetListAsync(p => menuCodes.Contains(p.Code) - && p.Portal == portal - && p.Status == MenuStatus.Enable).ConfigureAwait(false); + .GetListAsync(p => menuCodes.Contains(p.Code)); + + entities = entities.Where(p => p.Status == MenuStatus.Enable && p.Portal == EnumPortal.Web).ToList(); return ObjectMapper.Map, List>(entities); } diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj index a76df16b7..628a9913d 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj @@ -16,6 +16,7 @@ 1.yyyy.Mdd.Hmm 1.2023.327.1207 True + @@ -56,9 +57,9 @@ - + diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.AuthDbContext.sql b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.AuthDbContext.sql index a2fb392c6..feddf2794 100644 --- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.AuthDbContext.sql +++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.AuthDbContext.sql @@ -233,7 +233,7 @@ CREATE TABLE [Auth_Menu] ( [Portal] nvarchar(64) NOT NULL, [ParentCode] nvarchar(64) NULL, [Permission] nvarchar(64) NULL, - [Component] nvarchar(64) NULL, + [Component] nvarchar(1024) NULL, [GroupName] nvarchar(1024) NULL, [GroupSort] int NOT NULL, [CountUrl] nvarchar(max) NULL,