Sie sind auf Seite 1von 3

function insert(item, user, request) {

var ackFlag=0;
if(item.chat==""){// it's an ACK
ackFlag=1;
// dlflag=item.is_dl_flag;
}
var dlflag=item.is_dl_flag;
var server_message_id=0;
var dl_message="";
if(dlflag!=0&&ackFlag==0){//a dl
server_message_id=dlflag;
dl_message=item.chat;
item.chat=dlflag.toString(); //replace message with server_message_id o
f dl_messgae table in case of a dl
dlflag=1;
}
request.execute({
success: function() {
if(ackFlag==1){//it's an ack
doAck();
mssql.query("delete from koyojs.message where chat like ''");
if(dlflag==0)sendRawNotifications(item.to_email_id,item.message_
id);
}
else{
console.log("in message part ?: ",item);
if(item.status!=999)sendNotifications();
/*
if(dlflag==0){//individual chat
sendNotifications();
}
else{//a dl
sendNotificationsToDls()
}*/
}
request.respond();
//console.log("abhishek:", item.text);
}
});
function doAck(){
console.log("in ack part ?: ",item);
mssql.query("update koyojs.message set status=999 where from_email_id='
"+item.to_email_id+"' and message_id='"+item.message_id+"'"+" and to_email_id='"
+item.from_email_id+"'");
}
function sendNotifications() {
var payload;
if(dlflag==0)
payload = '<?xml version="1.0" encoding="utf-8"?><toast><visual><binding
template="ToastText01">' +
'<text id="1">'+item.chat+'</text><text id="2">'+item.from_email_id+'</t
ext><text id="3">'+item.timestamp+'</text><text id="4">'+item.message_id+'</text
><text id="5">'+item.from_username+'</text></binding></visual></toast>';

else// a dl message
payload = '<?xml version="1.0" encoding="utf-8"?><toast><visual><binding
template="ToastText01">' +
'<text id="1">'+dl_message+'</text><text id="2">'+item.from_email_id+'</
text><text id="3">'+item.timestamp+'</text><text id="4">'+item.message_id+'</tex
t><text id="5">'+item.from_username+
'</text><dl_email>'+item.dl_email_id+'</dl_email><dlname>'+item.dl_name+
'</dlname></binding></visual></toast>';
console.log("notification item=", item);
console.log("payload is=:", payload);
console.log("chat is=:", ((dlflag==0)?item.chat:dl_message));
push.wns.send(item.to_email_id,payload,'wns/raw', {//put wns/toast for t
oast
success: function(pushResponse) {
console.log("Sent push in message sending:", pushRes
ponse);
}
});
}
function sendRawNotifications(email_id,msg) {
console.log("in sendRawNotifications part ?: ",item);
var payloadToast = '<?xml version="1.0" encoding="utf-8"?><toast><visual
><binding template="ToastText01">' +
'<text id="1">'+"ack test:: "+'</text><text id="2">'+"ack test"+'</text>
<text id="3">'+item.timestamp+'</text></binding></visual></toast>';
var payloadRaw='<?xml version="1.0" encoding="utf-8"?>'+"<message_id>"+m
sg+"</message_id>";//<?xml version="1.0" encoding="utf-8"?><payload>blah!!</payl
oad>
console.log("to email id=:",email_id);
push.wns.send(email_id,payloadRaw,'wns/raw', {
success: function(pushResponse) {
console.log("Sent push in ack pushnotification:", pu
shResponse);
}
});
}
function sendNotificationsToDls() {
console.log("in sendRawNotifications part ?: ",item);
//var payload = '<?xml version="1.0" encoding="utf-8"?><toast><visual><b
inding template="ToastText01">' +
//'<text id="1">'+item.chat+'</text><text id="2">'+item.from_email_id+'<
/text><text id="3">'+item.timestamp+'</text></binding></visual></toast>';
var payload = '<?xml version="1.0" encoding="utf-8"?><toast><visual><bin
ding template="ToastText01">' +
'<text id="1">'+item.chat+'</text><text id="2">'+item.from_email_id+'</t
ext><text id="3">'+item.timestamp+'</text><text id="4">'+item.message_id+'</text
><text id="5">'+item.from_username+
'</text><dl_email>'+item.dl_email_id+'</dl_email><dlname>'+item.dl_name+
'</dlname></binding></visual></toast>';
var dl_detailsTable = tables.getTable('dl_details');
var id=0;
dl_detailsTable.where({
dl_email_id: item.to_email_id
}).read({
success: function(records){
records.forEach(function(record) {//only 1 record

//console.log("the record is:", record);


id=record.IDD;
})
// console.log("the dl id is:", id);
var dl_member_detailsTable = tables.getTable('dl_member_details'
);
dl_member_detailsTable.where({
dl_idd: id
}).read({
success: function(registrations) {
registrations.forEach(function(registration) {
if(registration.member_email_id!=item.from_email
_id){
console.log("in sendRawNotifications part e
mail id== ?: ",registration.member_email_id);
push.wns.send(registration.member_email_id,p
ayload,'wns/raw', {
success: function(pushResponse) {
// console.log("Sent push:", pushRe
sponse);
}
});
}
});
}
});
}
});
}
}

Das könnte Ihnen auch gefallen