fix(sentry): sentry bug fix #223
Merged
andrey.dekterev
merged 1 commits from in-643-sentry-bug-fix into develop 3 years ago
@ -1,82 +0,0 @@ |
||||
import isEmpty from 'lodash/isEmpty' |
||||
import reduce from 'lodash/reduce' |
||||
import find from 'lodash/find' |
||||
import map from 'lodash/map' |
||||
|
||||
import type { PreviewsData, Previews } from 'requests' |
||||
import { getMatchesPreviewImages } from 'requests' |
||||
|
||||
import type { MatchesBySection, Matches } from './types' |
||||
|
||||
const combinePreviews = (matches: Matches, previews: Previews) => ( |
||||
map(matches, (match) => { |
||||
const preview = find( |
||||
previews, |
||||
{ match_id: match.id, sport_id: match.sport }, |
||||
)?.preview |
||||
return preview ? { ...match, preview } : match |
||||
}) |
||||
) |
||||
|
||||
/** |
||||
* Запрашивает превью картинок матчей с видео и статус которых Завершенный |
||||
*/ |
||||
const getPreviews = async (matches: Matches) => { |
||||
const previewsData = reduce( |
||||
matches, |
||||
(acc: PreviewsData, { |
||||
has_video, |
||||
id, |
||||
sport, |
||||
}) => { |
||||
if (has_video) { |
||||
acc.push({ |
||||
match_id: id, |
||||
sport_id: sport, |
||||
}) |
||||
} |
||||
return acc |
||||
}, |
||||
[], |
||||
) |
||||
|
||||
if (isEmpty(previewsData)) return matches |
||||
|
||||
const previews = await getMatchesPreviewImages(previewsData) |
||||
return combinePreviews(matches, previews) |
||||
} |
||||
|
||||
export const getMatchesPreviews = async (matches: MatchesBySection) => { |
||||
try { |
||||
if (matches.isVideoSections) { |
||||
const [ |
||||
broadcast, |
||||
features, |
||||
highlights, |
||||
] = await Promise.all( |
||||
[ |
||||
getPreviews(matches.broadcast), |
||||
getPreviews(matches.features), |
||||
getPreviews(matches.highlights), |
||||
], |
||||
) |
||||
return { |
||||
...matches, |
||||
broadcast, |
||||
features, |
||||
highlights, |
||||
} |
||||
} |
||||
|
||||
const broadcast = await getPreviews(matches.broadcast) |
||||
|
||||
return { |
||||
...matches, |
||||
broadcast, |
||||
features: [], |
||||
highlights: [], |
||||
} |
||||
} catch (error) { |
||||
return matches |
||||
} |
||||
} |
||||
Loading…
Reference in new issue