API improvements

pull/2014/head
Jamie 6 years ago
parent 410228935a
commit 90052d38ac

@ -10,9 +10,13 @@ namespace Ombi.Core.Engine.Interfaces
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> SearchTreeNode(string searchTerm);
Task<TreeNode<SearchTvShowViewModel>> GetShowInformationTreeNode(int tvdbid);
Task<SearchTvShowViewModel> GetShowInformation(int tvdbid);
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Popular();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Anticipated();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> MostWatches();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Trending();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> PopularTree();
Task<IEnumerable<SearchTvShowViewModel>> Popular();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> AnticipatedTree();
Task<IEnumerable<SearchTvShowViewModel>> Anticipated();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> MostWatchesTree();
Task<IEnumerable<SearchTvShowViewModel>> MostWatches();
Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> TrendingTree();
Task<IEnumerable<SearchTvShowViewModel>> Trending();
}
}

@ -122,33 +122,60 @@ namespace Ombi.Core.Engine
return ParseIntoTreeNode(result);
}
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Popular()
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> PopularTree()
{
var result = await MemCache.GetOrAdd(CacheKeys.PopularTv, async () => await TraktApi.GetPopularShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed.Select(ParseIntoTreeNode).ToList();
}
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Anticipated()
public async Task<IEnumerable<SearchTvShowViewModel>> Popular()
{
var result = await MemCache.GetOrAdd(CacheKeys.PopularTv, async () => await TraktApi.GetPopularShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed;
}
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> AnticipatedTree()
{
var result = await MemCache.GetOrAdd(CacheKeys.AnticipatedTv, async () => await TraktApi.GetAnticipatedShows(), DateTime.Now.AddHours(12));
var processed= await ProcessResults(result);
var processed = await ProcessResults(result);
return processed.Select(ParseIntoTreeNode).ToList();
}
public async Task<IEnumerable<SearchTvShowViewModel>> Anticipated()
{
var result = await MemCache.GetOrAdd(CacheKeys.AnticipatedTv, async () => await TraktApi.GetAnticipatedShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed;
}
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> MostWatches()
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> MostWatchesTree()
{
var result = await MemCache.GetOrAdd(CacheKeys.MostWatchesTv, async () => await TraktApi.GetMostWatchesShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed.Select(ParseIntoTreeNode).ToList();
}
public async Task<IEnumerable<SearchTvShowViewModel>> MostWatches()
{
var result = await MemCache.GetOrAdd(CacheKeys.MostWatchesTv, async () => await TraktApi.GetMostWatchesShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed;
}
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Trending()
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> TrendingTree()
{
var result = await MemCache.GetOrAdd(CacheKeys.TrendingTv, async () => await TraktApi.GetTrendingShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed.Select(ParseIntoTreeNode).ToList();
}
public async Task<IEnumerable<SearchTvShowViewModel>> Trending()
{
var result = await MemCache.GetOrAdd(CacheKeys.TrendingTv, async () => await TraktApi.GetTrendingShows(), DateTime.Now.AddHours(12));
var processed = await ProcessResults(result);
return processed;
}
private static TreeNode<SearchTvShowViewModel> ParseIntoTreeNode(SearchTvShowViewModel result)
{
return new TreeNode<SearchTvShowViewModel>

@ -54,15 +54,15 @@ export class SearchService extends ServiceHelpers {
}
public popularTv(): Observable<TreeNode[]> {
return this.http.get<TreeNode[]>(`${this.url}/Tv/popular`, {headers: this.headers});
return this.http.get<TreeNode[]>(`${this.url}/Tv/popular/tree`, {headers: this.headers});
}
public mostWatchedTv(): Observable<TreeNode[]> {
return this.http.get<TreeNode[]>(`${this.url}/Tv/mostwatched`, {headers: this.headers});
return this.http.get<TreeNode[]>(`${this.url}/Tv/mostwatched/tree`, {headers: this.headers});
}
public anticipatedTv(): Observable<TreeNode[]> {
return this.http.get<TreeNode[]>(`${this.url}/Tv/anticipated`, {headers: this.headers});
return this.http.get<TreeNode[]>(`${this.url}/Tv/anticipated/tree`, {headers: this.headers});
}
public trendingTv(): Observable<TreeNode[]> {
return this.http.get<TreeNode[]>(`${this.url}/Tv/trending`, {headers: this.headers});
return this.http.get<TreeNode[]>(`${this.url}/Tv/trending/tree`, {headers: this.headers});
}
}

@ -151,43 +151,91 @@ namespace Ombi.Controllers
return await TvEngine.GetShowInformation(tvdbId);
}
/// <summary>
/// Returns Popular Tv Shows
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/popular/tree")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> PopularTvTree()
{
return await TvEngine.PopularTree();
}
/// <summary>
/// Returns Popular Tv Shows
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/popular")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> PopularTv()
public async Task<IEnumerable<SearchTvShowViewModel>> PopularTv()
{
return await TvEngine.Popular();
}
/// <summary>
/// Returns most Anticiplateds tv shows.
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/anticipated/tree")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> AnticipatedTvTree()
{
return await TvEngine.AnticipatedTree();
}
/// <summary>
/// Returns most Anticiplateds tv shows.
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/anticipated")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> AnticiplatedTv()
public async Task<IEnumerable<SearchTvShowViewModel>> AnticipatedTv()
{
return await TvEngine.Anticipated();
}
/// <summary>
/// Returns Most watched shows.
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/mostwatched/tree")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> MostWatchedTree()
{
return await TvEngine.MostWatchesTree();
}
/// <summary>
/// Returns Most watched shows.
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/mostwatched")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> MostWatched()
public async Task<IEnumerable<SearchTvShowViewModel>> MostWatched()
{
return await TvEngine.MostWatches();
}
/// <summary>
/// Returns trending shows
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/trending/tree")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> TrendingTree()
{
return await TvEngine.TrendingTree();
}
/// <summary>
/// Returns trending shows
/// </summary>
/// <remarks>We use Trakt.tv as the Provider</remarks>
/// <returns></returns>
[HttpGet("tv/trending")]
public async Task<IEnumerable<TreeNode<SearchTvShowViewModel>>> Trending()
public async Task<IEnumerable<SearchTvShowViewModel>> Trending()
{
return await TvEngine.Trending();
}

Loading…
Cancel
Save