mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-31 12:00:06 -07:00
Extended the Emby API
This commit is contained in:
parent
acd9ebde33
commit
dc9030c2ce
26 changed files with 555 additions and 9 deletions
|
@ -1,8 +1,10 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using Ombi.Api.Emby.Models;
|
||||
using Ombi.Api.Emby.Models.Media.Tv;
|
||||
using Ombi.Api.Emby.Models.Movie;
|
||||
using Ombi.Helpers;
|
||||
|
||||
namespace Ombi.Api.Emby
|
||||
|
@ -64,6 +66,59 @@ namespace Ombi.Api.Emby
|
|||
return obj;
|
||||
}
|
||||
|
||||
public async Task<EmbyItemContainer<EmbyMovie>> GetAllMovies(string apiKey, string userId, string baseUri)
|
||||
{
|
||||
return await GetAll<EmbyMovie>("Movie", apiKey, userId, baseUri);
|
||||
}
|
||||
|
||||
public async Task<EmbyItemContainer<EmbyEpisodes>> GetAllEpisodes(string apiKey, string userId, string baseUri)
|
||||
{
|
||||
return await GetAll<EmbyEpisodes>("Episode", apiKey, userId, baseUri);
|
||||
}
|
||||
|
||||
public async Task<EmbyItemContainer<EmbySeries>> GetAllShows(string apiKey, string userId, string baseUri)
|
||||
{
|
||||
return await GetAll<EmbySeries>("Series", apiKey, userId, baseUri);
|
||||
}
|
||||
|
||||
public async Task<SeriesInformation> GetSeriesInformation(string mediaId, string apiKey, string userId, string baseUrl)
|
||||
{
|
||||
return await GetInformation<SeriesInformation>(mediaId, apiKey, userId, baseUrl);
|
||||
}
|
||||
public async Task<MovieInformation> GetMovieInformation(string mediaId, string apiKey, string userId, string baseUrl)
|
||||
{
|
||||
return await GetInformation<MovieInformation>(mediaId, apiKey, userId, baseUrl);
|
||||
}
|
||||
public async Task<EpisodeInformation> GetEpisodeInformation(string mediaId, string apiKey, string userId, string baseUrl)
|
||||
{
|
||||
return await GetInformation<EpisodeInformation>(mediaId, apiKey, userId, baseUrl);
|
||||
}
|
||||
|
||||
private async Task<T> GetInformation<T>(string mediaId, string apiKey, string userId, string baseUrl)
|
||||
{
|
||||
var request = new Request($"emby/users/{userId}/items/{mediaId}", baseUrl, HttpMethod.Get);
|
||||
AddHeaders(request, apiKey);
|
||||
var response = await Api.RequestContent(request);
|
||||
|
||||
return JsonConvert.DeserializeObject<T>(response);
|
||||
}
|
||||
|
||||
|
||||
|
||||
private async Task<EmbyItemContainer<T>> GetAll<T>(string type, string apiKey, string userId, string baseUri)
|
||||
{
|
||||
var request = new Request($"emby/users/{userId}/items", baseUri, HttpMethod.Get);
|
||||
|
||||
request.AddQueryString("Recursive", true.ToString());
|
||||
request.AddQueryString("IncludeItemTypes", type);
|
||||
|
||||
AddHeaders(request, apiKey);
|
||||
|
||||
|
||||
var obj = await Api.Request<EmbyItemContainer<T>>(request);
|
||||
return obj;
|
||||
}
|
||||
|
||||
private static void AddHeaders(Request req, string apiKey)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(apiKey))
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Ombi.Api.Emby.Models;
|
||||
using Ombi.Api.Emby.Models.Media.Tv;
|
||||
using Ombi.Api.Emby.Models.Movie;
|
||||
|
||||
namespace Ombi.Api.Emby
|
||||
{
|
||||
|
@ -10,5 +12,13 @@ namespace Ombi.Api.Emby
|
|||
Task<EmbySystemInfo> GetSystemInformation(string apiKey, string baseUrl);
|
||||
Task<List<EmbyUser>> GetUsers(string baseUri, string apiKey);
|
||||
Task<EmbyUser> LogIn(string username, string password, string apiKey, string baseUri);
|
||||
|
||||
Task<EmbyItemContainer<EmbyMovie>> GetAllMovies(string apiKey, string userId, string baseUri);
|
||||
Task<EmbyItemContainer<EmbyEpisodes>> GetAllEpisodes(string apiKey, string userId, string baseUri);
|
||||
Task<EmbyItemContainer<EmbySeries>> GetAllShows(string apiKey, string userId, string baseUri);
|
||||
|
||||
Task<SeriesInformation> GetSeriesInformation(string mediaId, string apiKey, string userId, string baseUrl);
|
||||
Task<MovieInformation> GetMovieInformation(string mediaId, string apiKey, string userId, string baseUrl);
|
||||
Task<EpisodeInformation> GetEpisodeInformation(string mediaId, string apiKey, string userId, string baseUrl);
|
||||
}
|
||||
}
|
10
src/Ombi.Api.Emby/Models/EmbyItemContainer.cs
Normal file
10
src/Ombi.Api.Emby/Models/EmbyItemContainer.cs
Normal file
|
@ -0,0 +1,10 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Emby.Models
|
||||
{
|
||||
public class EmbyItemContainer<T>
|
||||
{
|
||||
public List<T> Items { get; set; }
|
||||
public int TotalRecordCount { get; set; }
|
||||
}
|
||||
}
|
10
src/Ombi.Api.Emby/Models/EmbyMediaType.cs
Normal file
10
src/Ombi.Api.Emby/Models/EmbyMediaType.cs
Normal file
|
@ -0,0 +1,10 @@
|
|||
namespace Ombi.Api.Emby.Models
|
||||
{
|
||||
public enum EmbyMediaType
|
||||
{
|
||||
Movie = 0,
|
||||
Series = 1,
|
||||
Music = 2,
|
||||
Episode = 3
|
||||
}
|
||||
}
|
8
src/Ombi.Api.Emby/Models/Media/EmbyChapter.cs
Normal file
8
src/Ombi.Api.Emby/Models/Media/EmbyChapter.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyChapter
|
||||
{
|
||||
public long StartPositionTicks { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
8
src/Ombi.Api.Emby/Models/Media/EmbyExternalurl.cs
Normal file
8
src/Ombi.Api.Emby/Models/Media/EmbyExternalurl.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyExternalurl
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Url { get; set; }
|
||||
}
|
||||
}
|
11
src/Ombi.Api.Emby/Models/Media/EmbyImagetags.cs
Normal file
11
src/Ombi.Api.Emby/Models/Media/EmbyImagetags.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyImagetags
|
||||
{
|
||||
public string Primary { get; set; }
|
||||
public string Logo { get; set; }
|
||||
public string Thumb { get; set; }
|
||||
|
||||
public string Banner { get; set; }
|
||||
}
|
||||
}
|
30
src/Ombi.Api.Emby/Models/Media/EmbyMediasource.cs
Normal file
30
src/Ombi.Api.Emby/Models/Media/EmbyMediasource.cs
Normal file
|
@ -0,0 +1,30 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyMediasource
|
||||
{
|
||||
public string Protocol { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Path { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Container { get; set; }
|
||||
public string Name { get; set; }
|
||||
public bool IsRemote { get; set; }
|
||||
public string ETag { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public bool ReadAtNativeFramerate { get; set; }
|
||||
public bool SupportsTranscoding { get; set; }
|
||||
public bool SupportsDirectStream { get; set; }
|
||||
public bool SupportsDirectPlay { get; set; }
|
||||
public bool IsInfiniteStream { get; set; }
|
||||
public bool RequiresOpening { get; set; }
|
||||
public bool RequiresClosing { get; set; }
|
||||
public bool SupportsProbing { get; set; }
|
||||
public string VideoType { get; set; }
|
||||
public EmbyMediastream[] MediaStreams { get; set; }
|
||||
public object[] PlayableStreamFileNames { get; set; }
|
||||
public object[] Formats { get; set; }
|
||||
public int Bitrate { get; set; }
|
||||
public int DefaultAudioStreamIndex { get; set; }
|
||||
|
||||
}
|
||||
}
|
36
src/Ombi.Api.Emby/Models/Media/EmbyMediastream.cs
Normal file
36
src/Ombi.Api.Emby/Models/Media/EmbyMediastream.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyMediastream
|
||||
{
|
||||
public string Codec { get; set; }
|
||||
public string Language { get; set; }
|
||||
public string TimeBase { get; set; }
|
||||
public string CodecTimeBase { get; set; }
|
||||
public string NalLengthSize { get; set; }
|
||||
public bool IsInterlaced { get; set; }
|
||||
public bool IsAVC { get; set; }
|
||||
public int BitRate { get; set; }
|
||||
public int BitDepth { get; set; }
|
||||
public int RefFrames { get; set; }
|
||||
public bool IsDefault { get; set; }
|
||||
public bool IsForced { get; set; }
|
||||
public int Height { get; set; }
|
||||
public int Width { get; set; }
|
||||
public float AverageFrameRate { get; set; }
|
||||
public float RealFrameRate { get; set; }
|
||||
public string Profile { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string AspectRatio { get; set; }
|
||||
public int Index { get; set; }
|
||||
public bool IsExternal { get; set; }
|
||||
public bool IsTextSubtitleStream { get; set; }
|
||||
public bool SupportsExternalStream { get; set; }
|
||||
public string PixelFormat { get; set; }
|
||||
public int Level { get; set; }
|
||||
public bool IsAnamorphic { get; set; }
|
||||
public string DisplayTitle { get; set; }
|
||||
public string ChannelLayout { get; set; }
|
||||
public int Channels { get; set; }
|
||||
public int SampleRate { get; set; }
|
||||
}
|
||||
}
|
11
src/Ombi.Api.Emby/Models/Media/EmbyPerson.cs
Normal file
11
src/Ombi.Api.Emby/Models/Media/EmbyPerson.cs
Normal file
|
@ -0,0 +1,11 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyPerson
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Role { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string PrimaryImageTag { get; set; }
|
||||
}
|
||||
}
|
13
src/Ombi.Api.Emby/Models/Media/EmbyProviderids.cs
Normal file
13
src/Ombi.Api.Emby/Models/Media/EmbyProviderids.cs
Normal file
|
@ -0,0 +1,13 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyProviderids
|
||||
{
|
||||
public string Tmdb { get; set; }
|
||||
public string Imdb { get; set; }
|
||||
public string TmdbCollection { get; set; }
|
||||
|
||||
public string Tvdb { get; set; }
|
||||
public string Zap2It { get; set; }
|
||||
public string TvRage { get; set; }
|
||||
}
|
||||
}
|
8
src/Ombi.Api.Emby/Models/Media/EmbyRemotetrailer.cs
Normal file
8
src/Ombi.Api.Emby/Models/Media/EmbyRemotetrailer.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyRemotetrailer
|
||||
{
|
||||
public string Url { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
8
src/Ombi.Api.Emby/Models/Media/EmbyStudio.cs
Normal file
8
src/Ombi.Api.Emby/Models/Media/EmbyStudio.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyStudio
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Id { get; set; }
|
||||
}
|
||||
}
|
15
src/Ombi.Api.Emby/Models/Media/EmbyUserdata.cs
Normal file
15
src/Ombi.Api.Emby/Models/Media/EmbyUserdata.cs
Normal file
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyUserdata
|
||||
{
|
||||
public double PlaybackPositionTicks { get; set; }
|
||||
public int PlayCount { get; set; }
|
||||
public bool IsFavorite { get; set; }
|
||||
public bool Played { get; set; }
|
||||
public string Key { get; set; }
|
||||
public DateTime LastPlayedDate { get; set; }
|
||||
public int UnplayedItemCount { get; set; }
|
||||
}
|
||||
}
|
32
src/Ombi.Api.Emby/Models/Media/Movie/EmbyMovie.cs
Normal file
32
src/Ombi.Api.Emby/Models/Media/Movie/EmbyMovie.cs
Normal file
|
@ -0,0 +1,32 @@
|
|||
using System;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class EmbyMovie
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string ServerId { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Container { get; set; }
|
||||
public DateTime PremiereDate { get; set; }
|
||||
public object[] ProductionLocations { get; set; }
|
||||
public string OfficialRating { get; set; }
|
||||
public float CommunityRating { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public string PlayAccess { get; set; }
|
||||
public int ProductionYear { get; set; }
|
||||
public bool IsPlaceHolder { get; set; }
|
||||
public bool IsHD { get; set; }
|
||||
public bool IsFolder { get; set; }
|
||||
public string Type { get; set; }
|
||||
public int LocalTrailerCount { get; set; }
|
||||
public EmbyUserdata UserData { get; set; }
|
||||
public string VideoType { get; set; }
|
||||
public EmbyImagetags ImageTags { get; set; }
|
||||
public string[] BackdropImageTags { get; set; }
|
||||
public string LocationType { get; set; }
|
||||
public string MediaType { get; set; }
|
||||
public bool HasSubtitles { get; set; }
|
||||
public int CriticRating { get; set; }
|
||||
}
|
||||
}
|
60
src/Ombi.Api.Emby/Models/Media/Movie/MovieInformation.cs
Normal file
60
src/Ombi.Api.Emby/Models/Media/Movie/MovieInformation.cs
Normal file
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Movie
|
||||
{
|
||||
public class MovieInformation
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string OriginalTitle { get; set; }
|
||||
public string ServerId { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Etag { get; set; }
|
||||
public DateTime DateCreated { get; set; }
|
||||
public bool CanDelete { get; set; }
|
||||
public bool CanDownload { get; set; }
|
||||
public bool SupportsSync { get; set; }
|
||||
public string Container { get; set; }
|
||||
public string SortName { get; set; }
|
||||
public DateTime PremiereDate { get; set; }
|
||||
public EmbyExternalurl[] ExternalUrls { get; set; }
|
||||
public EmbyMediasource[] MediaSources { get; set; }
|
||||
public string[] ProductionLocations { get; set; }
|
||||
public string Path { get; set; }
|
||||
public string OfficialRating { get; set; }
|
||||
public string Overview { get; set; }
|
||||
public string[] Taglines { get; set; }
|
||||
public string[] Genres { get; set; }
|
||||
public float CommunityRating { get; set; }
|
||||
public int VoteCount { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public string PlayAccess { get; set; }
|
||||
public int ProductionYear { get; set; }
|
||||
public bool IsPlaceHolder { get; set; }
|
||||
public EmbyRemotetrailer[] RemoteTrailers { get; set; }
|
||||
public EmbyProviderids ProviderIds { get; set; }
|
||||
public bool IsHD { get; set; }
|
||||
public bool IsFolder { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string Type { get; set; }
|
||||
public EmbyPerson[] People { get; set; }
|
||||
public EmbyStudio[] Studios { get; set; }
|
||||
public int LocalTrailerCount { get; set; }
|
||||
public EmbyUserdata UserData { get; set; }
|
||||
public string DisplayPreferencesId { get; set; }
|
||||
public object[] Tags { get; set; }
|
||||
public string[] Keywords { get; set; }
|
||||
public EmbyMediastream[] MediaStreams { get; set; }
|
||||
public string VideoType { get; set; }
|
||||
public EmbyImagetags ImageTags { get; set; }
|
||||
public string[] BackdropImageTags { get; set; }
|
||||
public object[] ScreenshotImageTags { get; set; }
|
||||
public EmbyChapter[] Chapters { get; set; }
|
||||
public string LocationType { get; set; }
|
||||
public string MediaType { get; set; }
|
||||
public string HomePageUrl { get; set; }
|
||||
public int Budget { get; set; }
|
||||
public int Revenue { get; set; }
|
||||
public object[] LockedFields { get; set; }
|
||||
public bool LockData { get; set; }
|
||||
}
|
||||
}
|
43
src/Ombi.Api.Emby/Models/Media/Tv/EmbyEpisodes.cs
Normal file
43
src/Ombi.Api.Emby/Models/Media/Tv/EmbyEpisodes.cs
Normal file
|
@ -0,0 +1,43 @@
|
|||
using Ombi.Api.Emby.Models.Movie;
|
||||
using System;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Media.Tv
|
||||
{
|
||||
public class EmbyEpisodes
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string ServerId { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Container { get; set; }
|
||||
public DateTime PremiereDate { get; set; }
|
||||
public float CommunityRating { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public string PlayAccess { get; set; }
|
||||
public int ProductionYear { get; set; }
|
||||
public bool IsPlaceHolder { get; set; }
|
||||
public int IndexNumber { get; set; }
|
||||
public int ParentIndexNumber { get; set; }
|
||||
public bool IsHD { get; set; }
|
||||
public bool IsFolder { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string ParentLogoItemId { get; set; }
|
||||
public string ParentBackdropItemId { get; set; }
|
||||
public string[] ParentBackdropImageTags { get; set; }
|
||||
public int LocalTrailerCount { get; set; }
|
||||
public EmbyUserdata UserData { get; set; }
|
||||
public string SeriesName { get; set; }
|
||||
public string SeriesId { get; set; }
|
||||
public string SeasonId { get; set; }
|
||||
public string SeriesPrimaryImageTag { get; set; }
|
||||
public string SeasonName { get; set; }
|
||||
public string VideoType { get; set; }
|
||||
public EmbyImagetags ImageTags { get; set; }
|
||||
public object[] BackdropImageTags { get; set; }
|
||||
public string ParentLogoImageTag { get; set; }
|
||||
public string ParentThumbItemId { get; set; }
|
||||
public string ParentThumbImageTag { get; set; }
|
||||
public string LocationType { get; set; }
|
||||
public string MediaType { get; set; }
|
||||
public bool HasSubtitles { get; set; }
|
||||
}
|
||||
}
|
8
src/Ombi.Api.Emby/Models/Media/Tv/EmbyRemotetrailer.cs
Normal file
8
src/Ombi.Api.Emby/Models/Media/Tv/EmbyRemotetrailer.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
namespace Ombi.Api.Emby.Models.Media.Tv
|
||||
{
|
||||
public class EmbyRemotetrailer
|
||||
{
|
||||
public string Url { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
30
src/Ombi.Api.Emby/Models/Media/Tv/EmbySeries.cs
Normal file
30
src/Ombi.Api.Emby/Models/Media/Tv/EmbySeries.cs
Normal file
|
@ -0,0 +1,30 @@
|
|||
using Ombi.Api.Emby.Models.Movie;
|
||||
using System;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Media.Tv
|
||||
{
|
||||
public class EmbySeries
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string ServerId { get; set; }
|
||||
public string Id { get; set; }
|
||||
public DateTime PremiereDate { get; set; }
|
||||
public string OfficialRating { get; set; }
|
||||
public float CommunityRating { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public string PlayAccess { get; set; }
|
||||
public int ProductionYear { get; set; }
|
||||
public bool IsFolder { get; set; }
|
||||
public string Type { get; set; }
|
||||
public int LocalTrailerCount { get; set; }
|
||||
public EmbyUserdata UserData { get; set; }
|
||||
public int ChildCount { get; set; }
|
||||
public string Status { get; set; }
|
||||
public string AirTime { get; set; }
|
||||
public string[] AirDays { get; set; }
|
||||
public EmbyImagetags ImageTags { get; set; }
|
||||
public string[] BackdropImageTags { get; set; }
|
||||
public string LocationType { get; set; }
|
||||
public DateTime EndDate { get; set; }
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
namespace Ombi.Api.Emby.Models.Media.Tv
|
||||
{
|
||||
public class EmbySeriesstudioinfo
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Id { get; set; }
|
||||
}
|
||||
}
|
72
src/Ombi.Api.Emby/Models/Media/Tv/EpisodeInformation.cs
Normal file
72
src/Ombi.Api.Emby/Models/Media/Tv/EpisodeInformation.cs
Normal file
|
@ -0,0 +1,72 @@
|
|||
using System;
|
||||
using Ombi.Api.Emby.Models.Movie;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Media.Tv
|
||||
{
|
||||
public class EpisodeInformation
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string ServerId { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Etag { get; set; }
|
||||
public DateTime DateCreated { get; set; }
|
||||
public bool CanDelete { get; set; }
|
||||
public bool CanDownload { get; set; }
|
||||
public bool SupportsSync { get; set; }
|
||||
public string Container { get; set; }
|
||||
public string SortName { get; set; }
|
||||
public DateTime PremiereDate { get; set; }
|
||||
public EmbyExternalurl[] ExternalUrls { get; set; }
|
||||
public EmbyMediasource[] MediaSources { get; set; }
|
||||
public string Path { get; set; }
|
||||
public string Overview { get; set; }
|
||||
public object[] Taglines { get; set; }
|
||||
public object[] Genres { get; set; }
|
||||
public string[] SeriesGenres { get; set; }
|
||||
public float CommunityRating { get; set; }
|
||||
public int VoteCount { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public string PlayAccess { get; set; }
|
||||
public int ProductionYear { get; set; }
|
||||
public bool IsPlaceHolder { get; set; }
|
||||
public int IndexNumber { get; set; }
|
||||
public int ParentIndexNumber { get; set; }
|
||||
public object[] RemoteTrailers { get; set; }
|
||||
public EmbyProviderids ProviderIds { get; set; }
|
||||
public bool IsHD { get; set; }
|
||||
public bool IsFolder { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string Type { get; set; }
|
||||
public object[] People { get; set; }
|
||||
public object[] Studios { get; set; }
|
||||
public string ParentLogoItemId { get; set; }
|
||||
public string ParentBackdropItemId { get; set; }
|
||||
public string[] ParentBackdropImageTags { get; set; }
|
||||
public int LocalTrailerCount { get; set; }
|
||||
public EmbyUserdata UserData { get; set; }
|
||||
public string SeriesName { get; set; }
|
||||
public string SeriesId { get; set; }
|
||||
public string SeasonId { get; set; }
|
||||
public string DisplayPreferencesId { get; set; }
|
||||
public object[] Tags { get; set; }
|
||||
public object[] Keywords { get; set; }
|
||||
public string SeriesPrimaryImageTag { get; set; }
|
||||
public string SeasonName { get; set; }
|
||||
public EmbyMediastream[] MediaStreams { get; set; }
|
||||
public string VideoType { get; set; }
|
||||
public EmbyImagetags ImageTags { get; set; }
|
||||
public object[] BackdropImageTags { get; set; }
|
||||
public object[] ScreenshotImageTags { get; set; }
|
||||
public string ParentLogoImageTag { get; set; }
|
||||
public string SeriesStudio { get; set; }
|
||||
public EmbySeriesstudioinfo SeriesStudioInfo { get; set; }
|
||||
public string ParentThumbItemId { get; set; }
|
||||
public string ParentThumbImageTag { get; set; }
|
||||
public EmbyChapter[] Chapters { get; set; }
|
||||
public string LocationType { get; set; }
|
||||
public string MediaType { get; set; }
|
||||
public object[] LockedFields { get; set; }
|
||||
public bool LockData { get; set; }
|
||||
|
||||
}
|
||||
}
|
59
src/Ombi.Api.Emby/Models/Media/Tv/SeriesInformation.cs
Normal file
59
src/Ombi.Api.Emby/Models/Media/Tv/SeriesInformation.cs
Normal file
|
@ -0,0 +1,59 @@
|
|||
using System;
|
||||
using Ombi.Api.Emby.Models.Movie;
|
||||
|
||||
namespace Ombi.Api.Emby.Models.Media.Tv
|
||||
{
|
||||
public class SeriesInformation
|
||||
{
|
||||
|
||||
public string Name { get; set; }
|
||||
public string ServerId { get; set; }
|
||||
public string Id { get; set; }
|
||||
public string Etag { get; set; }
|
||||
public DateTime DateCreated { get; set; }
|
||||
public DateTime DateLastMediaAdded { get; set; }
|
||||
public bool CanDelete { get; set; }
|
||||
public bool CanDownload { get; set; }
|
||||
public bool SupportsSync { get; set; }
|
||||
public string SortName { get; set; }
|
||||
public DateTime PremiereDate { get; set; }
|
||||
public EmbyExternalurl[] ExternalUrls { get; set; }
|
||||
public string Path { get; set; }
|
||||
public string OfficialRating { get; set; }
|
||||
public string Overview { get; set; }
|
||||
public string ShortOverview { get; set; }
|
||||
public object[] Taglines { get; set; }
|
||||
public string[] Genres { get; set; }
|
||||
public float CommunityRating { get; set; }
|
||||
public int VoteCount { get; set; }
|
||||
public long CumulativeRunTimeTicks { get; set; }
|
||||
public long RunTimeTicks { get; set; }
|
||||
public string PlayAccess { get; set; }
|
||||
public int ProductionYear { get; set; }
|
||||
public EmbyRemotetrailer[] RemoteTrailers { get; set; }
|
||||
public EmbyProviderids ProviderIds { get; set; }
|
||||
public bool IsFolder { get; set; }
|
||||
public string ParentId { get; set; }
|
||||
public string Type { get; set; }
|
||||
public EmbyPerson[] People { get; set; }
|
||||
public EmbyStudio[] Studios { get; set; }
|
||||
public int LocalTrailerCount { get; set; }
|
||||
public EmbyUserdata UserData { get; set; }
|
||||
public int RecursiveItemCount { get; set; }
|
||||
public int ChildCount { get; set; }
|
||||
public string DisplayPreferencesId { get; set; }
|
||||
public string Status { get; set; }
|
||||
public string AirTime { get; set; }
|
||||
public string[] AirDays { get; set; }
|
||||
public object[] Tags { get; set; }
|
||||
public object[] Keywords { get; set; }
|
||||
public EmbyImagetags ImageTags { get; set; }
|
||||
public string[] BackdropImageTags { get; set; }
|
||||
public object[] ScreenshotImageTags { get; set; }
|
||||
public string LocationType { get; set; }
|
||||
public string HomePageUrl { get; set; }
|
||||
public object[] LockedFields { get; set; }
|
||||
public bool LockData { get; set; }
|
||||
|
||||
}
|
||||
}
|
7
src/Ombi.Schedule/Jobs/Emby/EmbyContentCacher.cs
Normal file
7
src/Ombi.Schedule/Jobs/Emby/EmbyContentCacher.cs
Normal file
|
@ -0,0 +1,7 @@
|
|||
namespace Ombi.Schedule.Jobs.Emby
|
||||
{
|
||||
public class EmbyContentCacher
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -18,8 +18,4 @@
|
|||
<ProjectReference Include="..\Ombi.Settings\Ombi.Settings.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Jobs\Emby\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -40,6 +40,5 @@ const routes: Routes = [
|
|||
SearchService,
|
||||
RequestService
|
||||
],
|
||||
|
||||
})
|
||||
export class SearchModule { }
|
|
@ -6,7 +6,6 @@ import { NotificationService } from '../services/notification.service';
|
|||
import { ActivatedRoute } from '@angular/router';
|
||||
|
||||
@Component({
|
||||
|
||||
templateUrl: './usermanagement-edit.component.html'
|
||||
})
|
||||
export class UserManagementEditComponent {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue