Merge pull request #3344 from Namaneo/add-request-id-in-notifications

Add RequestId variable in notification's data
This commit is contained in:
Jamie 2020-02-01 23:26:19 +00:00 committed by GitHub
commit 96f50fc8f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 28 additions and 11 deletions

View file

@ -56,7 +56,7 @@ namespace Ombi.Core.Engine.Demo
{ {
continue; continue;
} }
retVal.Add(ProcessResult(tvMazeSearch)); retVal.Add(await ProcessResult(tvMazeSearch));
} }
return retVal; return retVal;
} }
@ -78,7 +78,7 @@ namespace Ombi.Core.Engine.Demo
} }
var movieResult = await TvMazeApi.ShowLookup(tv); var movieResult = await TvMazeApi.ShowLookup(tv);
responses.Add(ProcessResult(movieResult)); responses.Add(await ProcessResult(movieResult));
} }
return responses; return responses;

View file

@ -61,7 +61,7 @@ namespace Ombi.Core.Engine
{ {
continue; continue;
} }
retVal.Add(ProcessResult(tvMazeSearch)); retVal.Add(await ProcessResult(tvMazeSearch));
} }
return retVal; return retVal;
} }
@ -123,7 +123,7 @@ namespace Ombi.Core.Engine
public async Task<IEnumerable<SearchTvShowViewModel>> Popular() public async Task<IEnumerable<SearchTvShowViewModel>> Popular()
{ {
var result = await Cache.GetOrAdd(CacheKeys.PopularTv, async () => await TraktApi.GetPopularShows(), DateTime.Now.AddHours(12)); var result = await Cache.GetOrAdd(CacheKeys.PopularTv, async () => await TraktApi.GetPopularShows(), DateTime.Now.AddHours(12));
var processed = ProcessResults(result); var processed = await ProcessResults(result);
return processed; return processed;
} }
@ -131,37 +131,38 @@ namespace Ombi.Core.Engine
{ {
var result = await Cache.GetOrAdd(CacheKeys.AnticipatedTv, async () => await TraktApi.GetAnticipatedShows(), DateTime.Now.AddHours(12)); var result = await Cache.GetOrAdd(CacheKeys.AnticipatedTv, async () => await TraktApi.GetAnticipatedShows(), DateTime.Now.AddHours(12));
var processed = ProcessResults(result); var processed = await ProcessResults(result);
return processed; return processed;
} }
public async Task<IEnumerable<SearchTvShowViewModel>> MostWatches() public async Task<IEnumerable<SearchTvShowViewModel>> MostWatches()
{ {
var result = await Cache.GetOrAdd(CacheKeys.MostWatchesTv, async () => await TraktApi.GetMostWatchesShows(), DateTime.Now.AddHours(12)); var result = await Cache.GetOrAdd(CacheKeys.MostWatchesTv, async () => await TraktApi.GetMostWatchesShows(), DateTime.Now.AddHours(12));
var processed = ProcessResults(result); var processed = await ProcessResults(result);
return processed; return processed;
} }
public async Task<IEnumerable<SearchTvShowViewModel>> Trending() public async Task<IEnumerable<SearchTvShowViewModel>> Trending()
{ {
var result = await Cache.GetOrAdd(CacheKeys.TrendingTv, async () => await TraktApi.GetTrendingShows(), DateTime.Now.AddHours(12)); var result = await Cache.GetOrAdd(CacheKeys.TrendingTv, async () => await TraktApi.GetTrendingShows(), DateTime.Now.AddHours(12));
var processed = ProcessResults(result); var processed = await ProcessResults(result);
return processed; return processed;
} }
protected IEnumerable<SearchTvShowViewModel> ProcessResults<T>(IEnumerable<T> items) protected async Task<IEnumerable<SearchTvShowViewModel>> ProcessResults<T>(IEnumerable<T> items)
{ {
var retVal = new List<SearchTvShowViewModel>(); var retVal = new List<SearchTvShowViewModel>();
foreach (var tvMazeSearch in items) foreach (var tvMazeSearch in items)
{ {
retVal.Add(ProcessResult(tvMazeSearch)); retVal.Add(await ProcessResult(tvMazeSearch));
} }
return retVal; return retVal;
} }
protected SearchTvShowViewModel ProcessResult<T>(T tvMazeSearch) protected async Task<SearchTvShowViewModel> ProcessResult<T>(T tvMazeSearch)
{ {
return Mapper.Map<SearchTvShowViewModel>(tvMazeSearch); var viewTv = Mapper.Map<SearchTvShowViewModel>(tvMazeSearch);
return await ProcessResult(viewTv);
} }
private async Task<SearchTvShowViewModel> ProcessResult(SearchTvShowViewModel item) private async Task<SearchTvShowViewModel> ProcessResult(SearchTvShowViewModel item)

View file

@ -7,6 +7,8 @@ namespace Ombi.Core.Models.Search
{ {
public int Id { get; set; } public int Id { get; set; }
public bool Approved { get; set; } public bool Approved { get; set; }
public bool? Denied { get; set; }
public string DeniedReason { get; set; }
public bool Requested { get; set; } public bool Requested { get; set; }
public int RequestId { get; set; } public int RequestId { get; set; }
public bool Available { get; set; } public bool Available { get; set; }

View file

@ -34,6 +34,8 @@ namespace Ombi.Core.Rule.Rules.Search
obj.Requested = true; obj.Requested = true;
obj.RequestId = movieRequests.Id; obj.RequestId = movieRequests.Id;
obj.Approved = movieRequests.Approved; obj.Approved = movieRequests.Approved;
obj.Denied = movieRequests.Denied ?? false;
obj.DeniedReason = movieRequests.DeniedReason;
obj.Available = movieRequests.Available; obj.Available = movieRequests.Available;
return Success(); return Success();
@ -60,6 +62,7 @@ namespace Ombi.Core.Rule.Rules.Search
request.Requested = true; request.Requested = true;
request.Approved = tvRequests.ChildRequests.Any(x => x.Approved); request.Approved = tvRequests.ChildRequests.Any(x => x.Approved);
request.Denied = tvRequests.ChildRequests.Any(x => x.Denied ?? false);
// Let's modify the seasonsrequested to reflect what we have requested... // Let's modify the seasonsrequested to reflect what we have requested...
foreach (var season in request.SeasonRequests) foreach (var season in request.SeasonRequests)
@ -108,6 +111,8 @@ namespace Ombi.Core.Rule.Rules.Search
obj.Requested = true; obj.Requested = true;
obj.RequestId = albumRequest.Id; obj.RequestId = albumRequest.Id;
obj.Approved = albumRequest.Approved; obj.Approved = albumRequest.Approved;
obj.Denied = albumRequest.Denied;
obj.DeniedReason = albumRequest.DeniedReason;
obj.Available = albumRequest.Available; obj.Available = albumRequest.Available;
return Success(); return Success();

View file

@ -18,6 +18,8 @@ namespace Ombi.Notifications
{ {
LoadIssues(opts); LoadIssues(opts);
RequestId = req?.Id.ToString();
string title; string title;
if (req == null) if (req == null)
{ {
@ -68,6 +70,8 @@ namespace Ombi.Notifications
{ {
LoadIssues(opts); LoadIssues(opts);
RequestId = req?.Id.ToString();
string title; string title;
if (req == null) if (req == null)
{ {
@ -114,6 +118,9 @@ namespace Ombi.Notifications
public void Setup(NotificationOptions opts, ChildRequests req, CustomizationSettings s, UserNotificationPreferences pref) public void Setup(NotificationOptions opts, ChildRequests req, CustomizationSettings s, UserNotificationPreferences pref)
{ {
LoadIssues(opts); LoadIssues(opts);
RequestId = req?.ParentRequestId.ToString();
string title; string title;
if (req == null) if (req == null)
{ {
@ -216,6 +223,7 @@ namespace Ombi.Notifications
} }
// User Defined // User Defined
public string RequestId { get; set; }
public string RequestedUser { get; set; } public string RequestedUser { get; set; }
public string UserName { get; set; } public string UserName { get; set; }
public string IssueUser => UserName; public string IssueUser => UserName;
@ -248,6 +256,7 @@ namespace Ombi.Notifications
public Dictionary<string, string> Curlys => new Dictionary<string, string> public Dictionary<string, string> Curlys => new Dictionary<string, string>
{ {
{nameof(RequestId), RequestId },
{nameof(RequestedUser), RequestedUser }, {nameof(RequestedUser), RequestedUser },
{nameof(Title), Title }, {nameof(Title), Title },
{nameof(RequestedDate), RequestedDate }, {nameof(RequestedDate), RequestedDate },