mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-23 06:25:24 -07:00
Clean up leftovers
This commit is contained in:
parent
1d816fe093
commit
468847b103
14 changed files with 28 additions and 65 deletions
|
@ -169,7 +169,6 @@ namespace Ombi.Schedule.Jobs.Emby
|
||||||
EmbyId = tvShow.Id,
|
EmbyId = tvShow.Id,
|
||||||
Url = EmbyHelper.GetEmbyMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname),
|
Url = EmbyHelper.GetEmbyMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname),
|
||||||
AddedAt = DateTime.UtcNow,
|
AddedAt = DateTime.UtcNow,
|
||||||
Repository = _repo
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -259,8 +258,7 @@ namespace Ombi.Schedule.Jobs.Emby
|
||||||
Type = MediaType.Movie,
|
Type = MediaType.Movie,
|
||||||
EmbyId = movieInfo.Id,
|
EmbyId = movieInfo.Id,
|
||||||
Url = EmbyHelper.GetEmbyMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname),
|
Url = EmbyHelper.GetEmbyMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname),
|
||||||
AddedAt = DateTime.UtcNow,
|
AddedAt = DateTime.UtcNow
|
||||||
Repository = _repo
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -146,8 +146,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin
|
||||||
Type = MediaType.Series,
|
Type = MediaType.Series,
|
||||||
JellyfinId = tvShow.Id,
|
JellyfinId = tvShow.Id,
|
||||||
Url = JellyfinHelper.GetJellyfinMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname),
|
Url = JellyfinHelper.GetJellyfinMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname),
|
||||||
AddedAt = DateTime.UtcNow,
|
AddedAt = DateTime.UtcNow
|
||||||
Repository = _repo
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -227,8 +226,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin
|
||||||
Type = MediaType.Movie,
|
Type = MediaType.Movie,
|
||||||
JellyfinId = movieInfo.Id,
|
JellyfinId = movieInfo.Id,
|
||||||
Url = JellyfinHelper.GetJellyfinMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname),
|
Url = JellyfinHelper.GetJellyfinMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname),
|
||||||
AddedAt = DateTime.UtcNow,
|
AddedAt = DateTime.UtcNow
|
||||||
Repository = _repo
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -250,7 +250,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
||||||
recentlyAddedLog.Add(new RecentlyAddedLog
|
recentlyAddedLog.Add(new RecentlyAddedLog
|
||||||
{
|
{
|
||||||
AddedAt = DateTime.Now,
|
AddedAt = DateTime.Now,
|
||||||
Type = p.Repository?.RecentlyAddedType ?? RecentlyAddedType.Plex, // TODO
|
Type = p.RecentlyAddedType,
|
||||||
ContentType = ContentType.Parent,
|
ContentType = ContentType.Parent,
|
||||||
ContentId = StringHelper.IntParseLinq(p.TheMovieDbId),
|
ContentId = StringHelper.IntParseLinq(p.TheMovieDbId),
|
||||||
});
|
});
|
||||||
|
@ -264,7 +264,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
||||||
recentlyAddedLog.Add(new RecentlyAddedLog
|
recentlyAddedLog.Add(new RecentlyAddedLog
|
||||||
{
|
{
|
||||||
AddedAt = DateTime.Now,
|
AddedAt = DateTime.Now,
|
||||||
Type = p.Series.Repository?.RecentlyAddedType ?? RecentlyAddedType.Plex, // TODO
|
Type = p.Series.RecentlyAddedType,
|
||||||
ContentType = ContentType.Episode,
|
ContentType = ContentType.Episode,
|
||||||
ContentId = StringHelper.IntParseLinq(p.Series.TvDbId),
|
ContentId = StringHelper.IntParseLinq(p.Series.TvDbId),
|
||||||
EpisodeNumber = p.EpisodeNumber,
|
EpisodeNumber = p.EpisodeNumber,
|
||||||
|
@ -510,7 +510,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
var info = await _movieApi.GetMovieInformationWithExtraInfo(movieDbId, defaultLanguageCode);
|
var info = await _movieApi.GetMovieInformationWithExtraInfo(movieDbId, defaultLanguageCode);
|
||||||
var mediaurl = content.GetExternalUrl();
|
var mediaurl = content.Url;
|
||||||
if (info == null)
|
if (info == null)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
@ -720,7 +720,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
||||||
AddBackgroundInsideTable($"https://image.tmdb.org/t/p/w1280/");
|
AddBackgroundInsideTable($"https://image.tmdb.org/t/p/w1280/");
|
||||||
}
|
}
|
||||||
AddPosterInsideTable(banner);
|
AddPosterInsideTable(banner);
|
||||||
AddMediaServerUrl(t.GetExternalUrl(), banner);
|
AddMediaServerUrl(t.Url, banner);
|
||||||
AddInfoTable();
|
AddInfoTable();
|
||||||
|
|
||||||
AddTvTitle(info, tvInfo);
|
AddTvTitle(info, tvInfo);
|
||||||
|
|
|
@ -353,8 +353,7 @@ namespace Ombi.Schedule.Jobs.Plex
|
||||||
Title = movie.title,
|
Title = movie.title,
|
||||||
Url = PlexHelper.GetPlexMediaUrl(servers.MachineIdentifier, movie.ratingKey),
|
Url = PlexHelper.GetPlexMediaUrl(servers.MachineIdentifier, movie.ratingKey),
|
||||||
Seasons = new List<PlexSeasonsContent>(),
|
Seasons = new List<PlexSeasonsContent>(),
|
||||||
Quality = movie.Media?.FirstOrDefault()?.videoResolution ?? string.Empty,
|
Quality = movie.Media?.FirstOrDefault()?.videoResolution ?? string.Empty
|
||||||
Repository = Repo
|
|
||||||
};
|
};
|
||||||
if (providerIds.ImdbId.HasValue())
|
if (providerIds.ImdbId.HasValue())
|
||||||
{
|
{
|
||||||
|
@ -557,8 +556,7 @@ namespace Ombi.Schedule.Jobs.Plex
|
||||||
Type = MediaType.Series,
|
Type = MediaType.Series,
|
||||||
Title = show.title,
|
Title = show.title,
|
||||||
Url = PlexHelper.GetPlexMediaUrl(servers.MachineIdentifier, show.ratingKey),
|
Url = PlexHelper.GetPlexMediaUrl(servers.MachineIdentifier, show.ratingKey),
|
||||||
Seasons = new List<PlexSeasonsContent>(),
|
Seasons = new List<PlexSeasonsContent>()
|
||||||
Repository = Repo
|
|
||||||
};
|
};
|
||||||
await GetProviderIds(showMetadata, item);
|
await GetProviderIds(showMetadata, item);
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ namespace Ombi.Store.Entities
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ProviderId { get; set; }
|
public string ProviderId { get; set; }
|
||||||
public string EmbyId { get; set; }
|
public string EmbyId { get; set; }
|
||||||
|
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Emby;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
using Ombi.Store.Repository;
|
|
||||||
|
|
||||||
namespace Ombi.Store.Entities
|
namespace Ombi.Store.Entities
|
||||||
{
|
{
|
||||||
|
@ -12,10 +11,9 @@ namespace Ombi.Store.Entities
|
||||||
public string TvDbId { get; set; }
|
public string TvDbId { get; set; }
|
||||||
public string TheMovieDbId { get; set; }
|
public string TheMovieDbId { get; set; }
|
||||||
public MediaType Type { get; set; }
|
public MediaType Type { get; set; }
|
||||||
public IMediaServerContentRepositoryLight Repository { get; }
|
public RecentlyAddedType RecentlyAddedType{ get; }
|
||||||
|
|
||||||
public string Url { get; set; }
|
public string Url { get; set; }
|
||||||
public string GetExternalUrl();
|
|
||||||
|
|
||||||
public ICollection<IMediaServerEpisode> Episodes { get; set; }
|
public ICollection<IMediaServerEpisode> Episodes { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ namespace Ombi.Store.Entities
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ProviderId { get; set; }
|
public string ProviderId { get; set; }
|
||||||
public string JellyfinId { get; set; }
|
public string JellyfinId { get; set; }
|
||||||
|
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Jellyfin;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,12 +28,8 @@ namespace Ombi.Store.Entities
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public bool HasTheMovieDb => !string.IsNullOrEmpty(TheMovieDbId);
|
public bool HasTheMovieDb => !string.IsNullOrEmpty(TheMovieDbId);
|
||||||
|
|
||||||
[NotMapped] //TODO: instantiate this variable upon read // something in ExternalContext.cs?
|
[NotMapped]
|
||||||
public IMediaServerContentRepositoryLight Repository { get; set; }
|
public abstract RecentlyAddedType RecentlyAddedType { get; }
|
||||||
|
|
||||||
public string GetExternalUrl() {
|
|
||||||
return string.Empty; // TODO
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class MediaServerEpisode: Entity, IMediaServerEpisode
|
public abstract class MediaServerEpisode: Entity, IMediaServerEpisode
|
||||||
|
|
|
@ -51,6 +51,8 @@ namespace Ombi.Store.Entities
|
||||||
get => (ICollection<PlexEpisode>)Episodes;
|
get => (ICollection<PlexEpisode>)Episodes;
|
||||||
set => Episodes = (ICollection<IMediaServerEpisode>)value;
|
set => Episodes = (ICollection<IMediaServerEpisode>)value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Plex;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Table("PlexSeasonsContent")]
|
[Table("PlexSeasonsContent")]
|
||||||
|
|
|
@ -5,8 +5,14 @@ using Ombi.Store.Entities;
|
||||||
|
|
||||||
namespace Ombi.Store.Repository
|
namespace Ombi.Store.Repository
|
||||||
{
|
{
|
||||||
public interface IMediaServerContentRepository<Content> : IExternalRepository<Content>, IMediaServerContentRepositoryLight
|
public interface IMediaServerContentRepository<Content> : IExternalRepository<Content>
|
||||||
where Content : IMediaServerContent
|
where Content : IMediaServerContent
|
||||||
{
|
{
|
||||||
|
RecentlyAddedType RecentlyAddedType{ get; }
|
||||||
|
Task Update(IMediaServerContent existingContent);
|
||||||
|
IQueryable<IMediaServerEpisode> GetAllEpisodes();
|
||||||
|
Task<IMediaServerEpisode> Add(IMediaServerEpisode content);
|
||||||
|
Task AddRange(IEnumerable<IMediaServerEpisode> content);
|
||||||
|
void UpdateWithoutSave(IMediaServerContent existingContent);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,30 +0,0 @@
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Threading.Tasks;
|
|
||||||
using Ombi.Store.Entities;
|
|
||||||
|
|
||||||
namespace Ombi.Store.Repository
|
|
||||||
{
|
|
||||||
// TOOD: this is a mess done to bypass the fact that
|
|
||||||
// I can't pass around IMediaServerContentRepository as a parameter
|
|
||||||
// because I want to pass it a generic IMediaServerContent as a 'type'
|
|
||||||
// and casting from concrete classes doesn't work due to my poor C# knowledge
|
|
||||||
|
|
||||||
// My workaround so far has been to use this lightened interface,
|
|
||||||
// but the ever-growing number of wrapper methods for methods coming from IRepository<T>
|
|
||||||
// is starting to smell (see implementing class MediaServerContentRepository).
|
|
||||||
public interface IMediaServerContentRepositoryLight
|
|
||||||
{
|
|
||||||
RecentlyAddedType RecentlyAddedType{ get; }
|
|
||||||
Task Update(IMediaServerContent existingContent);
|
|
||||||
|
|
||||||
// IQueryable<IMediaServerContent> GetAllContent();
|
|
||||||
// Task<IMediaServerContent> FindContent(object key);
|
|
||||||
// Task<int> SaveChangesAsync();
|
|
||||||
|
|
||||||
IQueryable<IMediaServerEpisode> GetAllEpisodes();
|
|
||||||
Task<IMediaServerEpisode> Add(IMediaServerEpisode content);
|
|
||||||
Task AddRange(IEnumerable<IMediaServerEpisode> content);
|
|
||||||
void UpdateWithoutSave(IMediaServerContent existingContent);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -12,7 +12,7 @@ namespace Ombi.Store.Repository
|
||||||
{
|
{
|
||||||
Task<bool> ContentExists(string providerId);
|
Task<bool> ContentExists(string providerId);
|
||||||
Task<PlexServerContent> Get(string providerId, ProviderType type);
|
Task<PlexServerContent> Get(string providerId, ProviderType type);
|
||||||
Task<PlexServerContent> GetByType(string providerId, ProviderType type, MediaType MediaServerType);
|
Task<PlexServerContent> GetByType(string providerId, ProviderType type, MediaType mediaType);
|
||||||
Task<PlexServerContent> GetByKey(int key);
|
Task<PlexServerContent> GetByKey(int key);
|
||||||
Task<PlexEpisode> GetEpisodeByKey(int key);
|
Task<PlexEpisode> GetEpisodeByKey(int key);
|
||||||
IEnumerable<PlexServerContent> GetWhereContentByCustom(Expression<Func<PlexServerContent, bool>> predicate);
|
IEnumerable<PlexServerContent> GetWhereContentByCustom(Expression<Func<PlexServerContent, bool>> predicate);
|
||||||
|
|
|
@ -17,11 +17,6 @@ namespace Ombi.Store.Repository
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract Task Update(IMediaServerContent existingContent);
|
public abstract Task Update(IMediaServerContent existingContent);
|
||||||
|
|
||||||
// TOOD: this smells: trying to wrap ExternalRepository methods in IMediaServerContentRepositoryLight for generic consumption
|
|
||||||
public IQueryable<IMediaServerContent> GetAllContent() => (IQueryable<IMediaServerContent>)GetAll();
|
|
||||||
public async Task<IMediaServerContent> FindContent(object key) => (IMediaServerContent)await Find(key);
|
|
||||||
|
|
||||||
public abstract IQueryable<IMediaServerEpisode> GetAllEpisodes();
|
public abstract IQueryable<IMediaServerEpisode> GetAllEpisodes();
|
||||||
public abstract Task<IMediaServerEpisode> Add(IMediaServerEpisode content);
|
public abstract Task<IMediaServerEpisode> Add(IMediaServerEpisode content);
|
||||||
public abstract Task AddRange(IEnumerable<IMediaServerEpisode> content);
|
public abstract Task AddRange(IEnumerable<IMediaServerEpisode> content);
|
||||||
|
|
|
@ -75,16 +75,16 @@ namespace Ombi.Store.Repository
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<PlexServerContent> GetByType(string providerId, ProviderType type, MediaType plexType)
|
public async Task<PlexServerContent> GetByType(string providerId, ProviderType type, MediaType mediaType)
|
||||||
{
|
{
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case ProviderType.ImdbId:
|
case ProviderType.ImdbId:
|
||||||
return await Db.PlexServerContent.FirstOrDefaultAsync(x => x.ImdbId == providerId && x.Type == plexType);
|
return await Db.PlexServerContent.FirstOrDefaultAsync(x => x.ImdbId == providerId && x.Type == mediaType);
|
||||||
case ProviderType.TheMovieDbId:
|
case ProviderType.TheMovieDbId:
|
||||||
return await Db.PlexServerContent.FirstOrDefaultAsync(x => x.TheMovieDbId == providerId && x.Type == plexType);
|
return await Db.PlexServerContent.FirstOrDefaultAsync(x => x.TheMovieDbId == providerId && x.Type == mediaType);
|
||||||
case ProviderType.TvDbId:
|
case ProviderType.TvDbId:
|
||||||
return await Db.PlexServerContent.FirstOrDefaultAsync(x => x.TvDbId == providerId && x.Type == plexType);
|
return await Db.PlexServerContent.FirstOrDefaultAsync(x => x.TvDbId == providerId && x.Type == mediaType);
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue