mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-28 11:16:37 +08:00
3c2bfb14ca
Co-authored-by: Cursor <cursoragent@cursor.com>
87 lines
3.1 KiB
Go
87 lines
3.1 KiB
Go
package service
|
|
|
|
func (e *EmbyService) seriesPayload(group embySeriesGroup) map[string]any {
|
|
e.rememberSeriesGroup(group)
|
|
imageTags := map[string]string{}
|
|
backdropTags := []string{}
|
|
if group.PosterURL != "" {
|
|
imageTags["Primary"] = embyVirtualImageTag(group.ID, embyVirtualPrimaryTagSuffix)
|
|
}
|
|
if group.BackdropURL != "" || group.PosterURL != "" {
|
|
backdropTags = append(backdropTags, embyVirtualImageTag(group.ID, embyVirtualBackdropTagSuffix))
|
|
}
|
|
lastMediaAdded := group.DateLastMediaAdded
|
|
if lastMediaAdded.IsZero() {
|
|
lastMediaAdded = group.CreatedAt
|
|
}
|
|
item := map[string]any{
|
|
"Id": group.ID,
|
|
"Name": group.Name,
|
|
"ServerId": embyServerID,
|
|
"Type": "Series",
|
|
"MediaType": "Video",
|
|
"IsFolder": true,
|
|
"ParentId": group.LibraryID,
|
|
"ProductionYear": group.Year,
|
|
"Overview": group.Overview,
|
|
"CommunityRating": group.Rating,
|
|
"RecursiveItemCount": len(group.Episodes),
|
|
"ChildCount": len(e.seasonsForSeries(group)),
|
|
"DateCreated": group.CreatedAt,
|
|
"DateLastMediaAdded": lastMediaAdded,
|
|
"ImageTags": imageTags,
|
|
"BackdropImageTags": backdropTags,
|
|
"People": []map[string]any{},
|
|
"ProviderIds": map[string]string{
|
|
"Tmdb": intToStr(group.TMDbID),
|
|
"Bangumi": intToStr(group.BangumiID),
|
|
},
|
|
"UserData": emptyUserData(),
|
|
}
|
|
if group.PosterURL != "" {
|
|
item["PrimaryImageTag"] = embyVirtualImageTag(group.ID, embyVirtualPrimaryTagSuffix)
|
|
}
|
|
if premiered, ok := embyPremiereDate(group.ReleaseDate); ok {
|
|
item["PremiereDate"] = premiered
|
|
}
|
|
return item
|
|
}
|
|
|
|
func (e *EmbyService) seasonPayload(season embySeasonGroup) map[string]any {
|
|
e.rememberSeasonGroup(season)
|
|
imageTags := map[string]string{}
|
|
backdropTags := []string{}
|
|
if season.Series.PosterURL != "" {
|
|
imageTags["Primary"] = embyVirtualImageTag(season.ID, embyVirtualPrimaryTagSuffix)
|
|
}
|
|
if season.Series.BackdropURL != "" || season.Series.PosterURL != "" {
|
|
backdropTags = append(backdropTags, embyVirtualImageTag(season.ID, embyVirtualBackdropTagSuffix))
|
|
}
|
|
item := map[string]any{
|
|
"Id": season.ID,
|
|
"Name": season.Name,
|
|
"ServerId": embyServerID,
|
|
"Type": "Season",
|
|
"MediaType": "Video",
|
|
"IsFolder": true,
|
|
"ParentId": season.SeriesID,
|
|
"SeriesId": season.SeriesID,
|
|
"SeriesName": season.Series.Name,
|
|
"IndexNumber": season.SeasonNum,
|
|
"ChildCount": len(season.Episodes),
|
|
"ImageTags": imageTags,
|
|
"BackdropImageTags": backdropTags,
|
|
"People": []map[string]any{},
|
|
"UserData": emptyUserData(),
|
|
}
|
|
if season.Series.PosterURL != "" {
|
|
item["PrimaryImageTag"] = embyVirtualImageTag(season.ID, embyVirtualPrimaryTagSuffix)
|
|
item["SeriesPrimaryImageTag"] = embyVirtualImageTag(season.Series.ID, embyVirtualPrimaryTagSuffix)
|
|
}
|
|
if season.Series.BackdropURL != "" || season.Series.PosterURL != "" {
|
|
item["ParentBackdropItemId"] = season.Series.ID
|
|
item["ParentBackdropImageTags"] = []string{embyVirtualImageTag(season.Series.ID, embyVirtualBackdropTagSuffix)}
|
|
}
|
|
return item
|
|
}
|