aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/+search/shared/playlist-lazy-load.resolver.ts
blob: 3310e9627162b6c4cd659064251b9c81a8f4d6c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { Injectable } from '@angular/core'
import { Router } from '@angular/router'
import { SearchService } from '@app/shared/shared-search'
import { VideoPlaylist } from '@app/shared/shared-video-playlist'
import { AbstractLazyLoadResolver } from './abstract-lazy-load.resolver'

@Injectable()
export class PlaylistLazyLoadResolver extends AbstractLazyLoadResolver<VideoPlaylist> {

  constructor (
    protected router: Router,
    private searchService: SearchService
  ) {
    super()
  }

  protected finder (url: string) {
    return this.searchService.searchVideoPlaylists({ search: url })
  }

  protected buildUrl (playlist: VideoPlaylist) {
    return VideoPlaylist.buildWatchUrl(playlist)
  }
}