fixing subscribe and child reply duplicates
This commit is contained in:
		
							parent
							
								
									e1f59763ea
								
							
						
					
					
						commit
						8ac570d403
					
				@ -77,12 +77,9 @@ export default {
 | 
			
		||||
            WHERE p."userId" = $1 AND "Item"."userId" <> $1 AND "Item".created_at <= $2
 | 
			
		||||
            ${await filterClause(me, models)}
 | 
			
		||||
            ORDER BY "sortTime" DESC
 | 
			
		||||
            LIMIT ${LIMIT}+$3)`
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
      // break out thread subscription to decrease the search space of the already expensive reply query
 | 
			
		||||
      queries.push(
 | 
			
		||||
        `(SELECT DISTINCT "Item".id::TEXT, "Item".created_at AS "sortTime", NULL::BIGINT as "earnedSats",
 | 
			
		||||
            LIMIT ${LIMIT}+$3)
 | 
			
		||||
          UNION DISTINCT
 | 
			
		||||
          (SELECT DISTINCT "Item".id::TEXT, "Item".created_at AS "sortTime", NULL::BIGINT as "earnedSats",
 | 
			
		||||
            'Reply' AS type
 | 
			
		||||
            FROM "ThreadSubscription"
 | 
			
		||||
            JOIN "Item" p ON "ThreadSubscription"."itemId" = p.id
 | 
			
		||||
@ -95,6 +92,23 @@ export default {
 | 
			
		||||
            LIMIT ${LIMIT}+$3)`
 | 
			
		||||
      )
 | 
			
		||||
 | 
			
		||||
      if (meFull.noteMentions) {
 | 
			
		||||
        queries.push(
 | 
			
		||||
          `(SELECT "Item".id::TEXT, "Mention".created_at AS "sortTime", NULL as "earnedSats",
 | 
			
		||||
            'Mention' AS type
 | 
			
		||||
            FROM "Mention"
 | 
			
		||||
            JOIN "Item" ON "Mention"."itemId" = "Item".id
 | 
			
		||||
            LEFT JOIN "Item" p ON "Item"."parentId" = p.id
 | 
			
		||||
            WHERE "Mention"."userId" = $1
 | 
			
		||||
            AND "Mention".created_at <= $2
 | 
			
		||||
            AND "Item"."userId" <> $1
 | 
			
		||||
            AND (p."userId" IS NULL OR p."userId" <> $1)
 | 
			
		||||
            ${await filterClause(me, models)}
 | 
			
		||||
            ORDER BY "sortTime" DESC
 | 
			
		||||
            LIMIT ${LIMIT}+$3)`
 | 
			
		||||
        )
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      queries.push(
 | 
			
		||||
        `(SELECT "Item".id::text, "Item"."statusUpdatedAt" AS "sortTime", NULL as "earnedSats",
 | 
			
		||||
          'JobChanged' AS type
 | 
			
		||||
@ -122,23 +136,6 @@ export default {
 | 
			
		||||
        )
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (meFull.noteMentions) {
 | 
			
		||||
        queries.push(
 | 
			
		||||
          `(SELECT "Item".id::TEXT, "Mention".created_at AS "sortTime", NULL as "earnedSats",
 | 
			
		||||
            'Mention' AS type
 | 
			
		||||
            FROM "Mention"
 | 
			
		||||
            JOIN "Item" ON "Mention"."itemId" = "Item".id
 | 
			
		||||
            LEFT JOIN "Item" p ON "Item"."parentId" = p.id
 | 
			
		||||
            WHERE "Mention"."userId" = $1
 | 
			
		||||
            AND "Mention".created_at <= $2
 | 
			
		||||
            AND "Item"."userId" <> $1
 | 
			
		||||
            AND (p."userId" IS NULL OR p."userId" <> $1)
 | 
			
		||||
            ${await filterClause(me, models)}
 | 
			
		||||
            ORDER BY "sortTime" DESC
 | 
			
		||||
            LIMIT ${LIMIT}+$3)`
 | 
			
		||||
        )
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (meFull.noteDeposits) {
 | 
			
		||||
        queries.push(
 | 
			
		||||
          `(SELECT "Invoice".id::text, "Invoice"."confirmedAt" AS "sortTime", FLOOR("msatsReceived" / 1000) as "earnedSats",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user