Start distant chat using helper on ChatCache

This commit is contained in:
Angela Mazzurco 2017-07-21 18:34:44 +02:00
parent f77fe533e7
commit c27db173ce
3 changed files with 39 additions and 16 deletions

View File

@ -136,4 +136,35 @@ QtObject
} }
property QtObject chatHelper: QtObject
{
id: chatHelper
property var gxs_id
property var name
property var cb
function startDistantChat (own_gxs_id, gxs_id, name, cb)
{
console.log("startDistantChat()")
chatHelper.gxs_id = gxs_id
chatHelper.name = name
chatHelper.cb = cb
var jsonData = { "own_gxs_hex": own_gxs_id,
"remote_gxs_hex": gxs_id }
rsApi.request("/chat/initiate_distant_chat",
JSON.stringify(jsonData),
startDistantChatCB)
}
function startDistantChatCB (par)
{
var chatId = JSON.parse(par.response).data.chat_id
lastMessageCache.setRemoteGXS(chatId, { gxs: gxs_id, name: name})
cb(chatId)
}
}
} }

View File

@ -132,13 +132,6 @@ Item
rsApi.request("/chat/unread_msgs", "", refreshUnreadCallback) rsApi.request("/chat/unread_msgs", "", refreshUnreadCallback)
} }
function startChatCallback(par)
{
var chId = JSON.parse(par.response).data.chat_id
stackView.push("qrc:/ChatView.qml", {'chatId': chId})
}
/** This must be equivalent to /** This must be equivalent to
p3GxsTunnelService::makeGxsTunnelId(...) */ p3GxsTunnelService::makeGxsTunnelId(...) */
function getChatId(from_gxs, to_gxs) function getChatId(from_gxs, to_gxs)

View File

@ -53,11 +53,7 @@ Item
if(model.own) contactsView.own_gxs_id = model.gxs_id if(model.own) contactsView.own_gxs_id = model.gxs_id
else else
{ {
var jsonData = { "own_gxs_hex": contactsView.own_gxs_id, startDistantChat()
"remote_gxs_hex": model.gxs_id }
rsApi.request("/chat/initiate_distant_chat",
JSON.stringify(jsonData),
startDistantChatCB)
} }
} }
@ -278,11 +274,14 @@ Item
"qrc:/ContactDetails.qml", "qrc:/ContactDetails.qml",
{md: contactsListView.model.get(index)}) {md: contactsListView.model.get(index)})
} }
function startDistantChatCB (par)
function startDistantChat ()
{ {
var chId = JSON.parse(par.response).data.chat_id ChatCache.chatHelper.startDistantChat(contactsView.own_gxs_id, model.gxs_id, model.name,
ChatCache.lastMessageCache.setRemoteGXS(chId, { gxs: model.gxs_id, name: model.name}) function (chatId)
contactsView.startChatCallback (par) {
stackView.push("qrc:/ChatView.qml", {'chatId': chatId})
})
} }
} }