From 98e99251f3972eb8716efd6751cadb966c905be5 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Tue, 16 Jan 2018 13:35:50 +0000 Subject: [PATCH] Smal changes to the api --- .../Engine/Interfaces/IMovieRequestEngine.cs | 4 +-- src/Ombi.Core/Engine/MovieRequestEngine.cs | 6 ++-- .../Models/Requests/MovieRequestViewModel.cs | 33 +++++++++++++++++++ .../ClientApp/app/interfaces/IRequestModel.ts | 4 +++ .../app/search/moviesearch.component.ts | 2 +- .../app/search/moviesearchgrid.component.ts | 2 +- .../ClientApp/app/services/request.service.ts | 5 ++- src/Ombi/Controllers/RequestController.cs | 2 +- 8 files changed, 46 insertions(+), 12 deletions(-) create mode 100644 src/Ombi.Core/Models/Requests/MovieRequestViewModel.cs diff --git a/src/Ombi.Core/Engine/Interfaces/IMovieRequestEngine.cs b/src/Ombi.Core/Engine/Interfaces/IMovieRequestEngine.cs index 1ccf8bbc7..152a1d923 100644 --- a/src/Ombi.Core/Engine/Interfaces/IMovieRequestEngine.cs +++ b/src/Ombi.Core/Engine/Interfaces/IMovieRequestEngine.cs @@ -1,15 +1,13 @@ using System.Collections.Generic; using System.Threading.Tasks; using Ombi.Core.Models.Requests; -using Ombi.Core.Models.Search; -using Ombi.Store.Entities; using Ombi.Store.Entities.Requests; namespace Ombi.Core.Engine.Interfaces { public interface IMovieRequestEngine : IRequestEngine { - Task RequestMovie(SearchMovieViewModel model); + Task RequestMovie(MovieRequestViewModel model); Task> SearchMovieRequest(string search); diff --git a/src/Ombi.Core/Engine/MovieRequestEngine.cs b/src/Ombi.Core/Engine/MovieRequestEngine.cs index a142f2e62..34885aa46 100644 --- a/src/Ombi.Core/Engine/MovieRequestEngine.cs +++ b/src/Ombi.Core/Engine/MovieRequestEngine.cs @@ -43,16 +43,16 @@ namespace Ombi.Core.Engine /// /// The model. /// - public async Task RequestMovie(SearchMovieViewModel model) + public async Task RequestMovie(MovieRequestViewModel model) { - var movieInfo = await MovieApi.GetMovieInformation(model.Id); + var movieInfo = await MovieApi.GetMovieInformation(model.TheMovieDbId); if (movieInfo == null || movieInfo.Id == 0) { return new RequestEngineResult { Result = false, Message = "There was an issue adding this movie!", - ErrorMessage = $"TheMovieDb didn't have any information for ID {model.Id}" + ErrorMessage = $"TheMovieDb didn't have any information for ID {model.TheMovieDbId}" }; } var fullMovieName = diff --git a/src/Ombi.Core/Models/Requests/MovieRequestViewModel.cs b/src/Ombi.Core/Models/Requests/MovieRequestViewModel.cs new file mode 100644 index 000000000..c67e138e1 --- /dev/null +++ b/src/Ombi.Core/Models/Requests/MovieRequestViewModel.cs @@ -0,0 +1,33 @@ +#region Copyright +// /************************************************************************ +// Copyright (c) 2018 Jamie Rees +// File: MovieRequestViewModel.cs +// Created By: Jamie Rees +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// ************************************************************************/ +#endregion +namespace Ombi.Core.Models.Requests +{ + public class MovieRequestViewModel + { + public int TheMovieDbId { get; set; } + } +} \ No newline at end of file diff --git a/src/Ombi/ClientApp/app/interfaces/IRequestModel.ts b/src/Ombi/ClientApp/app/interfaces/IRequestModel.ts index 447567122..a9af167bf 100644 --- a/src/Ombi/ClientApp/app/interfaces/IRequestModel.ts +++ b/src/Ombi/ClientApp/app/interfaces/IRequestModel.ts @@ -111,3 +111,7 @@ export interface IEpisodesRequests { approved: boolean; selected: boolean; // This is for the UI only } + +export interface IMovieRequestModel { + theMovieDbId: number; +} diff --git a/src/Ombi/ClientApp/app/search/moviesearch.component.ts b/src/Ombi/ClientApp/app/search/moviesearch.component.ts index 56f30fd76..6be32becc 100644 --- a/src/Ombi/ClientApp/app/search/moviesearch.component.ts +++ b/src/Ombi/ClientApp/app/search/moviesearch.component.ts @@ -76,7 +76,7 @@ export class MovieSearchComponent implements OnInit { } try { - this.requestService.requestMovie(searchResult) + this.requestService.requestMovie({ theMovieDbId: searchResult.id }) .subscribe(x => { this.result = x; diff --git a/src/Ombi/ClientApp/app/search/moviesearchgrid.component.ts b/src/Ombi/ClientApp/app/search/moviesearchgrid.component.ts index bdea7975e..1c9c7beeb 100644 --- a/src/Ombi/ClientApp/app/search/moviesearchgrid.component.ts +++ b/src/Ombi/ClientApp/app/search/moviesearchgrid.component.ts @@ -67,7 +67,7 @@ export class MovieSearchGridComponent implements OnInit { } try { - this.requestService.requestMovie(searchResult) + this.requestService.requestMovie({ theMovieDbId : searchResult.id}) .subscribe(x => { this.result = x; diff --git a/src/Ombi/ClientApp/app/services/request.service.ts b/src/Ombi/ClientApp/app/services/request.service.ts index 3c93e435b..7dab9baa2 100644 --- a/src/Ombi/ClientApp/app/services/request.service.ts +++ b/src/Ombi/ClientApp/app/services/request.service.ts @@ -6,8 +6,7 @@ import { Observable } from "rxjs/Rx"; import { TreeNode } from "primeng/primeng"; import { IRequestEngineResult } from "../interfaces"; -import { IChildRequests, IMovieRequests, IMovieUpdateModel, ITvRequests, ITvUpdateModel } from "../interfaces"; -import { ISearchMovieResult } from "../interfaces"; +import { IChildRequests, IMovieRequestModel, IMovieRequests, IMovieUpdateModel, ITvRequests, ITvUpdateModel } from "../interfaces"; import { ISearchTvResult } from "../interfaces"; import { ServiceHelpers } from "./service.helpers"; @@ -17,7 +16,7 @@ export class RequestService extends ServiceHelpers { super(http, "/api/v1/Request/", platformLocation); } - public requestMovie(movie: ISearchMovieResult): Observable { + public requestMovie(movie: IMovieRequestModel): Observable { return this.http.post(`${this.url}Movie/`, JSON.stringify(movie), {headers: this.headers}); } diff --git a/src/Ombi/Controllers/RequestController.cs b/src/Ombi/Controllers/RequestController.cs index 038074cad..b2ca921c9 100644 --- a/src/Ombi/Controllers/RequestController.cs +++ b/src/Ombi/Controllers/RequestController.cs @@ -52,7 +52,7 @@ namespace Ombi.Controllers /// The movie. /// [HttpPost("movie")] - public async Task RequestMovie([FromBody] SearchMovieViewModel movie) + public async Task RequestMovie([FromBody] MovieRequestViewModel movie) { return await MovieRequestEngine.RequestMovie(movie); }