From f0426bdc0a3f9c8d1332df2557ade591c99fe37d Mon Sep 17 00:00:00 2001 From: Rodrigo Souto Date: Wed, 17 Dec 2014 03:57:09 +0000 Subject: [PATCH] Got recent_conversations algorithm --- app/controllers/public/chat_controller.rb | 5 +++++ 1 file changed, 5 insertions(+), 0 deletions(-) diff --git a/app/controllers/public/chat_controller.rb b/app/controllers/public/chat_controller.rb index 45417a0..ee4cdd2 100644 --- a/app/controllers/public/chat_controller.rb +++ b/app/controllers/public/chat_controller.rb @@ -63,6 +63,11 @@ class ChatController < PublicController render :json => messages_json.reverse end + def recent_conversations + conversations_order = ActiveRecord::Base.connection.execute("select profiles.identifier from profiles inner join (select distinct r.id as id, MAX(r.created_at) as created_at from (select from_id, to_id, created_at, (case when from_id=#{user.id} then to_id else from_id end) as id from chat_messages where from_id=#{user.id} or to_id=#{user.id}) as r group by id order by created_at desc, id) as t on profiles.id=t.id order by t.created_at desc").entries.map {|e| e['identifier']} + render :json => conversations_order.to_json + end + protected def check_environment_feature -- libgit2 0.21.2