diff options
author | Chocobozzz <me@florianbigard.com> | 2021-07-29 14:17:03 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2021-07-29 14:17:03 +0200 |
commit | 9c9a236b541a286e165d67341e4ddd6ea2fabdf1 (patch) | |
tree | d7e397a3e160a64162f7ea1943529b2a06fb830a /server/models/video/video-playlist.ts | |
parent | 56d07460b5fe55cc86501742e759d9711d7eb386 (diff) | |
download | PeerTube-9c9a236b541a286e165d67341e4ddd6ea2fabdf1.tar.gz PeerTube-9c9a236b541a286e165d67341e4ddd6ea2fabdf1.tar.zst PeerTube-9c9a236b541a286e165d67341e4ddd6ea2fabdf1.zip |
Refactor options in models
Diffstat (limited to 'server/models/video/video-playlist.ts')
-rw-r--r-- | server/models/video/video-playlist.ts | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/server/models/video/video-playlist.ts b/server/models/video/video-playlist.ts index caa79952d..630684a88 100644 --- a/server/models/video/video-playlist.ts +++ b/server/models/video/video-playlist.ts | |||
@@ -19,7 +19,7 @@ import { | |||
19 | } from 'sequelize-typescript' | 19 | } from 'sequelize-typescript' |
20 | import { buildUUID, uuidToShort } from '@server/helpers/uuid' | 20 | import { buildUUID, uuidToShort } from '@server/helpers/uuid' |
21 | import { MAccountId, MChannelId } from '@server/types/models' | 21 | import { MAccountId, MChannelId } from '@server/types/models' |
22 | import { AttributesOnly, buildPlaylistEmbedPath, buildPlaylistWatchPath } from '@shared/core-utils' | 22 | import { AttributesOnly, buildPlaylistEmbedPath, buildPlaylistWatchPath, pick } from '@shared/core-utils' |
23 | import { ActivityIconObject } from '../../../shared/models/activitypub/objects' | 23 | import { ActivityIconObject } from '../../../shared/models/activitypub/objects' |
24 | import { PlaylistObject } from '../../../shared/models/activitypub/objects/playlist-object' | 24 | import { PlaylistObject } from '../../../shared/models/activitypub/objects/playlist-object' |
25 | import { VideoPlaylistPrivacy } from '../../../shared/models/videos/playlist/video-playlist-privacy.model' | 25 | import { VideoPlaylistPrivacy } from '../../../shared/models/videos/playlist/video-playlist-privacy.model' |
@@ -357,19 +357,10 @@ export class VideoPlaylistModel extends Model<Partial<AttributesOnly<VideoPlayli | |||
357 | }) | 357 | }) |
358 | Thumbnail: ThumbnailModel | 358 | Thumbnail: ThumbnailModel |
359 | 359 | ||
360 | static listForApi (options: { | 360 | static listForApi (options: AvailableForListOptions & { |
361 | followerActorId: number | ||
362 | start: number | 361 | start: number |
363 | count: number | 362 | count: number |
364 | sort: string | 363 | sort: string |
365 | type?: VideoPlaylistType | ||
366 | accountId?: number | ||
367 | videoChannelId?: number | ||
368 | listMyPlaylists?: boolean | ||
369 | search?: string | ||
370 | host?: string | ||
371 | uuids?: string[] | ||
372 | withVideos?: boolean // false by default | ||
373 | }) { | 364 | }) { |
374 | const query = { | 365 | const query = { |
375 | offset: options.start, | 366 | offset: options.start, |
@@ -382,14 +373,8 @@ export class VideoPlaylistModel extends Model<Partial<AttributesOnly<VideoPlayli | |||
382 | method: [ | 373 | method: [ |
383 | ScopeNames.AVAILABLE_FOR_LIST, | 374 | ScopeNames.AVAILABLE_FOR_LIST, |
384 | { | 375 | { |
385 | type: options.type, | 376 | ...pick(options, [ 'type', 'followerActorId', 'accountId', 'videoChannelId', 'listMyPlaylists', 'search', 'host', 'uuids' ]), |
386 | followerActorId: options.followerActorId, | 377 | |
387 | accountId: options.accountId, | ||
388 | videoChannelId: options.videoChannelId, | ||
389 | listMyPlaylists: options.listMyPlaylists, | ||
390 | search: options.search, | ||
391 | host: options.host, | ||
392 | uuids: options.uuids, | ||
393 | withVideos: options.withVideos || false | 378 | withVideos: options.withVideos || false |
394 | } as AvailableForListOptions | 379 | } as AvailableForListOptions |
395 | ] | 380 | ] |
@@ -406,17 +391,14 @@ export class VideoPlaylistModel extends Model<Partial<AttributesOnly<VideoPlayli | |||
406 | }) | 391 | }) |
407 | } | 392 | } |
408 | 393 | ||
409 | static searchForApi (options: { | 394 | static searchForApi (options: Pick<AvailableForListOptions, 'followerActorId' | 'search'| 'host'| 'uuids'> & { |
410 | followerActorId: number | ||
411 | start: number | 395 | start: number |
412 | count: number | 396 | count: number |
413 | sort: string | 397 | sort: string |
414 | search?: string | ||
415 | host?: string | ||
416 | uuids?: string[] | ||
417 | }) { | 398 | }) { |
418 | return VideoPlaylistModel.listForApi({ | 399 | return VideoPlaylistModel.listForApi({ |
419 | ...options, | 400 | ...options, |
401 | |||
420 | type: VideoPlaylistType.REGULAR, | 402 | type: VideoPlaylistType.REGULAR, |
421 | listMyPlaylists: false, | 403 | listMyPlaylists: false, |
422 | withVideos: true | 404 | withVideos: true |