Ejemplo n.º 1
0
    public async Task <IActionResult> UpdateVideoThumbnailsAsync([FromBody] ArchiveVideoDto archiveVideoDto)
    {
        var apiKey = Request.Headers[Constants.ConfigKeys.ApiKey];

        if (apiKey != _expectedApiKey)
        {
            return(Unauthorized());
        }

        var archiveVideo = _mapper.Map <ArchiveVideo>(archiveVideoDto);

        var spec       = new ArchiveVideoByVideoIdSpec(archiveVideo.VideoId !);
        var existVideo = await _repository.GetBySpecAsync(spec);

        if (existVideo == null)
        {
            return(BadRequest());
        }

        existVideo.AnimatedThumbnailUri = archiveVideo.AnimatedThumbnailUri;
        await _repository.UpdateAsync(existVideo);

        return(Ok(archiveVideo));
    }
Ejemplo n.º 2
0
    public async Task <IActionResult> AddVideoInfoAsync([FromBody] ArchiveVideoDto archiveVideoDto)
    {
        var apiKey = Request.Headers[Constants.ConfigKeys.ApiKey];

        if (apiKey != _expectedApiKey)
        {
            return(Unauthorized());
        }

        var archiveVideo = _mapper.Map <ArchiveVideo>(archiveVideoDto);

        var spec       = new ArchiveVideoByVideoIdSpec(archiveVideo.VideoId !);
        var existVideo = await _repository.GetBySpecAsync(spec);

        if (existVideo == null)
        {
            archiveVideo = await _repository.AddAsync(archiveVideo);

            var videoAddedEvent = new VideoAddedEvent(archiveVideo);
            archiveVideo.Events.Add(videoAddedEvent);
        }
        else
        {
            existVideo.Description = archiveVideo.Description;
            existVideo.Title       = archiveVideo.Title;
            existVideo.Duration    = archiveVideo.Duration;
            if (!string.IsNullOrEmpty(archiveVideo.AnimatedThumbnailUri))
            {
                existVideo.AnimatedThumbnailUri = archiveVideo.AnimatedThumbnailUri;
            }

            await _repository.UpdateAsync(existVideo);
        }

        return(Ok(archiveVideo));
    }