Newer
Older
const express = require('express');
const Chat = require('../models/Chat.js');
const chatRouter = express.Router();
const async = require('async');
const messaging = require('../controllers/messaging');
const request = require('request');
const admin = require('firebase-admin');
const getFCMToken = require('../controllers/getFCMToken');
const User = require('../models/User');
const uCustomer = req.query.customer;
const uDriver = req.query.driver;
console.log("masuk");
Chat.find({ customer : uCustomer, driver : uDriver}, (err, result) => {
if (err) return console.error(err);
return res.json({
'url' : '/chat',
'desc' : 'get chat history',
data.uCustomer = parseInt(req.body.customer);
data.uDriver = parseInt(req.body.driver);
const recvUser = req.body.chat.sender == data.uCustomer ? data.uDriver : data.uCustomer;
// const recvToken = getFCMToken(recvUser);
// console.log(recvToken);
const payload = {
"notification" : {
const recvToken = result.token;
console.log(recvToken);
if (req.body.chat.title == "order" || req.body.chat.title == "complete") {
messaging.sendToDevice(recvToken, payload)
.then((res) => {
console.log("order terkirim");
return res.json({
url : '/chat/save',
desc : 'send chat',
status : 200,
data : {}
});
}).catch((err) => {
return res.json({
url : '/chat/save',
desc : 'send chat',
status : 500,
data : err
});
})
} else {
messaging.sendToDevice(recvToken, payload)
.then((response) => {
console.log(response);
async.waterfall([
(flowCallback) => {
Chat.find({ customer : data.uCustomer, driver : data.uDriver}, (err, result) => {
},
(flowCallback) => {
if (data.exist == 1) {
Chat.update({ customer : data.uCustomer, driver : data.uDriver},
{ '$push' : { content : data.chat}}, (err, result) => {
if (err) return flowCallback(err);
return flowCallback();
});
} else {
Chat.create({
customer : data.uCustomer,
driver : data.uDriver,
content : [data.chat]
}, (err, result) => {
if (err) return flowCallback(err);
return flowCallback();
});
}
}
], (err, result) => {
if (err) {
console.error(err);
return res.json({
url : '/chat/save',
desc : 'save chat history',
status : 500,
data : {}
});
return res.json({
url : '/chat/save',
desc : 'save chat history',
status : 200,
data : 'OK'
});
})
.catch((err) => {
console.error(err);
return res.json({
url : '/chat/save',
desc : 'send chat',
status : 500,
data : {}
});