From 05603e98dd8c610a0999624e30b62411e7bff9b9 Mon Sep 17 00:00:00 2001 From: Nick Wallace Date: Tue, 10 Aug 2021 17:25:51 -0500 Subject: [PATCH] Patching Multi Search to add TV Shows. Patching Discover card to fix the title stuff --- src/Ombi.Core/Engine/MusicRequestEngine.cs | 6 ++++-- src/Ombi.Core/Engine/V2/MultiSearchEngine.cs | 2 +- .../Models/Requests/MusicArtistRequestViewModel.cs | 2 ++ .../Models/Search/V2/Music/AlbumInformation.cs | 2 +- .../components/card/discover-card.component.html | 8 ++++---- .../components/card/discover-card.component.ts | 3 +++ src/Ombi/ClientApp/src/app/interfaces/IRequestModel.ts | 3 +++ .../components/album/album-details.component.ts | 5 ++++- .../components/artist/artist-details.component.ts | 10 ++++++++-- src/Ombi/ClientApp/src/app/services/request.service.ts | 2 +- 10 files changed, 31 insertions(+), 12 deletions(-) diff --git a/src/Ombi.Core/Engine/MusicRequestEngine.cs b/src/Ombi.Core/Engine/MusicRequestEngine.cs index e0c24cf57..b76b76fc1 100644 --- a/src/Ombi.Core/Engine/MusicRequestEngine.cs +++ b/src/Ombi.Core/Engine/MusicRequestEngine.cs @@ -85,8 +85,10 @@ namespace Ombi.Core.Engine Title = album.title, Disk = album.images?.FirstOrDefault(x => x.coverType.Equals("disc"))?.url, Cover = album.images?.FirstOrDefault(x => x.coverType.Equals("cover"))?.url, - ForeignArtistId = album?.artist?.foreignArtistId ?? string.Empty, // This needs to be populated to send to Lidarr for new requests - RequestedByAlias = model.RequestedByAlias + ForeignArtistId = album.artist?.foreignArtistId, + RequestedByAlias = model.RequestedByAlias, + Monitor = model.Monitor, + SearchForMissingAlbums = model.SearchForMissingAlbums }; if (requestModel.Cover.IsNullOrEmpty()) { diff --git a/src/Ombi.Core/Engine/V2/MultiSearchEngine.cs b/src/Ombi.Core/Engine/V2/MultiSearchEngine.cs index 1f193a1b6..8ddb8c6e0 100644 --- a/src/Ombi.Core/Engine/V2/MultiSearchEngine.cs +++ b/src/Ombi.Core/Engine/V2/MultiSearchEngine.cs @@ -76,7 +76,7 @@ namespace Ombi.Core.Engine.V2 } } - if (filter.Movies) + if (filter.Movies || filter.TvShows) { var movieDbData = (await _movieDbApi.MultiSearch(searchTerm, lang, cancellationToken)).results; diff --git a/src/Ombi.Core/Models/Requests/MusicArtistRequestViewModel.cs b/src/Ombi.Core/Models/Requests/MusicArtistRequestViewModel.cs index f32fadfd3..dd556c8ee 100644 --- a/src/Ombi.Core/Models/Requests/MusicArtistRequestViewModel.cs +++ b/src/Ombi.Core/Models/Requests/MusicArtistRequestViewModel.cs @@ -4,6 +4,8 @@ { public string ForeignAlbumId { get; set; } public string RequestedByAlias { get; set; } + public string Monitor { get; set; } + public bool SearchForMissingAlbums { get; set; } } public class MusicArtistRequestViewModel diff --git a/src/Ombi.Core/Models/Search/V2/Music/AlbumInformation.cs b/src/Ombi.Core/Models/Search/V2/Music/AlbumInformation.cs index ab08a38f8..67234a2ab 100644 --- a/src/Ombi.Core/Models/Search/V2/Music/AlbumInformation.cs +++ b/src/Ombi.Core/Models/Search/V2/Music/AlbumInformation.cs @@ -8,7 +8,7 @@ namespace Ombi.Core.Models.Search.V2.Music public string Id { get; set; } public string StartYear { get; set; } public string EndYear { get; set; } - public bool IsEnded => EndYear != null; + public bool IsEnded => string.IsNullOrEmpty(EndYear); public bool Monitored { get; set; } public string Type { get; set; } public string Country { get; set; } diff --git a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html index 4132409fb..d8db82469 100644 --- a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html +++ b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.html @@ -3,7 +3,7 @@
- {{ result.title }} + {{ 'Common.' + RequestType[result.type] | translate }}
{{getAvailbilityStatus()}} @@ -11,7 +11,7 @@
{{result.title}} -
+
{{result.title}}
@@ -19,7 +19,7 @@
-
+
diff --git a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts index 286f0cd5e..c0e6fcdd7 100644 --- a/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts +++ b/src/Ombi/ClientApp/src/app/discover/components/card/discover-card.component.ts @@ -82,6 +82,9 @@ export class DiscoverCardComponent implements OnInit { this.requestable = true; this.monitored = false; } + console.log(this.result.title); + console.log(this.requestable); + console.log(this.monitored); }); } diff --git a/src/Ombi/ClientApp/src/app/interfaces/IRequestModel.ts b/src/Ombi/ClientApp/src/app/interfaces/IRequestModel.ts index c065627b1..881d3c309 100644 --- a/src/Ombi/ClientApp/src/app/interfaces/IRequestModel.ts +++ b/src/Ombi/ClientApp/src/app/interfaces/IRequestModel.ts @@ -45,6 +45,9 @@ export interface IAlbumRequest extends IBaseRequest { export interface IAlbumRequestModel { foreignAlbumId: string; + monitored: boolean; + monitor: string; + searchForMissingAlbums: boolean; } export interface IArtistRequestModel { diff --git a/src/Ombi/ClientApp/src/app/media-details/components/album/album-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/album/album-details.component.ts index 501ed00f1..4ffdae4be 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/album/album-details.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/album/album-details.component.ts @@ -51,7 +51,10 @@ export class AlbumDetailsComponent { return; } this.requestService.requestAlbum({ - foreignAlbumId: this.album.id + foreignAlbumId: this.album.id, + monitored: true, + monitor: "existing", + searchForMissingAlbums: true }).toPromise() .then(r => { if (r.result) { diff --git a/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts b/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts index ff6e1e436..8040c342f 100644 --- a/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts +++ b/src/Ombi/ClientApp/src/app/media-details/components/artist/artist-details.component.ts @@ -87,7 +87,10 @@ export class ArtistDetailsComponent { return; } this.requestService.requestAlbum({ - foreignAlbumId : a.id + foreignAlbumId : a.id, + monitored: true, + monitor: "all", + searchForMissingAlbums: true }).toPromise() .then(r => { if (r.result) { @@ -110,7 +113,10 @@ export class ArtistDetailsComponent { return; } this.requestService.requestAlbum({ - foreignAlbumId : a.id + foreignAlbumId : a.id, + monitored: true, + monitor: "all", + searchForMissingAlbums: true }).toPromise() .then(r => { if (r.result) { diff --git a/src/Ombi/ClientApp/src/app/services/request.service.ts b/src/Ombi/ClientApp/src/app/services/request.service.ts index 81242d925..7f61a7604 100644 --- a/src/Ombi/ClientApp/src/app/services/request.service.ts +++ b/src/Ombi/ClientApp/src/app/services/request.service.ts @@ -154,7 +154,7 @@ export class RequestService extends ServiceHelpers { // Music public requestAlbum(Album: IAlbumRequestModel): Observable { - return this.http.post(`${this.url}music/`, JSON.stringify(Album), {headers: this.headers}); + return this.http.post(`${this.url}album/`, JSON.stringify(Album), {headers: this.headers}); } public requestArtist(Artist: IArtistRequestModel): Observable { return this.http.post(`${this.url}artist/`, JSON.stringify(Artist), { headers: this.headers });