public async Task <IActionResult> DeleteThread(int id)
        {
            // Deletes thread and returns 403 if unauthorized
            Result result = await _repository.DeleteThreadAsync(id);

            if (result.Failure)
            {
                return(StatusCode(result.Code, result.Error));
            }

            // Saves changes and returns
            await _repository.SaveChangesAsync();

            return(Ok());
        }
        public async Task <IActionResult> Delete(int id)
        {
            // Deletes thread and returns error if needed
            Result result = await _repository.DeleteThreadAsync(id);

            if (result.Failure)
            {
                return(new StatusCodeResult(result.Code));
            }

            await _repository.SaveChangesAsync();

            // Creates model and returns view
            MessageViewModel model = new MessageViewModel()
            {
                Title        = "Thread deleted",
                MessageTitle = "Thread deleted successfully"
            };

            return(View("Message", model));
        }