X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fvideo%2Fsql%2Fvideos-model-list-query-builder.ts;h=cd721f05519692676511984934c2d26c28b5777a;hb=3c10840fa90fc88fc98e8169faf4745ff6c80893;hp=e61c51de8f7d8285ee5f2ef1350d79d193a6f0f6;hpb=cf21b2cbef61929177b9c09b5e017c3b7eb8535d;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/video/sql/videos-model-list-query-builder.ts b/server/models/video/sql/videos-model-list-query-builder.ts index e61c51de8..cd721f055 100644 --- a/server/models/video/sql/videos-model-list-query-builder.ts +++ b/server/models/video/sql/videos-model-list-query-builder.ts @@ -1,3 +1,4 @@ +import { VideoInclude } from '@shared/models' import { Sequelize } from 'sequelize' import { AbstractVideosModelQueryBuilder } from './shared/abstract-videos-model-query-builder' import { VideoModelBuilder } from './shared/video-model-builder' @@ -28,7 +29,7 @@ export class VideosModelListQueryBuilder extends AbstractVideosModelQueryBuilder this.buildListQueryFromIdsQuery(options) return this.runQuery() - .then(rows => this.videoModelBuilder.buildVideosFromRows(rows)) + .then(rows => this.videoModelBuilder.buildVideosFromRows({ rows, include: options.include })) } private buildInnerQuery (options: BuildVideosListQueryOptions) { @@ -51,7 +52,7 @@ export class VideosModelListQueryBuilder extends AbstractVideosModelQueryBuilder this.includeAccounts() this.includeThumbnails() - if (options.withFiles) { + if (options.include & VideoInclude.FILES) { this.includeWebtorrentFiles() this.includeStreamingPlaylistFiles() } @@ -64,6 +65,14 @@ export class VideosModelListQueryBuilder extends AbstractVideosModelQueryBuilder this.includePlaylist(options.videoPlaylistId) } + if (options.include & VideoInclude.BLACKLISTED) { + this.includeBlacklisted() + } + + if (options.include & VideoInclude.BLOCKED_OWNER) { + this.includeBlockedOwnerAndServer(options.serverAccountIdForBlock, options.user) + } + const select = this.buildSelect() this.query = `${select} FROM (${this.innerQuery}) AS "tmp" ${this.joins} ${this.innerSort}`