コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <summary>
 /// Deletes the specified request.
 /// </summary>
 /// <param name="request">The request.</param>
 public void Delete(DeleteItem request)
 {
     Delete(new DeleteItems
     {
         Ids = request.Id
     });
 }
コード例 #3
0
        /// <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);
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
ファイル: LibraryService.cs プロジェクト: webcris77/Emby
        /// <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);
            }
        }
コード例 #7
0
        /// <summary>
        /// Deletes the specified request.
        /// </summary>
        /// <param name="request">The request.</param>
        public void Delete(DeleteItem request)
        {
            var task = DeleteItem(request);

            Task.WaitAll(task);
        }
コード例 #8
0
        private Task DeleteItem(DeleteItem request)
        {
            var item = _dtoService.GetItemByDtoId(request.Id);

            return(_libraryManager.DeleteItem(item));
        }