/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> public void Delete(DeleteItem request) { var item = _libraryManager.GetItemById(request.Id); var auth = _authContext.GetAuthorizationInfo(Request); var user = _userManager.GetUserById(auth.UserId); if (item is Playlist || item is BoxSet) { // For now this is allowed if user can see the playlist } else if (item is ILiveTvRecording) { if (!user.Policy.EnableLiveTvManagement) { throw new UnauthorizedAccessException(); } } else { if (!user.Policy.EnableContentDeletion) { throw new UnauthorizedAccessException(); } } var task = _libraryManager.DeleteItem(item); Task.WaitAll(task); }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> public void Delete(DeleteItem request) { Delete(new DeleteItems { Ids = request.Id }); }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> public void Delete(DeleteItem request) { var item = _libraryManager.GetItemById(request.Id); var task = _libraryManager.DeleteItem(item); Task.WaitAll(task); }
private Task DeleteItem(DeleteItem request) { var item = _dtoService.GetItemByDtoId(request.Id); var session = GetSession(_sessionManager); if (!session.UserId.HasValue || !_userManager.GetUserById(session.UserId.Value).Configuration.EnableContentDeletion) { throw new UnauthorizedAccessException("This operation requires a logged in user with delete access."); } return(_libraryManager.DeleteItem(item)); }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> public void Delete(DeleteItem request) { var item = _libraryManager.GetItemById(request.Id); var auth = _authContext.GetAuthorizationInfo(Request); var user = _userManager.GetUserById(auth.UserId); if (!item.CanDelete(user)) { throw new UnauthorizedAccessException(); } var task = _libraryManager.DeleteItem(item); Task.WaitAll(task); }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> public void Delete(DeleteItem request) { var item = _libraryManager.GetItemById(request.Id); var auth = _authContext.GetAuthorizationInfo(Request); var user = _userManager.GetUserById(auth.UserId); if (!item.CanDelete(user)) { throw new SecurityException("Unauthorized access"); } if (item is ILiveTvRecording) { var task = _liveTv.DeleteRecording(request.Id); Task.WaitAll(task); } else { var task = _libraryManager.DeleteItem(item); Task.WaitAll(task); } }
/// <summary> /// Deletes the specified request. /// </summary> /// <param name="request">The request.</param> public void Delete(DeleteItem request) { var task = DeleteItem(request); Task.WaitAll(task); }
private Task DeleteItem(DeleteItem request) { var item = _dtoService.GetItemByDtoId(request.Id); return(_libraryManager.DeleteItem(item)); }