Пример #1
0
        public async Task <IActionResult> CheckPermission(CheckPermissionModel model)
        {
            var adminUser = await AdminSvc.GetByIdAsync(model.AdminUserId);

            if (adminUser == null)
            {
                return(new JsonResult(new APIResult <long> {
                    ErrorMsg = "管理员不存在"
                })
                {
                    StatusCode = 400
                });
            }
            var permission = await PerSvc.GetByNameAsync(model.PermissionName);

            if (permission == null)
            {
                return(new JsonResult(new APIResult <long> {
                    ErrorMsg = "权限名不存在"
                })
                {
                    StatusCode = 400
                });
            }
            return(new JsonResult(new APIResult <bool> {
                Data = await PerSvc.CheckPermissionAsync(model.AdminUserId, model.PermissionName)
            }));
        }
Пример #2
0
        public async Task <IActionResult> Post(UpdateRolePermissionModel model)
        {
            var per = await PerSvc.GetByNameAsync(model.Name);

            if (per != null)
            {
                if (per.Id != model.Id)
                {
                    return(new JsonResult(new APIResult <int> {
                        ErrorMsg = "该权限已存在"
                    })
                    {
                        StatusCode = 400
                    });
                }
            }
            UpdateRolePermissionDTO dto = new UpdateRolePermissionDTO();

            dto.Description = model.Description;
            dto.Id          = model.Id;
            dto.Name        = model.Name;
            await PerSvc.UpdateAsync(dto);

            return(Ok());
        }
Пример #3
0
 public async Task <IActionResult> GetAll()
 {
     return(new JsonResult(new APIResult <List <ListRolePermissionDTO> > {
         Data = await PerSvc.GetAllAsync()
     })
     {
     });
 }
Пример #4
0
        public async Task <IActionResult> GetPageData(int pageIndex = 1, int pageDataCount = 10)
        {
            var roles = await PerSvc.GetPageDataAsync(pageIndex, pageDataCount);

            var totalCount = await PerSvc.TotalCountAsync();

            return(new JsonResult(new APIResult <ListModel <ListRolePermissionDTO> > {
                Data = new ListModel <ListRolePermissionDTO> {
                    Datas = roles, TotalCount = totalCount
                }
            }));
        }
Пример #5
0
        public async Task <IActionResult> GetByRoleId(long roleId)
        {
            var model = await PerSvc.GetByRoleIdAsync(roleId);

            if (model == null)
            {
                return(new JsonResult(new APIResult <long> {
                    ErrorMsg = "id不存在"
                })
                {
                    StatusCode = 400
                });
            }
            return(new JsonResult(new APIResult <List <ListRolePermissionDTO> > {
                Data = model
            }));
        }
Пример #6
0
        public async Task <IActionResult> CheckPermission(string perName)
        {
            string token = JWTHelper.GetToken(HttpContext, "token");

            if (!JWTHelper.Decrypt(token, out ListAdminUserDTO adminUser))
            {
                return(new JsonResult(new APIResult <long> {
                    ErrorMsg = "请先登录!"
                })
                {
                    StatusCode = 401
                });
            }
            if (await PerSvc.CheckPermissionAsync(adminUser.Id, perName))
            {
                return(Ok());
            }
            return(Unauthorized());
        }
Пример #7
0
        public async Task <IActionResult> Put(AddRolePermissionModel model)
        {
            if (await PerSvc.GetByNameAsync(model.Name) != null)
            {
                return(new JsonResult(new APIResult <int> {
                    ErrorMsg = "该权限已存在"
                })
                {
                    StatusCode = 400
                });
            }
            AddRolePermissionDTO dto = new AddRolePermissionDTO();

            dto.Name        = model.Name;
            dto.Description = model.Description;
            return(new JsonResult(new APIResult <long> {
                Data = await PerSvc.AddNewAsync(dto)
            }));
        }
Пример #8
0
        public async Task <IActionResult> Delete(long id)
        {
            await PerSvc.MarkDeleteAsync(id);

            return(Ok());
        }
Пример #9
0
        public async Task <IActionResult> UpdateRoleToPermisses(UpdateRoleOrPermissionModel model)
        {
            await PerSvc.UpdateRoleToPermissesAsync(model.Id, model.Ids);

            return(Ok());
        }