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)); }
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)); }