public async Task <DashboardPermissionsSaveModel> GetExistingDashboardPermissionItems(DashboardPermissionsSaveModel model) { var items = await GetDashboardPermissionItemsAsync(4); var newSaveModel = new DashboardPermissionsSaveModel(); newSaveModel.DashboardId = model.DashboardId; newSaveModel.UserId = model.UserId; newSaveModel.UserName = model.UserName; newSaveModel.Items = new List <DashboardPermissionsItemModel>(); newSaveModel.Items.AddRange(items); return(newSaveModel); }
public async Task <ActionResult> DeleteUserDashboardPermissions([FromBody] DashboardPermissionsSaveModel model) { if (ModelState.IsValid) { var user = await _userManager.FindByNameAsync(model.UserName); var grafanaUser = await _grafHelper.GetUserAsync(user.Email); model.UserId = grafanaUser.Id; model.DashboardId = model.DashboardId; model.RoleId = model.RoleId; await _grafHelper.DeleteUserDashboardPermissionAsync(model); } return(RedirectToAction("Manage", "Account")); }
public async Task <MessageModel <DashboardPermissionsSaveModel> > AddOrUpdateUserDashboardPermissionAsync(DashboardPermissionsSaveModel model) { var newSaveItem = new DashboardPermissionsItemModel { Permission = model.RoleId, UserId = model.UserId }; var saveModel = await GetExistingDashboardPermissionItems(model); var ProvidedUserItem = saveModel.Items.FirstOrDefault(i => i.UserId == newSaveItem.UserId); if (ProvidedUserItem != null) { ProvidedUserItem.Permission = newSaveItem.Permission; } else { saveModel.Items.Add(newSaveItem); } return(await ApiClientFactory.Instance.AddUserDashBoardPermission(saveModel)); }
public async Task <MessageModel <DashboardPermissionsSaveModel> > DeleteUserDashboardPermissionAsync(DashboardPermissionsSaveModel model) { var newSaveItem = new DashboardPermissionsItemModel { Permission = model.RoleId, UserId = model.UserId }; var saveModel = await GetExistingDashboardPermissionItems(model); saveModel.Items = saveModel.Items.Where(i => i.UserId != newSaveItem.UserId).ToList(); return(await ApiClientFactory.Instance.AddUserDashBoardPermission(saveModel)); }