public async Task <ActionResponse> EditFeatureRights(int featureId, int[] featureRights) { try { featureRights = featureRights ?? new int[0]; await _securityContext.EditFeatureRights(featureId, featureRights.Select(l => l).ToArray()); return(new ActionResponse { Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <ActionResponse> EditUserRightsByNames(string userId, string[] roles, string[] functions, string[] accessedRights, string[] deniedRights) { try { if (string.IsNullOrEmpty(userId)) { return(new ActionResponse { Message = "Wrong id", Status = ActionStatus.Warning }); } roles = roles ?? new string[0]; functions = functions ?? new string[0]; accessedRights = accessedRights ?? new string[0]; deniedRights = deniedRights ?? new string[0]; if (accessedRights.Intersect(deniedRights).Any()) { return(new ActionResponse { Status = ActionStatus.Warning, Message = "Accessed and denied must not have same Rights" }); } await _securityContext.EditUserRightsByNames(userId, roles, functions, accessedRights, deniedRights); return(new ActionResponse { Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <UserRightsResponse> GetUserRights(string userId) { try { if (string.IsNullOrEmpty(userId)) { return(new UserRightsResponse { Status = ActionStatus.Warning, Message = "BadRequest" }); } if (userId.Trim().Length > 100) { return(new UserRightsResponse { Message = "UserId longer then 100", Status = ActionStatus.Warning }); } return(new UserRightsResponse { UserRights = _mapper.Map <UserRights>(await _securityContext.GetUserRights(userId)), Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new UserRightsResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new UserRightsResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <AccessResponse> CheckAccess(CheckAccessRequest accessRequest) { try { var validationResult = await _accessRequestValidator.ValidateAsync(accessRequest); if (!validationResult.IsValid) { var response = ValidationResponseHelper.GetResponse(validationResult); return(new AccessResponse { Status = response.Status, Message = response.Message }); } var result = await _securityContext.CheckAccess(accessRequest.UserId, accessRequest.AccessRightNames); return(new AccessResponse { Status = ActionStatus.Success, AccessRightNames = result }); } catch (SecurityDbException e) { return(new AccessResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new AccessResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <ActionResponse> EditRole(int roleId, int[] accessRightsIds, int[] deniedRightsIds, int[] functionIds) { try { accessRightsIds = accessRightsIds ?? new int[0]; deniedRightsIds = deniedRightsIds ?? new int[0]; if (accessRightsIds.Intersect(deniedRightsIds).Any()) { return(new ActionResponse { Status = ActionStatus.Warning, Message = "Accessed and denied must not have same Rights" }); } await _securityContext.EditRoleFunctions(roleId, functionIds); await _securityContext.EditRoleRights(roleId, accessRightsIds, deniedRightsIds); return(new ActionResponse { Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <AccessRightResponse> GetRights(int itemsPerPage, int pageNumber, string mask = null) { try { if (itemsPerPage < 1 || pageNumber < 1 || int.MaxValue / itemsPerPage < pageNumber || mask?.Trim().Length > 100) { return(new AccessRightResponse { Status = ActionStatus.Warning, Message = "BadRequest" }); } var rights = await _securityContext.GetRights(itemsPerPage, pageNumber, mask?.Trim() ?? ""); return(new AccessRightResponse { AccessRights = _mapper.Map <AccessRight[]>(rights.Rights), TotalCount = rights.TotalCount, Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new AccessRightResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new AccessRightResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <ActionResponse> AddFeature(string featureName) { try { if (string.IsNullOrEmpty(featureName) || featureName.Trim().Length > 100) { return(new AccessRightResponse { Message = "Name must be between 1 and 100 characters", Status = ActionStatus.Warning }); } var id = await _securityContext.AddFeature(featureName); return(new ActionResponse { Id = id, Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <AccessRightResponse> AddRights(string[] rights) { try { if (rights.Any(l => string.IsNullOrEmpty(l) || l.Trim().Length > 100)) { return(new AccessRightResponse { Message = "Name must be between 1 and 100 characters", Status = ActionStatus.Warning }); } return(new AccessRightResponse { AccessRights = _mapper.Map <IEnumerable <AccessRight> >( await _securityContext.AddRights(rights)).ToArray(), Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new AccessRightResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new AccessRightResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <ActionResponse> UpdateUserInfo(UserInfo userInfo) { try { var validationResult = await _userRightsValidator.ValidateAsync(userInfo); if (!validationResult.IsValid) { return(ValidationResponseHelper.GetResponse(validationResult)); } await _securityContext.UpdateUser(_mapper.Map <UserInfoDb>(userInfo)); return(new ActionResponse { Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <ActionResponse> DeleteUserRights(string userId) { try { if (string.IsNullOrEmpty(userId)) { return(new ActionResponse { Message = "Nothing was deleted on empty id", Status = ActionStatus.Warning }); } await _securityContext.DeleteUserRights(userId); return(new ActionResponse { Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }
public async Task <ActionResponse> DeleteFeature(int featureId) { try { if (featureId == 0) { return(new ActionResponse { Message = "Nothing was deleted on id = 0", Status = ActionStatus.Warning }); } await _securityContext.DeleteFeature(featureId); return(new ActionResponse { Status = ActionStatus.Success }); } catch (SecurityDbException e) { return(new ActionResponse { Status = ActionStatus.Warning, Message = PrettyExceptionHelper.GetMessage(e) }); } catch (Exception e) { Console.WriteLine(e); return(new ActionResponse { Status = ActionStatus.Error, Message = "Something went wrong!" }); } }