public async Task <IActionResult> Post(int id)
        {
            try
            {
                User user = await _authenticationService.GetUserFromValidToken(Request);

                if (!await _authenticationService.CheckIfUserHasElivatedPermissionByUserObject(user))
                {
                    return(Unauthorized());
                }

                EpisodeExtendedExtra episode = await _databaseService.GetEpisodeAsync(id, true, user.Id);

                if (episode.Topic == null || episode.Topic.Count == 0)
                {
                    return(BadRequest("Episode has nothing to verify."));
                }

                if (episode.Verified)
                {
                    return(BadRequest("Episode is already verified."));
                }

                await _databaseService.VerifyEpisodeAsync(id);

                await _search.AddTopicsAsync(episode.Topic);

                return(Ok());
            }
            catch (TokenDoesNotExistException e)
            {
                return(Unauthorized());
            }
            catch (Exception e)
            {
                if (e.Message.Contains("Sequence contains no elements"))
                {
                    return(BadRequest("Episode is not open to verify."));
                }

                SentrySdk.CaptureException(e);
                _logger.LogError(e.Message);
                return(Problem());
            }
        }