X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fvideo-playlist.ts;h=faf4bea789ac290dfcd19b62cdce7eb86eb20985;hb=d5b0313c0c6f1cb2ce1510f0317f8fbdef663145;hp=ae5e237ec3f9b78687ec6756c30236f689244040;hpb=7b51ede977c299a74728171d8c124bcc4cbba6ea;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/video-playlist.ts b/server/models/video/video-playlist.ts index ae5e237ec..faf4bea78 100644 --- a/server/models/video/video-playlist.ts +++ b/server/models/video/video-playlist.ts @@ -17,16 +17,12 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { activityPubCollectionPagination } from '@server/lib/activitypub/collection' import { MAccountId, MChannelId } from '@server/types/models' import { buildPlaylistEmbedPath, buildPlaylistWatchPath, pick } from '@shared/core-utils' import { buildUUID, uuidToShort } from '@shared/extra-utils' +import { ActivityIconObject, PlaylistObject, VideoPlaylist, VideoPlaylistPrivacy, VideoPlaylistType } from '@shared/models' import { AttributesOnly } from '@shared/typescript-utils' -import { ActivityIconObject } from '../../../shared/models/activitypub/objects' -import { PlaylistObject } from '../../../shared/models/activitypub/objects/playlist-object' -import { VideoPlaylistPrivacy } from '../../../shared/models/videos/playlist/video-playlist-privacy.model' -import { VideoPlaylistType } from '../../../shared/models/videos/playlist/video-playlist-type.model' -import { VideoPlaylist } from '../../../shared/models/videos/playlist/video-playlist.model' -import { activityPubCollectionPagination } from '../../helpers/activitypub' import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc' import { isVideoPlaylistDescriptionValid, @@ -49,11 +45,10 @@ import { MVideoPlaylistFormattable, MVideoPlaylistFull, MVideoPlaylistFullSummary, - MVideoPlaylistIdWithElements + MVideoPlaylistSummaryWithElements } from '../../types/models/video/video-playlist' import { AccountModel, ScopeNames as AccountScopeNames, SummaryOptions } from '../account/account' import { ActorModel } from '../actor/actor' -import { setAsUpdated } from '../shared' import { buildServerIdsFollowedBy, buildTrigramSearchIndex, @@ -61,8 +56,9 @@ import { createSimilarityAttribute, getPlaylistSort, isOutdated, + setAsUpdated, throwIfNotValid -} from '../utils' +} from '../shared' import { ThumbnailModel } from './thumbnail' import { ScopeNames as VideoChannelScopeNames, VideoChannelModel } from './video-channel' import { VideoPlaylistElementModel } from './video-playlist-element' @@ -423,7 +419,7 @@ export class VideoPlaylistModel extends Model ({ total: count, data: rows })) } - static searchForApi (options: Pick & { + static searchForApi (options: Pick & { start: number count: number sort: string @@ -470,9 +466,9 @@ export class VideoPlaylistModel extends Model { + static listPlaylistSummariesOf (accountId: number, videoIds: number[]): Promise { const query = { - attributes: [ 'id' ], + attributes: [ 'id', 'name', 'uuid' ], where: { ownerAccountId: accountId }, @@ -617,11 +613,11 @@ export class VideoPlaylistModel extends Model