hayat / routes /fcm.js
Mohamed Abu Basith
addded all files
97f53b4
var express = require('express');
var router = express.Router();
var FCM = require('fcm-node');
var serverKey = 'AAAAKXRRooI:APA91bH9pMJziYPRNRI2XyMaSIG_e5a-eJzxMSkaozaCrmCencitDrTul4XyrVAV87K6d-56zGJC49y7Cz6mTRpcxca16QzmF1TF8EW7OmxHPvcQdseHWoD3TIAe62u2gfY0pVXlhJ8Y'
var fcm = new FCM(serverKey);
var User = require('../Database/models/user');
const { successResponse, failedResponse } = require('../utils/responseModel');
// const admin = require('firebase-admin');
const admin = require("../utils/firebase")
// Initialize the Firebase Admin SDK (replace with your credentials)
// admin.initializeApp({
// credential: admin.credential.cert(require('../push-notification-key.json'))
// });
router.post('/pushToken', async function (req, res) {
var unique_idValue = req.body.unique_id;
var pushTokenValue = req.body.pushToken;
try {
const data = await User.findOne({ unique_id: unique_idValue });
if (data) {
User.updateOne({
unique_id
: data.unique_id
}, {
$set: {
pushToken: pushTokenValue
}
}).exec()
.then(result => {
res.status(200).send(successResponse("Push token updated."));
})
.catch(err => {
console.log(err);
res.status(500).json({
error: err
});
});
} else {
res.status(201).send(failedResponse("User not found!"));
}
} catch (e) {
res.status(500).send(failedResponse(e));
}
});
router.post('/push', async (req, res) => {
try {
const deviceToken = req.body.deviceToken;
const title = req.body.title;
const bodyText = req.body.bodyText;
const message = {
token: deviceToken,
notification: {
title: title,
body: bodyText,
},
android: {
priority: "high",
},
};
// Send message via Firebase Admin SDK
const response = await admin.messaging().send(message);
res.status(200).send(response);
} catch (err) {
res.status(400).send("Something has gone wrong! => " + err.message);
console.error("Error sending message:", err);
}
});
module.exports = router;