Fix video follow SQL
authorChocobozzz <me@florianbigard.com>
Tue, 9 Jun 2020 13:59:35 +0000 (15:59 +0200)
committerChocobozzz <chocobozzz@cpy.re>
Wed, 10 Jun 2020 12:02:41 +0000 (14:02 +0200)
server/models/video/video-query-builder.ts
server/models/video/video.ts

index 455f9f30ff032c158404535196db985de1e0e36d..6211c9e565acee0c1b2500da83fe5c0f1f6f267e 100644 (file)
@@ -135,12 +135,14 @@ function buildListQuery (model: typeof Model, options: BuildVideosQueryOptions)
       '  EXISTS (' +
       '    SELECT 1 FROM "videoShare" ' +
       '    INNER JOIN "actorFollow" "actorFollowShare" ON "actorFollowShare"."targetActorId" = "videoShare"."actorId" ' +
-      '    AND "actorFollowShare"."actorId" = :followerActorId WHERE "videoShare"."videoId" = "video"."id"' +
+      '    AND "actorFollowShare"."actorId" = :followerActorId AND "actorFollowShare"."state" = \'accepted\' ' +
+      '    WHERE "videoShare"."videoId" = "video"."id"' +
       '  )' +
       '  OR' +
       '  EXISTS (' +
       '    SELECT 1 from "actorFollow" ' +
-      '    WHERE "actorFollow"."targetActorId" = "videoChannel"."actorId" AND "actorFollow"."actorId" = :followerActorId' +
+      '    WHERE "actorFollow"."targetActorId" = "videoChannel"."actorId" AND "actorFollow"."actorId" = :followerActorId ' +
+      '    AND "actorFollow"."state" = \'accepted\'' +
       '  )'
 
     if (options.includeLocalVideos) {
index 344bfc92975d721b3fb49c69ebf90eca0c179804..5aa40220ee78b892e46069564b154a9981b41a42 100644 (file)
@@ -1366,7 +1366,7 @@ export class VideoModel extends Model<VideoModel> {
     // Instances only share videos
     const query = 'SELECT 1 FROM "videoShare" ' +
       'INNER JOIN "actorFollow" ON "actorFollow"."targetActorId" = "videoShare"."actorId" ' +
-      'WHERE "actorFollow"."actorId" = $followerActorId AND "videoShare"."videoId" = $videoId ' +
+      'WHERE "actorFollow"."actorId" = $followerActorId AND "actorFollow"."state" = \'accepted\' AND "videoShare"."videoId" = $videoId ' +
       'LIMIT 1'
 
     const options = {