Fix and cleanup actor follow inbox sql query
authorChocobozzz <me@florianbigard.com>
Wed, 23 Oct 2019 10:06:26 +0000 (12:06 +0200)
committerChocobozzz <me@florianbigard.com>
Wed, 23 Oct 2019 10:06:26 +0000 (12:06 +0200)
server/models/activitypub/actor-follow.ts

index fb3c4ef9d82cb94fd75280a7aeedc0b95b35eb0c..24272a40ea87f1fb08bcac6656ae426e31b2f6eb 100644 (file)
@@ -574,8 +574,8 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
     }
 
     const selections: string[] = []
-    if (distinct === true) selections.push('DISTINCT("Follows"."' + columnUrl + '") AS "selectionUrl"')
-    else selections.push('"Follows"."' + columnUrl + '" AS "selectionUrl"')
+    if (distinct === true) selections.push(`DISTINCT("Follows"."${columnUrl}") AS "selectionUrl"`)
+    else selections.push(`"Follows"."${columnUrl}" AS "selectionUrl"`)
 
     selections.push('COUNT(*) AS "total"')
 
@@ -585,7 +585,7 @@ export class ActorFollowModel extends Model<ActorFollowModel> {
       let query = 'SELECT ' + selection + ' FROM "actor" ' +
         'INNER JOIN "actorFollow" ON "actorFollow"."' + firstJoin + '" = "actor"."id" ' +
         'INNER JOIN "actor" AS "Follows" ON "actorFollow"."' + secondJoin + '" = "Follows"."id" ' +
-        'WHERE "actor"."id" = ANY ($actorIds) AND "actorFollow"."state" = \'accepted\' AND "selectionUrl" IS NOT NULL '
+        `WHERE "actor"."id" = ANY ($actorIds) AND "actorFollow"."state" = 'accepted' AND "Follows"."${columnUrl}" IS NOT NULL `
 
       if (count !== undefined) query += 'LIMIT ' + count
       if (start !== undefined) query += ' OFFSET ' + start