]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/video/sql/videos-model-list-query-builder.ts
Add video file size info in admin videos list
[github/Chocobozzz/PeerTube.git] / server / models / video / sql / videos-model-list-query-builder.ts
index 43040fc5e6da1be861c5acad4a7dd275f3575983..cd721f05519692676511984934c2d26c28b5777a 100644 (file)
@@ -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,9 +52,9 @@ export class VideosModelListQueryBuilder extends AbstractVideosModelQueryBuilder
     this.includeAccounts()
     this.includeThumbnails()
 
-    if (options.withFiles) {
-      this.includeWebtorrentFiles(false)
-      this.includeStreamingPlaylistFiles(false)
+    if (options.include & VideoInclude.FILES) {
+      this.includeWebtorrentFiles()
+      this.includeStreamingPlaylistFiles()
     }
 
     if (options.user) {
@@ -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}`