Sort closed channels by closing_date, updated_at
This commit is contained in:
		
							parent
							
								
									91355c0936
								
							
						
					
					
						commit
						434963e8a0
					
				@ -257,7 +257,8 @@ class ChannelsApi {
 | 
			
		||||
      let query = `
 | 
			
		||||
        SELECT COALESCE(node2.alias, SUBSTRING(node2_public_key, 0, 20)) AS alias, COALESCE(node2.public_key, node2_public_key) AS public_key,
 | 
			
		||||
          channels.status, channels.node1_fee_rate,
 | 
			
		||||
          channels.capacity, channels.short_id, channels.id, channels.closing_reason
 | 
			
		||||
          channels.capacity, channels.short_id, channels.id, channels.closing_reason,
 | 
			
		||||
          UNIX_TIMESTAMP(closing_date) as closing_date, UNIX_TIMESTAMP(channels.updated_at) as updated_at
 | 
			
		||||
        FROM channels
 | 
			
		||||
        LEFT JOIN nodes AS node2 ON node2.public_key = channels.node2_public_key
 | 
			
		||||
        WHERE node1_public_key = ? AND channels.status ${channelStatusFilter}
 | 
			
		||||
@ -268,7 +269,8 @@ class ChannelsApi {
 | 
			
		||||
      query = `
 | 
			
		||||
        SELECT COALESCE(node1.alias, SUBSTRING(node1_public_key, 0, 20)) AS alias, COALESCE(node1.public_key, node1_public_key) AS public_key,
 | 
			
		||||
          channels.status, channels.node2_fee_rate,
 | 
			
		||||
          channels.capacity, channels.short_id, channels.id, channels.closing_reason
 | 
			
		||||
          channels.capacity, channels.short_id, channels.id, channels.closing_reason,
 | 
			
		||||
          UNIX_TIMESTAMP(closing_date) as closing_date, UNIX_TIMESTAMP(channels.updated_at) as updated_at
 | 
			
		||||
        FROM channels
 | 
			
		||||
        LEFT JOIN nodes AS node1 ON node1.public_key = channels.node1_public_key
 | 
			
		||||
        WHERE node2_public_key = ? AND channels.status ${channelStatusFilter}
 | 
			
		||||
@ -277,7 +279,15 @@ class ChannelsApi {
 | 
			
		||||
 | 
			
		||||
      let allChannels = channelsFromNode.concat(channelsToNode);
 | 
			
		||||
      allChannels.sort((a, b) => {
 | 
			
		||||
        return b.capacity - a.capacity;
 | 
			
		||||
        if (status === 'closed') {
 | 
			
		||||
          if (!b.closing_date && !a.closing_date) {
 | 
			
		||||
            return (b.updated_at ?? 0) - (a.updated_at ?? 0);
 | 
			
		||||
          } else {
 | 
			
		||||
            return (b.closing_date ?? 0) - (a.closing_date ?? 0);
 | 
			
		||||
          }
 | 
			
		||||
        } else {
 | 
			
		||||
          return b.capacity - a.capacity;
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      if (index >= 0) {
 | 
			
		||||
@ -294,6 +304,7 @@ class ChannelsApi {
 | 
			
		||||
          channel = {
 | 
			
		||||
            status: row.status,
 | 
			
		||||
            closing_reason: row.closing_reason,
 | 
			
		||||
            closing_date: row.closing_date,
 | 
			
		||||
            capacity: row.capacity ?? 0,
 | 
			
		||||
            short_id: row.short_id,
 | 
			
		||||
            id: row.id,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user