mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-22 22:23:34 -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,
|
||||
Url = EmbyHelper.GetEmbyMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname),
|
||||
AddedAt = DateTime.UtcNow,
|
||||
Repository = _repo
|
||||
});
|
||||
}
|
||||
else
|
||||
|
@ -259,8 +258,7 @@ namespace Ombi.Schedule.Jobs.Emby
|
|||
Type = MediaType.Movie,
|
||||
EmbyId = movieInfo.Id,
|
||||
Url = EmbyHelper.GetEmbyMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname),
|
||||
AddedAt = DateTime.UtcNow,
|
||||
Repository = _repo
|
||||
AddedAt = DateTime.UtcNow
|
||||
});
|
||||
}
|
||||
else
|
||||
|
|
|
@ -146,8 +146,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin
|
|||
Type = MediaType.Series,
|
||||
JellyfinId = tvShow.Id,
|
||||
Url = JellyfinHelper.GetJellyfinMediaUrl(tvShow.Id, server?.ServerId, server.ServerHostname),
|
||||
AddedAt = DateTime.UtcNow,
|
||||
Repository = _repo
|
||||
AddedAt = DateTime.UtcNow
|
||||
});
|
||||
}
|
||||
else
|
||||
|
@ -227,8 +226,7 @@ namespace Ombi.Schedule.Jobs.Jellyfin
|
|||
Type = MediaType.Movie,
|
||||
JellyfinId = movieInfo.Id,
|
||||
Url = JellyfinHelper.GetJellyfinMediaUrl(movieInfo.Id, server?.ServerId, server.ServerHostname),
|
||||
AddedAt = DateTime.UtcNow,
|
||||
Repository = _repo
|
||||
AddedAt = DateTime.UtcNow
|
||||
});
|
||||
}
|
||||
else
|
||||
|
|
|
@ -250,7 +250,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
|||
recentlyAddedLog.Add(new RecentlyAddedLog
|
||||
{
|
||||
AddedAt = DateTime.Now,
|
||||
Type = p.Repository?.RecentlyAddedType ?? RecentlyAddedType.Plex, // TODO
|
||||
Type = p.RecentlyAddedType,
|
||||
ContentType = ContentType.Parent,
|
||||
ContentId = StringHelper.IntParseLinq(p.TheMovieDbId),
|
||||
});
|
||||
|
@ -264,7 +264,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
|||
recentlyAddedLog.Add(new RecentlyAddedLog
|
||||
{
|
||||
AddedAt = DateTime.Now,
|
||||
Type = p.Series.Repository?.RecentlyAddedType ?? RecentlyAddedType.Plex, // TODO
|
||||
Type = p.Series.RecentlyAddedType,
|
||||
ContentType = ContentType.Episode,
|
||||
ContentId = StringHelper.IntParseLinq(p.Series.TvDbId),
|
||||
EpisodeNumber = p.EpisodeNumber,
|
||||
|
@ -510,7 +510,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
|||
continue;
|
||||
}
|
||||
var info = await _movieApi.GetMovieInformationWithExtraInfo(movieDbId, defaultLanguageCode);
|
||||
var mediaurl = content.GetExternalUrl();
|
||||
var mediaurl = content.Url;
|
||||
if (info == null)
|
||||
{
|
||||
continue;
|
||||
|
@ -720,7 +720,7 @@ namespace Ombi.Schedule.Jobs.Ombi
|
|||
AddBackgroundInsideTable($"https://image.tmdb.org/t/p/w1280/");
|
||||
}
|
||||
AddPosterInsideTable(banner);
|
||||
AddMediaServerUrl(t.GetExternalUrl(), banner);
|
||||
AddMediaServerUrl(t.Url, banner);
|
||||
AddInfoTable();
|
||||
|
||||
AddTvTitle(info, tvInfo);
|
||||
|
|
|
@ -353,8 +353,7 @@ namespace Ombi.Schedule.Jobs.Plex
|
|||
Title = movie.title,
|
||||
Url = PlexHelper.GetPlexMediaUrl(servers.MachineIdentifier, movie.ratingKey),
|
||||
Seasons = new List<PlexSeasonsContent>(),
|
||||
Quality = movie.Media?.FirstOrDefault()?.videoResolution ?? string.Empty,
|
||||
Repository = Repo
|
||||
Quality = movie.Media?.FirstOrDefault()?.videoResolution ?? string.Empty
|
||||
};
|
||||
if (providerIds.ImdbId.HasValue())
|
||||
{
|
||||
|
@ -557,8 +556,7 @@ namespace Ombi.Schedule.Jobs.Plex
|
|||
Type = MediaType.Series,
|
||||
Title = show.title,
|
||||
Url = PlexHelper.GetPlexMediaUrl(servers.MachineIdentifier, show.ratingKey),
|
||||
Seasons = new List<PlexSeasonsContent>(),
|
||||
Repository = Repo
|
||||
Seasons = new List<PlexSeasonsContent>()
|
||||
};
|
||||
await GetProviderIds(showMetadata, item);
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace Ombi.Store.Entities
|
|||
/// </summary>
|
||||
public string ProviderId { get; set; }
|
||||
public string EmbyId { get; set; }
|
||||
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Emby;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using Ombi.Store.Repository;
|
||||
|
||||
namespace Ombi.Store.Entities
|
||||
{
|
||||
|
@ -12,10 +11,9 @@ namespace Ombi.Store.Entities
|
|||
public string TvDbId { get; set; }
|
||||
public string TheMovieDbId { get; set; }
|
||||
public MediaType Type { get; set; }
|
||||
public IMediaServerContentRepositoryLight Repository { get; }
|
||||
public RecentlyAddedType RecentlyAddedType{ get; }
|
||||
|
||||
public string Url { get; set; }
|
||||
public string GetExternalUrl();
|
||||
|
||||
public ICollection<IMediaServerEpisode> Episodes { get; set; }
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace Ombi.Store.Entities
|
|||
/// </summary>
|
||||
public string ProviderId { get; set; }
|
||||
public string JellyfinId { get; set; }
|
||||
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Jellyfin;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -28,12 +28,8 @@ namespace Ombi.Store.Entities
|
|||
[NotMapped]
|
||||
public bool HasTheMovieDb => !string.IsNullOrEmpty(TheMovieDbId);
|
||||
|
||||
[NotMapped] //TODO: instantiate this variable upon read // something in ExternalContext.cs?
|
||||
public IMediaServerContentRepositoryLight Repository { get; set; }
|
||||
|
||||
public string GetExternalUrl() {
|
||||
return string.Empty; // TODO
|
||||
}
|
||||
[NotMapped]
|
||||
public abstract RecentlyAddedType RecentlyAddedType { get; }
|
||||
}
|
||||
|
||||
public abstract class MediaServerEpisode: Entity, IMediaServerEpisode
|
||||
|
|
|
@ -51,6 +51,8 @@ namespace Ombi.Store.Entities
|
|||
get => (ICollection<PlexEpisode>)Episodes;
|
||||
set => Episodes = (ICollection<IMediaServerEpisode>)value;
|
||||
}
|
||||
|
||||
public override RecentlyAddedType RecentlyAddedType => RecentlyAddedType.Plex;
|
||||
}
|
||||
|
||||
[Table("PlexSeasonsContent")]
|
||||
|
|
|
@ -5,8 +5,14 @@ using Ombi.Store.Entities;
|
|||
|
||||
namespace Ombi.Store.Repository
|
||||
{
|
||||
public interface IMediaServerContentRepository<Content> : IExternalRepository<Content>, IMediaServerContentRepositoryLight
|
||||
public interface IMediaServerContentRepository<Content> : IExternalRepository<Content>
|
||||
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<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<PlexEpisode> GetEpisodeByKey(int key);
|
||||
IEnumerable<PlexServerContent> GetWhereContentByCustom(Expression<Func<PlexServerContent, bool>> predicate);
|
||||
|
|
|
@ -17,11 +17,6 @@ namespace Ombi.Store.Repository
|
|||
}
|
||||
|
||||
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 Task<IMediaServerEpisode> Add(IMediaServerEpisode content);
|
||||
public abstract Task AddRange(IEnumerable<IMediaServerEpisode> content);
|
||||
|
|
|
@ -75,16 +75,16 @@ namespace Ombi.Store.Repository
|
|||
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)
|
||||
{
|
||||
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:
|
||||
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:
|
||||
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:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue