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);
        }
Exemplo n.º 2
0
        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));
        }