decay boost a lot more
This commit is contained in:
		
							parent
							
								
									7abb6d8f5d
								
							
						
					
					
						commit
						676a912974
					
				@ -22,7 +22,7 @@ async function comments (models, id) {
 | 
			
		||||
 | 
			
		||||
function decodeCursor (cursor) {
 | 
			
		||||
  if (!cursor) {
 | 
			
		||||
    return { offset: 0, time: new Date() }
 | 
			
		||||
    return { offset: 0, time: new Date((new Date()).getTime() + (2 * 60 * 60 * 1000)) }
 | 
			
		||||
  } else {
 | 
			
		||||
    const res = JSON.parse(Buffer.from(cursor, 'base64'))
 | 
			
		||||
    res.time = new Date(res.time)
 | 
			
		||||
@ -293,22 +293,26 @@ const SELECT =
 | 
			
		||||
  `SELECT "Item".id, "Item".created_at as "createdAt", "Item".updated_at as "updatedAt", "Item".title,
 | 
			
		||||
  "Item".text, "Item".url, "Item"."userId", "Item"."parentId", ltree2text("Item"."path") AS "path"`
 | 
			
		||||
 | 
			
		||||
const LEFT_JOIN_SATS_SELECT = 'SELECT i.id, SUM(CASE WHEN "Vote".boost THEN 0 ELSE "Vote".sats END) as sats,  SUM(CASE WHEN "Vote".boost THEN "Vote".sats ELSE 0 END) as boost'
 | 
			
		||||
 | 
			
		||||
function timedLeftJoinSats (num) {
 | 
			
		||||
  return `LEFT JOIN (SELECT i.id, SUM("Vote".sats) as sats
 | 
			
		||||
  return `LEFT JOIN (${LEFT_JOIN_SATS_SELECT}
 | 
			
		||||
  FROM "Item" i
 | 
			
		||||
  JOIN "Vote" ON i.id = "Vote"."itemId" AND "Vote".created_at <= $${num}
 | 
			
		||||
  GROUP BY i.id) x ON "Item".id = x.id`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const LEFT_JOIN_SATS =
 | 
			
		||||
  `LEFT JOIN (SELECT i.id, SUM("Vote".sats) as sats
 | 
			
		||||
  `LEFT JOIN (${LEFT_JOIN_SATS_SELECT}
 | 
			
		||||
  FROM "Item" i
 | 
			
		||||
  JOIN "Vote" ON i.id = "Vote"."itemId"
 | 
			
		||||
  GROUP BY i.id) x ON "Item".id = x.id`
 | 
			
		||||
 | 
			
		||||
function timedOrderBySats (num) {
 | 
			
		||||
  return `ORDER BY (x.sats-1)/POWER(EXTRACT(EPOCH FROM ($${num} - "Item".created_at))/3600+2, 1.5) DESC NULLS LAST`
 | 
			
		||||
  return `ORDER BY ((x.sats-1)/POWER(EXTRACT(EPOCH FROM ($${num} - "Item".created_at))/3600+2, 1.5) +
 | 
			
		||||
    (x.boost)/POWER(EXTRACT(EPOCH FROM ($${num} - "Item".created_at))/3600+2, 9)) DESC NULLS LAST`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const ORDER_BY_SATS =
 | 
			
		||||
  'ORDER BY (x.sats-1)/POWER(EXTRACT(EPOCH FROM ((NOW() AT TIME ZONE \'UTC\') - "Item".created_at))/3600+2, 1.5) DESC NULLS LAST'
 | 
			
		||||
  `ORDER BY ((x.sats-1)/POWER(EXTRACT(EPOCH FROM ((NOW() AT TIME ZONE 'UTC') - "Item".created_at))/3600+2, 1.5) +
 | 
			
		||||
    (x.boost)/POWER(EXTRACT(EPOCH FROM ((NOW() AT TIME ZONE 'UTC') - "Item".created_at))/3600+2, 9)) DESC NULLS LAST`
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user