first commit
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
# Dependencies
|
||||||
|
node_modules/
|
||||||
|
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
const express = require("express");
|
||||||
|
const admin = require("firebase-admin");
|
||||||
|
const serviceAccount = require("./performicsone-app-firebase-adminsdk-usel3-dc4337e74b.json");
|
||||||
|
|
||||||
|
const app = express();
|
||||||
|
|
||||||
|
app.use(express.json());
|
||||||
|
admin.initializeApp({
|
||||||
|
credential: admin.credential.cert(serviceAccount),
|
||||||
|
});
|
||||||
|
|
||||||
|
// let token = "cFB2wzm9RVqfkNJgtdhGK3:APA91bFnNiuLRk62V9mdtwUki3hpM0Th4aoPV2zsXD_8IOCXtnUJrrKF43Olk95SFZEamgewsTbhhqS2GWkji4o8GEzmnTsUoSS_SJAgq_i8HjzKe9nCD90";
|
||||||
|
// let title = "Hello World";
|
||||||
|
// let body = "This is a test notification";
|
||||||
|
|
||||||
|
app.post("/send-notification", async (req, res) => {
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
const { token, title, body, type, logo,id } = req.body;
|
||||||
|
|
||||||
|
|
||||||
|
let message = {};
|
||||||
|
if (type === "text") {
|
||||||
|
|
||||||
|
message = {
|
||||||
|
notification: {
|
||||||
|
title: title,
|
||||||
|
body: body,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
title: title,
|
||||||
|
body: body,
|
||||||
|
temp_source: "text",
|
||||||
|
route: "splaasa",
|
||||||
|
id: id,
|
||||||
|
},
|
||||||
|
token: token,
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (type === "image") {
|
||||||
|
|
||||||
|
message = {
|
||||||
|
notification: {
|
||||||
|
title: title,
|
||||||
|
body: body,
|
||||||
|
imageUrl: logo,
|
||||||
|
},
|
||||||
|
android: {
|
||||||
|
notification: {
|
||||||
|
imageUrl: logo,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
apns: {
|
||||||
|
payload: {
|
||||||
|
aps: {
|
||||||
|
"mutable-content": 1,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fcm_options: {
|
||||||
|
image: logo,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
token: token,
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
|
||||||
|
return res.status(400).json({
|
||||||
|
success: false,
|
||||||
|
message: "Invalid type",
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const response = await admin.messaging().send(message);
|
||||||
|
|
||||||
|
return res.status(200).json({
|
||||||
|
success: true,
|
||||||
|
message: "Notification sent successfully",
|
||||||
|
response: response,
|
||||||
|
});
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
|
||||||
|
console.log(error);
|
||||||
|
|
||||||
|
return res.status(500).json({
|
||||||
|
success: false,
|
||||||
|
error: error.message,
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
app.listen(3000, () => {
|
||||||
|
console.log("Server running on port 3000");
|
||||||
|
});
|
||||||
Generated
+2765
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"name": "notification",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"author": "",
|
||||||
|
"type": "commonjs",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"express": "^5.2.1",
|
||||||
|
"firebase-admin": "^13.8.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"type": "service_account",
|
||||||
|
"project_id": "performicsone-app",
|
||||||
|
"private_key_id": "dc4337e74bdefe9ba05f751cac2a87ddce398b65",
|
||||||
|
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDFsjVFZRb0CN4B\nwKLO0ye+PHT4pfqEHCR68lGNKdWxmRHxHQLWs2AHW1nTt4u6L0n7pQOXMpaKEqvQ\nUMT8YTDPSrrtA7wbo01Nnt6EBvL4l9/lhEHTX+V1wkktsoXSCjFp3+K0x2q5V6iB\nPtx+0acNu6mGKdcvPhsPjIlBA6/gvxlGanNJ8lYTF2+w4oRdE/wYZpQK41zpO2EG\n308cZt+AdIDhrWWghbm9+12KTiAn6BDMl+3agxzcUAcRXcLdtozxzUIUs8/XMrBP\niyR/qpvo/ORg4Gdr7S0Gsg7TMl1/7TOrRKwiMBbiyQXkFpjySwICAeeWDwIthQ7D\nmbkSLVSlAgMBAAECggEALXaaRBNniCbK4TXK6wvJmbi/AJhw6DUtmX2EzhUHENC9\n/MgaaUP2azKxkVvmHOK3nZB45yopzuZUzzLn3g8+wYjyvENN3MA87IMCsnODqDIK\n+fXkimbE9sP/fqwNlLwl2W50bPToIOfc9x386IgvpduYdGNGWlWqtPRxcvtVVLZN\n508H5uew3bfDdoHhxFA5mMb9OfmNPsRPKmmHrIxvG4qxwDd9/dnle4bf6Tn3PeCs\nPWKJ+kbHu+R0CHQmMx7bCyn92lvfBQWWt02b0kAtR7iGYQKL2kXqbAsr1Ualv8Ej\nemPokmHeIlYCTGxc/srekaijtg70Psq72WR+h6W5MQKBgQDyfjd9i4H9Kcp+jHEW\nzxJzEEK/S3Op30dOYy3KJCNLHd9HPmuoG48yn25qkKKMX+N6JHOIkhjtaQttCufP\ngBf+/gttPlOs8Dsxe4XXC1q73RcYBzHhHlMV0kLg9XYdyMh7y60VTk7RoBvfleg4\njvicVOABgl6Xj/cXWYpA1gh8sQKBgQDQtTflIOJALmj6fz1zT0S2Tbv8t2fdduaM\ngpWdPc2B5XEpxjoQN+MCbi3WUF9+S/U/h8zlCZ8pA451PmE3dlDnj7e1HDFO3AjS\nQs1RoqIAe6J/gmcUZNnmQH0PDfI2grsYcC/v5a/BkaRLHGWQu0/CGc4hXPWorqsV\nEMAznzTENQKBgQCsxaz3sDxPikUSYTH6FFOK090ausGQGNuPSC7JxXG4BXKeKiU+\nQ1SFtv5OwvptlaxXzDzc42sLTDqt2IVNXHC8Z3jwvuWTZB5opR+5FgfxrhbUMdwi\nDx8XfxXTflBH7FSbj4Skl4Sk6rSxWvd3xLXxfK+Vo7ONvS9J3awZgeXOIQKBgApP\nydEyTLtrD5jAzKJz2is/r/gOf707cKykjwvTz+GJGow71QaUHE00cGNUWUN+MUHQ\nTdlLHmgCWvmD+X2qBNlMCoGSQQVqba0ly8sqw+JOOXsfUER7ryBnM0aZI8x5rRDK\nCjRKHuLrdTiY0JPUDV7Ds6GGXETXTHCgAT8LsKm5AoGBAN1/HUDfUIu7gLi9hQYl\nzEMVnll/PlAediyODC4VdYqiDhHxy1V/UWrPkb2vqVr9w3muABB98F62xovOG9OE\nirM5A5sPiSl/itwWZVhiBRiTJaC1sths5rUblidKPn8wklILamJqWXfMk511xLCV\nl9HYySoss3MiigSgqU1qc/DB\n-----END PRIVATE KEY-----\n",
|
||||||
|
"client_email": "firebase-adminsdk-usel3@performicsone-app.iam.gserviceaccount.com",
|
||||||
|
"client_id": "108461757412132699963",
|
||||||
|
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
|
||||||
|
"token_uri": "https://oauth2.googleapis.com/token",
|
||||||
|
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
|
||||||
|
"client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-usel3%40performicsone-app.iam.gserviceaccount.com",
|
||||||
|
"universe_domain": "googleapis.com"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user