diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index fd0658b6..88a1e0f0 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -2,10 +2,10 @@ import {NgModule} from '@angular/core'; import {RouterModule, Routes} from '@angular/router'; import {ItemsGridComponent} from './components/items-grid/items-grid.component'; import {NotFoundComponent} from './pages/not-found/not-found.component'; -import {PageResolver} from './services/resolvers/page-resolver.service'; +import {PageResolver} from './services/page-resolver.service'; import {ShowDetailsComponent} from './pages/show-details/show-details.component'; import {AuthGuard} from "./auth/misc/authenticated-guard.service"; -import {LibraryItem} from "../models/library-item"; +import {LibraryItem} from "../models/resources/library-item"; import { EpisodeService, LibraryItemService, @@ -14,12 +14,14 @@ import { SeasonService, ShowService } from "./services/api.service"; -import {Show} from "../models/show"; -import {ItemResolver} from "./services/resolvers/item-resolver.service"; +import {Show} from "../models/resources/show"; +import {ItemResolver} from "./services/item-resolver.service"; import {CollectionComponent} from "./pages/collection/collection.component"; -import {Collection} from "../models/collection"; +import {Collection} from "../models/resources/collection"; import {SearchComponent} from "./pages/search/search.component"; import {SearchResult} from "../models/search-result"; +import {PlayerComponent} from "./pages/player/player.component"; +import {WatchItem} from "../models/watch-item"; const routes: Routes = [ {path: "browse", component: ItemsGridComponent, pathMatch: "full", @@ -63,8 +65,15 @@ const routes: Routes = [ canActivate: [AuthGuard.forPermissions("read")] }, - // {path: "watch/:item", component: PlayerComponent, resolve: { item: StreamResolverService }, canLoad: [AuthGuard.forPermissions("play")], canActivate: [AuthGuard.forPermissions("play")]}, + {path: "watch/:item", component: PlayerComponent, + resolve: { item: ItemResolver.forResource("watch/:item") }, + canLoad: [AuthGuard.forPermissions("play")], + canActivate: [AuthGuard.forPermissions("play")] + }, + // TODO implement missing pages: /genre, /studio & an home page. + + {path: "", pathMatch: 'full', redirectTo: "/browse"}, {path: "**", component: NotFoundComponent} ]; diff --git a/src/app/app.component.ts b/src/app/app.component.ts index a2bf51be..2c23a357 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -5,7 +5,7 @@ import {MatDialog} from "@angular/material/dialog"; import {Account} from "../models/account"; import {AccountComponent} from "./auth/account/account.component"; import {AuthService} from "./auth/auth.service"; -import {Library} from "../models/library"; +import {Library} from "../models/resources/library"; import {LibraryService} from "./services/api.service"; import * as $ from "jquery"; diff --git a/src/app/app.module.ts b/src/app/app.module.ts index cb84ddd6..3a6046ab 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -39,6 +39,7 @@ import {MatChipsModule} from "@angular/material/chips"; import {MatAutocompleteModule} from "@angular/material/autocomplete"; import {MatExpansionModule} from "@angular/material/expansion"; import {InfiniteScrollModule} from "ngx-infinite-scroll"; +import {ShowGridComponent} from "./components/show-grid/show-grid.component"; @NgModule({ @@ -57,6 +58,7 @@ import {InfiniteScrollModule} from "ngx-infinite-scroll"; TrailerDialogComponent, ItemsListComponent, MetadataEditComponent, + ShowGridComponent ], imports: [ BrowserModule, diff --git a/src/app/components/episodes-list/episodes-list.component.ts b/src/app/components/episodes-list/episodes-list.component.ts index 2db12da3..ca2ee1dc 100644 --- a/src/app/components/episodes-list/episodes-list.component.ts +++ b/src/app/components/episodes-list/episodes-list.component.ts @@ -1,6 +1,6 @@ import { Component, Input} from '@angular/core'; import { DomSanitizer } from "@angular/platform-browser"; -import { Episode } from "../../../models/episode"; +import { Episode } from "../../../models/resources/episode"; import {HorizontalScroller} from "../../misc/horizontal-scroller"; import {Page} from "../../../models/page"; import {HttpClient} from "@angular/common/http"; diff --git a/src/app/components/items-grid/items-grid.component.ts b/src/app/components/items-grid/items-grid.component.ts index 94dbdb58..d99b1aa5 100644 --- a/src/app/components/items-grid/items-grid.component.ts +++ b/src/app/components/items-grid/items-grid.component.ts @@ -1,15 +1,15 @@ import {Component, Input} from '@angular/core'; import {ActivatedRoute} from '@angular/router'; import {DomSanitizer} from '@angular/platform-browser'; -import {LibraryItem} from "../../../models/library-item"; +import {LibraryItem} from "../../../models/resources/library-item"; import {Page} from "../../../models/page"; import {HttpClient} from "@angular/common/http"; -import {Show, ShowRole} from "../../../models/show"; -import {Collection} from "../../../models/collection"; +import {Show, ShowRole} from "../../../models/resources/show"; +import {Collection} from "../../../models/resources/collection"; import {ItemsUtils} from "../../misc/items-utils"; @Component({ - selector: 'app-items', + selector: 'app-items-grid', templateUrl: './items-grid.component.html', styleUrls: ['./items-grid.component.scss'] }) diff --git a/src/app/components/items-list/items-list.component.ts b/src/app/components/items-list/items-list.component.ts index ef049521..48f3fbc2 100644 --- a/src/app/components/items-list/items-list.component.ts +++ b/src/app/components/items-list/items-list.component.ts @@ -1,11 +1,11 @@ import {Component, Input} from "@angular/core"; -import {Collection} from "../../../models/collection"; +import {Collection} from "../../../models/resources/collection"; import {DomSanitizer} from "@angular/platform-browser"; import {HorizontalScroller} from "../../misc/horizontal-scroller"; import {Page} from "../../../models/page"; import {HttpClient} from "@angular/common/http"; -import {Show, ShowRole} from "../../../models/show"; -import {LibraryItem} from "../../../models/library-item"; +import {Show, ShowRole} from "../../../models/resources/show"; +import {LibraryItem} from "../../../models/resources/library-item"; import {ItemsUtils} from "../../misc/items-utils"; @Component({ diff --git a/src/app/components/people-list/people-list.component.ts b/src/app/components/people-list/people-list.component.ts index 874e2a30..bf5de987 100644 --- a/src/app/components/people-list/people-list.component.ts +++ b/src/app/components/people-list/people-list.component.ts @@ -1,7 +1,7 @@ import { Component, ElementRef, Input, ViewChild } from '@angular/core'; import { MatButton } from "@angular/material/button"; import { DomSanitizer } from "@angular/platform-browser"; -import { People } from "../../../models/people"; +import { People } from "../../../models/resources/people"; import {HorizontalScroller} from "../../misc/horizontal-scroller"; import {Page} from "../../../models/page"; import {HttpClient} from "@angular/common/http"; diff --git a/src/app/components/show-grid/show-grid.component.html b/src/app/components/show-grid/show-grid.component.html new file mode 100644 index 00000000..566d1e62 --- /dev/null +++ b/src/app/components/show-grid/show-grid.component.html @@ -0,0 +1,22 @@ +
+ +
diff --git a/src/app/components/show-grid/show-grid.component.scss b/src/app/components/show-grid/show-grid.component.scss new file mode 100644 index 00000000..5609ab4e --- /dev/null +++ b/src/app/components/show-grid/show-grid.component.scss @@ -0,0 +1,144 @@ +@import "~bootstrap/scss/functions"; +@import "~bootstrap/scss/variables"; +@import "~bootstrap/scss/mixins/breakpoints"; + +button +{ + outline: none; +} + +.arrow +{ + font-size: 12px; +} + +.container-fluid +{ + display: flex; + flex-wrap: wrap; +} + +.show-container +{ + width: 100%; + min-width: 300px; + list-style: none; + padding: .5em; + + @include media-breakpoint-up(lg) + { + width: 50%; + } + + @include media-breakpoint-up(xl) + { + width: 33%; + } +} + +.show +{ + padding: 0; + + > a + { + text-decoration: none; + color: inherit; + outline: none; + position: relative; + + &:focus, &:hover + { + + > .data > .title + { + text-decoration: underline; + } + } + + > .thumb + { + width: 33%; + + > div + { + width: 100%; + height: 0; + padding-top: 147.0588%; + background-size: cover; + background-color: #333333; + } + } + + > .data + { + width: 67%; + padding: .5rem; + position: absolute; + top: 0; + bottom: 0; + right: 0; + + > p:not(.overview) + { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + text-align: center; + margin-bottom: 0; + opacity: 1; + display: inline-block; + + &.date + { + opacity: 0.8; + font-size: 0.8em; + padding-left: 1rem; + } + } + + > .overview + { + overflow-y: auto; + height: calc(100% - 4rem); + text-align: justify; + padding-right: .5rem; + margin-bottom: 0; + } + + &:host-context(.hoverEnabled) &:hover + { + cursor: pointer; + } + } + } +} + + +.provider +{ + display: inline-block; + width: 2.5rem; + height: 2.5rem; + margin: .25rem; + + > a + { + width: 2.5rem; + height: 2.5rem; + position: relative; + display: inline-block; + + > img + { + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + margin: auto; + max-width: 2.5rem; + max-height: 2.5rem; + } + } +} \ No newline at end of file diff --git a/src/app/components/show-grid/show-grid.component.ts b/src/app/components/show-grid/show-grid.component.ts new file mode 100644 index 00000000..e258532c --- /dev/null +++ b/src/app/components/show-grid/show-grid.component.ts @@ -0,0 +1,30 @@ +import {Component, EventEmitter, Input, Output} from '@angular/core'; +import {DomSanitizer} from "@angular/platform-browser"; +import {Show} from "../../../models/resources/show"; +import {Page} from "../../../models/page"; + +@Component({ + selector: 'app-shows-grid', + templateUrl: './show-grid.component.html', + styleUrls: ['./show-grid.component.scss'] +}) +export class ShowGridComponent +{ + @Input() shows: Page + @Input() externalShows: boolean = false; + @Output() clickCallback: EventEmitter = new EventEmitter(); + + constructor(private sanitizer: DomSanitizer) { } + + getThumb(show: Show) + { + return this.sanitizer.bypassSecurityTrustStyle(`url(${show.poster})`); + } + + getLink(show: Show) + { + if (this.externalShows) + return null; + return `/show/${show.slug}`; + } +} diff --git a/src/app/misc/items-utils.ts b/src/app/misc/items-utils.ts index c342cbe8..d98c0497 100644 --- a/src/app/misc/items-utils.ts +++ b/src/app/misc/items-utils.ts @@ -1,6 +1,6 @@ -import {ItemType, LibraryItem} from "../../models/library-item"; -import {Show, ShowRole} from "../../models/show"; -import {Collection} from "../../models/collection"; +import {ItemType, LibraryItem} from "../../models/resources/library-item"; +import {Show, ShowRole} from "../../models/resources/show"; +import {Collection} from "../../models/resources/collection"; export class ItemsUtils { diff --git a/src/app/pages/collection/collection.component.html b/src/app/pages/collection/collection.component.html index a2231778..8bab2a0a 100644 --- a/src/app/pages/collection/collection.component.html +++ b/src/app/pages/collection/collection.component.html @@ -8,7 +8,7 @@
{{collection.startYear}} - {{collection.endYear}}
{{collection.startYear}}

- + diff --git a/src/app/pages/collection/collection.component.ts b/src/app/pages/collection/collection.component.ts index 0f5a5e5d..2abc4af9 100644 --- a/src/app/pages/collection/collection.component.ts +++ b/src/app/pages/collection/collection.component.ts @@ -1,10 +1,10 @@ import {Component} from '@angular/core'; -import {Collection} from "../../../models/collection"; +import {Collection} from "../../../models/resources/collection"; import {ActivatedRoute} from "@angular/router"; import {DomSanitizer} from "@angular/platform-browser"; -import {Show} from "../../../models/show"; +import {Show} from "../../../models/resources/show"; import {Page} from "../../../models/page"; -import {People} from "../../../models/people"; +import {People} from "../../../models/resources/people"; @Component({ selector: 'app-collection', diff --git a/src/app/pages/metadata-edit/metadata-edit.component.html b/src/app/pages/metadata-edit/metadata-edit.component.html index 0ff4f038..db316ebf 100644 --- a/src/app/pages/metadata-edit/metadata-edit.component.html +++ b/src/app/pages/metadata-edit/metadata-edit.component.html @@ -92,7 +92,7 @@ {{provider.name}} ID - + diff --git a/src/app/pages/metadata-edit/metadata-edit.component.ts b/src/app/pages/metadata-edit/metadata-edit.component.ts index 8a32883f..064a01ac 100644 --- a/src/app/pages/metadata-edit/metadata-edit.component.ts +++ b/src/app/pages/metadata-edit/metadata-edit.component.ts @@ -1,16 +1,16 @@ -import {Component, ElementRef, Inject, OnInit, ViewChild} from '@angular/core'; +import {Component, ElementRef, Inject, ViewChild} from '@angular/core'; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; -import {HttpClient, HttpErrorResponse} from "@angular/common/http"; -import {Show} from "../../../models/show"; -import {Genre} from "../../../models/genre"; +import {HttpClient} from "@angular/common/http"; +import {Show} from "../../../models/resources/show"; +import {Genre} from "../../../models/resources/genre"; import {MatChipInputEvent} from "@angular/material/chips"; import {MatAutocompleteSelectedEvent} from "@angular/material/autocomplete"; import {Observable, of} from "rxjs"; -import {catchError, tap} from "rxjs/operators"; -import {Studio} from "../../../models/studio"; -import {ShowGridComponent} from "../../components/show-grid/show-grid.component"; +import {tap} from "rxjs/operators"; +import {Studio} from "../../../models/resources/studio"; import {Provider} from "../../../models/provider"; import {MatSnackBar} from "@angular/material/snack-bar"; +import {ShowGridComponent} from "../../components/show-grid/show-grid.component"; @Component({ selector: 'app-metadata-edit', @@ -124,7 +124,7 @@ export class MetadataEditComponent reIdentify(search: string) { - this.identityShow(search).subscribe(x => this.identifyGrid.shows = x); + // this.identityShow(search).subscribe(x => this.identifyGrid.shows = x); } getMetadataID(provider: Provider) diff --git a/src/app/pages/show-details/show-details.component.ts b/src/app/pages/show-details/show-details.component.ts index db17ac7c..c05dd757 100644 --- a/src/app/pages/show-details/show-details.component.ts +++ b/src/app/pages/show-details/show-details.component.ts @@ -2,15 +2,15 @@ import { Component, OnInit } from '@angular/core'; import { MatSnackBar } from "@angular/material/snack-bar"; import { Title } from '@angular/platform-browser'; import {ActivatedRoute, Router} from '@angular/router'; -import { Episode } from "../../../models/episode"; -import { Show } from "../../../models/show"; +import { Episode } from "../../../models/resources/episode"; +import { Show } from "../../../models/resources/show"; import {MatDialog} from "@angular/material/dialog"; import {TrailerDialogComponent} from "../trailer-dialog/trailer-dialog.component"; import {MetadataEditComponent} from "../metadata-edit/metadata-edit.component"; -import {Season} from "../../../models/season"; +import {Season} from "../../../models/resources/season"; import {EpisodeService, PeopleService, SeasonService} from "../../services/api.service"; import {Page} from "../../../models/page"; -import {People} from "../../../models/people"; +import {People} from "../../../models/resources/people"; @Component({ selector: 'app-show-details', diff --git a/src/app/services/api.service.ts b/src/app/services/api.service.ts index c75ab8a2..6338eddb 100644 --- a/src/app/services/api.service.ts +++ b/src/app/services/api.service.ts @@ -3,13 +3,13 @@ import {HttpClient} from "@angular/common/http"; import {Observable} from "rxjs" import {Page} from "../../models/page"; import {IResource} from "../../models/resources/resource"; -import {Library} from "../../models/library"; -import {LibraryItem} from "../../models/library-item"; +import {Library} from "../../models/resources/library"; +import {LibraryItem} from "../../models/resources/library-item"; import {map} from "rxjs/operators"; -import {Season} from "../../models/season"; -import {Episode} from "../../models/episode"; -import {People} from "../../models/people"; -import {Show} from "../../models/show"; +import {Season} from "../../models/resources/season"; +import {Episode} from "../../models/resources/episode"; +import {People} from "../../models/resources/people"; +import {Show} from "../../models/resources/show"; export interface ApiArgs { @@ -116,7 +116,7 @@ export class EpisodeService extends CrudApi getFromSeasonNumber(show: string | number, seasonNumber: number, args?: ApiArgs): Observable> { - return this.client.get(`/api/seasons/${show}-${seasonNumber}/episodes${this.ArgsAsQuery(args)}`) + return this.client.get(`/api/seasons/${show}-s${seasonNumber}/episodes${this.ArgsAsQuery(args)}`) .pipe(map(x => Object.assign(new Page(), x))); } } diff --git a/src/app/services/resolvers/item-resolver.service.ts b/src/app/services/item-resolver.service.ts similarity index 100% rename from src/app/services/resolvers/item-resolver.service.ts rename to src/app/services/item-resolver.service.ts diff --git a/src/app/services/resolvers/page-resolver.service.ts b/src/app/services/page-resolver.service.ts similarity index 92% rename from src/app/services/resolvers/page-resolver.service.ts rename to src/app/services/page-resolver.service.ts index ecd671f7..a9bafbef 100644 --- a/src/app/services/resolvers/page-resolver.service.ts +++ b/src/app/services/page-resolver.service.ts @@ -4,8 +4,8 @@ import {MatSnackBar} from '@angular/material/snack-bar'; import {ActivatedRouteSnapshot, Resolve} from '@angular/router'; import {Observable, EMPTY} from 'rxjs'; import {catchError, map} from 'rxjs/operators'; -import {Page} from "../../../models/page"; -import {IResource} from "../../../models/resources/resource"; +import {Page} from "../../models/page"; +import {IResource} from "../../models/resources/resource"; @Injectable() export class PageResolver diff --git a/src/app/services/resolvers/search-resolver.service.ts b/src/app/services/resolvers/search-resolver.service.ts deleted file mode 100644 index 7471dcbf..00000000 --- a/src/app/services/resolvers/search-resolver.service.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { HttpClient, HttpErrorResponse } from '@angular/common/http'; -import { Injectable } from '@angular/core'; -import { MatSnackBar } from '@angular/material/snack-bar'; -import { ActivatedRouteSnapshot, Resolve } from '@angular/router'; -import { EMPTY, Observable } from 'rxjs'; -import { catchError } from 'rxjs/operators'; -import { SearchResult } from "../../../models/search-result"; - -@Injectable({ - providedIn: 'root' -}) -export class SearchResolverService implements Resolve -{ - constructor(private http: HttpClient, private snackBar: MatSnackBar) { } - - resolve(route: ActivatedRouteSnapshot): SearchResult | Observable | Promise - { - let query: string = route.paramMap.get("query"); - return this.http.get("api/search/" + query).pipe(catchError((error: HttpErrorResponse) => - { - console.log(error.status + " - " + error.message); - this.snackBar.open("An unknow error occured.", null, { horizontalPosition: "left", panelClass: ['snackError'], duration: 2500 }); - return EMPTY; - })); - } -} diff --git a/src/app/services/resolvers/stream-resolver.service.ts b/src/app/services/resolvers/stream-resolver.service.ts deleted file mode 100644 index 452b5917..00000000 --- a/src/app/services/resolvers/stream-resolver.service.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { HttpClient, HttpErrorResponse } from '@angular/common/http'; -import { Injectable } from '@angular/core'; -import { MatSnackBar } from '@angular/material/snack-bar'; -import { ActivatedRouteSnapshot, Resolve } from '@angular/router'; -import { EMPTY, Observable } from 'rxjs'; -import { catchError } from 'rxjs/operators'; -import { WatchItem } from "../../../models/watch-item"; - - -@Injectable() -export class StreamResolverService implements Resolve -{ - constructor(private http: HttpClient, private snackBar: MatSnackBar) { } - - resolve(route: ActivatedRouteSnapshot): WatchItem | Observable | Promise - { - let item: string = route.paramMap.get("item"); - return this.http.get("api/watch/" + item).pipe(catchError((error: HttpErrorResponse) => - { - console.log(error.status + " - " + error.message); - if (error.status == 404) - { - this.snackBar.open("Episode \"" + item + "\" not found.", null, { horizontalPosition: "left", panelClass: ['snackError'], duration: 2500 }); - } - else - { - this.snackBar.open("An unknow error occured.", null, { horizontalPosition: "left", panelClass: ['snackError'], duration: 2500 }); - } - return EMPTY; - })); - } -} diff --git a/src/models/collection.js b/src/models/resources/collection.js similarity index 100% rename from src/models/collection.js rename to src/models/resources/collection.js diff --git a/src/models/collection.js.map b/src/models/resources/collection.js.map similarity index 100% rename from src/models/collection.js.map rename to src/models/resources/collection.js.map diff --git a/src/models/collection.ts b/src/models/resources/collection.ts similarity index 79% rename from src/models/collection.ts rename to src/models/resources/collection.ts index de44a559..3266cb04 100644 --- a/src/models/collection.ts +++ b/src/models/resources/collection.ts @@ -1,5 +1,5 @@ import { Show } from "./show"; -import {IResource} from "./resources/resource"; +import {IResource} from "./resource"; export interface Collection extends IResource { diff --git a/src/models/episode.js b/src/models/resources/episode.js similarity index 100% rename from src/models/episode.js rename to src/models/resources/episode.js diff --git a/src/models/episode.js.map b/src/models/resources/episode.js.map similarity index 100% rename from src/models/episode.js.map rename to src/models/resources/episode.js.map diff --git a/src/models/episode.ts b/src/models/resources/episode.ts similarity index 72% rename from src/models/episode.ts rename to src/models/resources/episode.ts index 0463e428..226f4474 100644 --- a/src/models/episode.ts +++ b/src/models/resources/episode.ts @@ -1,5 +1,5 @@ -import {ExternalID} from "./external-id"; -import {IResource} from "./resources/resource"; +import {ExternalID} from "../external-id"; +import {IResource} from "./resource"; export interface Episode extends IResource { diff --git a/src/models/genre.js b/src/models/resources/genre.js similarity index 100% rename from src/models/genre.js rename to src/models/resources/genre.js diff --git a/src/models/genre.js.map b/src/models/resources/genre.js.map similarity index 100% rename from src/models/genre.js.map rename to src/models/resources/genre.js.map diff --git a/src/models/genre.ts b/src/models/resources/genre.ts similarity index 100% rename from src/models/genre.ts rename to src/models/resources/genre.ts diff --git a/src/models/library-item.ts b/src/models/resources/library-item.ts similarity index 83% rename from src/models/library-item.ts rename to src/models/resources/library-item.ts index 28747617..cf6f6fc9 100644 --- a/src/models/library-item.ts +++ b/src/models/resources/library-item.ts @@ -1,4 +1,4 @@ -import {IResource} from "./resources/resource"; +import {IResource} from "./resource"; export enum ItemType { diff --git a/src/models/library.ts b/src/models/resources/library.ts similarity index 65% rename from src/models/library.ts rename to src/models/resources/library.ts index bab28944..6e393451 100644 --- a/src/models/library.ts +++ b/src/models/resources/library.ts @@ -1,4 +1,4 @@ -import {IResource} from "./resources/resource"; +import {IResource} from "./resource"; export interface Library extends IResource { diff --git a/src/models/people.js b/src/models/resources/people.js similarity index 100% rename from src/models/people.js rename to src/models/resources/people.js diff --git a/src/models/people.js.map b/src/models/resources/people.js.map similarity index 100% rename from src/models/people.js.map rename to src/models/resources/people.js.map diff --git a/src/models/people.ts b/src/models/resources/people.ts similarity index 66% rename from src/models/people.ts rename to src/models/resources/people.ts index 19faffc7..c70d09c4 100644 --- a/src/models/people.ts +++ b/src/models/resources/people.ts @@ -1,5 +1,5 @@ -import {ExternalID} from "./external-id"; -import {IResource} from "./resources/resource"; +import {ExternalID} from "../external-id"; +import {IResource} from "./resource"; import {Show} from "./show"; export interface People extends IResource diff --git a/src/models/season.js b/src/models/resources/season.js similarity index 100% rename from src/models/season.js rename to src/models/resources/season.js diff --git a/src/models/season.js.map b/src/models/resources/season.js.map similarity index 100% rename from src/models/season.js.map rename to src/models/resources/season.js.map diff --git a/src/models/season.ts b/src/models/resources/season.ts similarity index 67% rename from src/models/season.ts rename to src/models/resources/season.ts index 3f0eaa74..0844c645 100644 --- a/src/models/season.ts +++ b/src/models/resources/season.ts @@ -1,6 +1,6 @@ import { Episode } from "./episode"; -import {ExternalID} from "./external-id"; -import {IResource} from "./resources/resource"; +import {ExternalID} from "../external-id"; +import {IResource} from "./resource"; export interface Season extends IResource { diff --git a/src/models/show.js b/src/models/resources/show.js similarity index 100% rename from src/models/show.js rename to src/models/resources/show.js diff --git a/src/models/show.js.map b/src/models/resources/show.js.map similarity index 100% rename from src/models/show.js.map rename to src/models/resources/show.js.map diff --git a/src/models/show.ts b/src/models/resources/show.ts similarity index 89% rename from src/models/show.ts rename to src/models/resources/show.ts index 6f97b2b7..c8ccc0ef 100644 --- a/src/models/show.ts +++ b/src/models/resources/show.ts @@ -2,8 +2,8 @@ import {Season} from "./season"; import {Genre} from "./genre"; import {People} from "./people"; import {Studio} from "./studio"; -import {ExternalID} from "./external-id"; -import {IResource} from "./resources/resource"; +import {ExternalID} from "../external-id"; +import {IResource} from "./resource"; export interface Show extends IResource { diff --git a/src/models/studio.js b/src/models/resources/studio.js similarity index 100% rename from src/models/studio.js rename to src/models/resources/studio.js diff --git a/src/models/studio.js.map b/src/models/resources/studio.js.map similarity index 100% rename from src/models/studio.js.map rename to src/models/resources/studio.js.map diff --git a/src/models/studio.ts b/src/models/resources/studio.ts similarity index 100% rename from src/models/studio.ts rename to src/models/resources/studio.ts diff --git a/src/models/search-result.ts b/src/models/search-result.ts index cc903fcf..692654bf 100644 --- a/src/models/search-result.ts +++ b/src/models/search-result.ts @@ -1,9 +1,9 @@ -import { Show } from "./show"; -import { Episode } from "./episode"; -import { People } from "./people"; -import { Studio } from "./studio"; -import { Genre } from "./genre"; -import {Collection} from "./collection"; +import { Show } from "./resources/show"; +import { Episode } from "./resources/episode"; +import { People } from "./resources/people"; +import { Studio } from "./resources/studio"; +import { Genre } from "./resources/genre"; +import {Collection} from "./resources/collection"; export interface SearchResult { diff --git a/src/models/watch-item.ts b/src/models/watch-item.ts index 204e10af..09ae3c22 100644 --- a/src/models/watch-item.ts +++ b/src/models/watch-item.ts @@ -1,4 +1,4 @@ -import { Episode } from "./episode"; +import { Episode } from "./resources/episode"; export interface WatchItem {