From c84eac21d2661214ae0089b03d3b8d6f21f8b128 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Wed, 23 Oct 2019 23:23:12 +0200 Subject: [PATCH] Adding a search API. --- Kyoo/ClientApp/src/app/app-routing.module.ts | 21 ++--- Kyoo/ClientApp/src/app/app.component.html | 5 +- Kyoo/ClientApp/src/app/app.component.scss | 31 +++++++ Kyoo/ClientApp/src/app/app.component.ts | 13 +++ Kyoo/ClientApp/src/app/app.module.ts | 4 +- .../src/app/browse/browse.component.scss | 4 +- .../src/app/search/search.component.html | 1 + .../src/app/search/search.component.scss | 0 .../src/app/search/search.component.spec.ts | 25 ++++++ .../src/app/search/search.component.ts | 20 +++++ .../app/services/search-resolver.service.ts | 26 ++++++ Kyoo/ClientApp/src/models/search-result.js | 3 + .../ClientApp/src/models/search-result.js.map | 1 + Kyoo/ClientApp/src/models/search-result.ts | 14 ++++ Kyoo/Controllers/SearchController.cs | 32 ++++++++ Kyoo/Controllers/SubtitleController.cs | 1 - Kyoo/InternalAPI/Crawler/Crawler.cs | 2 +- .../LibraryManager/ILibraryManager.cs | 7 +- .../LibraryManager/LibraryManager.cs | 80 +++++++++++++++++++ .../ThumbnailsManager/ThumbnailsManager.cs | 47 ++++++++--- Kyoo/Kyoo.csproj | 4 + Kyoo/Models/SearchResult.cs | 13 +++ Kyoo/Models/Show.cs | 7 +- 23 files changed, 330 insertions(+), 31 deletions(-) create mode 100644 Kyoo/ClientApp/src/app/search/search.component.html create mode 100644 Kyoo/ClientApp/src/app/search/search.component.scss create mode 100644 Kyoo/ClientApp/src/app/search/search.component.spec.ts create mode 100644 Kyoo/ClientApp/src/app/search/search.component.ts create mode 100644 Kyoo/ClientApp/src/app/services/search-resolver.service.ts create mode 100644 Kyoo/ClientApp/src/models/search-result.js create mode 100644 Kyoo/ClientApp/src/models/search-result.js.map create mode 100644 Kyoo/ClientApp/src/models/search-result.ts create mode 100644 Kyoo/Controllers/SearchController.cs create mode 100644 Kyoo/Models/SearchResult.cs diff --git a/Kyoo/ClientApp/src/app/app-routing.module.ts b/Kyoo/ClientApp/src/app/app-routing.module.ts index c0aa7cf2..9976b1fb 100644 --- a/Kyoo/ClientApp/src/app/app-routing.module.ts +++ b/Kyoo/ClientApp/src/app/app-routing.module.ts @@ -1,17 +1,17 @@ import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - +import { RouterModule, Routes } from '@angular/router'; import { BrowseComponent } from './browse/browse.component'; -import { ShowDetailsComponent } from './show-details/show-details.component'; -import { NotFoundComponent } from './not-found/not-found.component'; -import { ShowResolverService } from './services/show-resolver.service'; -import { LibraryResolverService } from './services/library-resolver.service'; -import { PlayerComponent } from "./player/player.component"; -import { StreamResolverService } from "./services/stream-resolver.service"; import { CollectionComponent } from "./collection/collection.component"; +import { NotFoundComponent } from './not-found/not-found.component'; +import { PlayerComponent } from "./player/player.component"; +import { SearchComponent } from "./search/search.component"; import { CollectionResolverService } from "./services/collection-resolver.service"; +import { LibraryResolverService } from './services/library-resolver.service'; import { PeopleResolverService } from "./services/people-resolver.service"; - +import { SearchResolverService } from "./services/search-resolver.service"; +import { ShowResolverService } from './services/show-resolver.service'; +import { StreamResolverService } from "./services/stream-resolver.service"; +import { ShowDetailsComponent } from './show-details/show-details.component'; const routes: Routes = [ { path: "browse", component: BrowseComponent, pathMatch: "full", resolve: { shows: LibraryResolverService } }, @@ -19,7 +19,8 @@ const routes: Routes = [ { path: "show/:show-slug", component: ShowDetailsComponent, resolve: { show: ShowResolverService } }, { path: "collection/:collection-slug", component: CollectionComponent, resolve: { collection: CollectionResolverService } }, { path: "people/:people-slug", component: CollectionComponent, resolve: { collection: PeopleResolverService } }, - { path: "watch/:item", component: PlayerComponent, resolve: { item: StreamResolverService } }, + { path: "watch/:item", component: PlayerComponent, resolve: { item: StreamResolverService } }, + { path: "search/:query", component: SearchComponent, resolve: { items: SearchResolverService } }, { path: "**", component: NotFoundComponent } ]; diff --git a/Kyoo/ClientApp/src/app/app.component.html b/Kyoo/ClientApp/src/app/app.component.html index e2a76bd6..1c8e3f4b 100644 --- a/Kyoo/ClientApp/src/app/app.component.html +++ b/Kyoo/ClientApp/src/app/app.component.html @@ -15,8 +15,9 @@