Browse Source

done

master
jefry 3 years ago
parent
commit
7adb4e194a
11 changed files with 3197 additions and 770 deletions
  1. BIN
      .DS_Store
  2. +2
    -2
      ecosystem.config.js
  3. BIN
      fcm_key/.DS_Store
  4. +12
    -0
      fcm_key/credentials.json
  5. +0
    -12
      fcm_key/hris-firebase-service.json
  6. +0
    -13
      fcm_key/thamringroup-574b9-firebase-adminsdk-2n42m-3caeeed6e4.json
  7. +49
    -18
      index.js
  8. +2
    -8
      keypath.json
  9. +10
    -0
      keypath_lama.json
  10. +3118
    -713
      package-lock.json
  11. +4
    -4
      package.json

BIN
.DS_Store View File


+ 2
- 2
ecosystem.config.js View File

@@ -8,11 +8,11 @@ module.exports = {
watch: true,
time: true,
env: {
PORT: 14003,
// PORT: 14003,
NODE_ENV: "development",
},
env_production: {
PORT: 14003,
// PORT: 14003,
NODE_ENV: "production",
},
},


BIN
fcm_key/.DS_Store View File


+ 12
- 0
fcm_key/credentials.json View File

@@ -0,0 +1,12 @@
{
"type": "service_account",
"project_id": "thamringroup-574b9",
"private_key_id": "25f4cc77dbf77d0f728f73a75f081c7f5dfee892",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDY5muFrHol3DYW\nyYjJEzuC2xig6gGetxLyf9enVFRpvKuJKcJ3ZNwhzC9LRs6duniUtzaphb/RfRRE\nauczrFofm0LRU9SZSW9MU/m/6ZQpNjJIP621SOyh7QDbuIZ90intv9L+hZjhsVDq\naEGLa28aekuTXWWbkXnYHynflFv2NwJAB0zOVe8Lts/9fbA3gQSJr5RRFbV2peDB\n/XvpyzqRzLW6M3PDqBItmDjKeOFMRkXYCnEkMyOGKy0hEG9eHoixOChX52X1aiX0\nrcVNiDxo37zq3DlnQxzd0C5EjUr/Fd5FXtvYQMA2ZvTTJ7YOd0aq0L+5M3APxIKv\nH6emIcb9AgMBAAECggEACribAc9pyz4fDfx2DoBXnaB6+hXkW3DFAZJoTwz9Tiuw\nAUE8lkkN6NLDrLF04Y7XynwNj468/EZ148AyqkHKQ6Eu9JNeS8RkOWOLkbJNQJs9\nRt0fluQiTt+yPj9uUGunZxPSAq2JBhuND8Ue+5ylcCuG2aN7yVcvwgsfof2el7p+\n0+kzAnrOo2qYcRAFa4UoVRxtRFy+60PIsG7fze0GgKGSoeoJ/LoFstY6bZXeOMPz\n+mTtnplxeOp6A0r7UFXFvIYEo985tK8lxPwmFMCzfpJrEsk9Zh7mT1Ue2QwLFerK\nVqGbc26H09zezfG5yNPpJoqCnClmP9QSfT5S/+R/KQKBgQD9ZR5d4Wwu+GTN84Hi\nAT2Y42VjndCaQYUz6ZiptD81Lw1cyQ4O6+cU6I7Mcb02cbO2vWxuI8EauN+smh7Y\nACjkyXNZ9Bmla/8vZ43U1za+ydlPDabxEOqQ789r2+ai6Ezke3R6awjwzWrk6w0N\n15gwimoePcxtPDpl606RdTG2pQKBgQDbIUEsOQYIUH6poPJy5muu2oaQINvpsKFQ\nd0CCaHrYUlY/Ym4m+hcU3sg+sMjoCvFVBmFzLzKn7t2RjJnjwrzpzPwocVdPu8aj\nOG87DSGj7XCGJgu+/liQtKRKaCi6/h5qi8xiLJ8we6A2pPLr7DckvLPoJrEV8igZ\n1EMujcE3eQKBgG5t8AL35568r6m1kof9BGwpxZjZQPzIyxUpm1dx7w3teIRUNqU4\nF5fcFcdxVgVxHeHowWVqfZB4uznMXN7Diw7R4Ex2ferCmw58santNLWG4AZ8q6Fp\nPuB1Mk8OIYAjfscgKk3jcZ0H2Kr06NZ8e53D5KVTR1Dfq4+ZMb9gdI7lAoGBAMvy\nU3oZSKgMYxb1mTGfi7Gd6YfTTVpe7oS5uOym2U7ksykjL2pPcZQXFUBjwVlWde6w\nlZpi3z61brq8pa353WGtSzNI6f5nwiS/rabEPf8YSpZQarZEe6GSvyYRc3c2dJCt\ntHfbF/5D0YWKWB2EKH6ksrzq5f6K9w+zIyP9A0vhAoGAFaPM4ud/uUgUgSskOvAw\n3OcKZIEsWYwO74+xcrMiS+CEmbtSxGYpXrdmPKY3Na/Lmrt0dC40vmEVzuC6AWjv\nQAtgbVNJg3UgNxeT9uFUsC0LUCKrdRdzoqSlaOBJGefbUL0T2L9rVnTtehhoJ8wr\nVRXidhGT+MqG6h0BmUp0TmM=\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-2n42m@thamringroup-574b9.iam.gserviceaccount.com",
"client_id": "113759880668477182986",
"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-2n42m%40thamringroup-574b9.iam.gserviceaccount.com"
}

+ 0
- 12
fcm_key/hris-firebase-service.json View File

@@ -1,12 +0,0 @@
{
"type": "service_account",
"project_id": "hris-a1c6c",
"private_key_id": "dc2149cc4504c661bdcbd8d9e64a0f30a8ae141b",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC1PBVqOyy6Hcva\njCYFJdTVGU6ERnsZaycnC28f/toiN4GJwCU+ZO7orXQwgwDHUHCz3j75IU2G5xy4\n/M3+3mM3Q7czj+3YB5n1YnenrUn1zNtovekXXV1kNViGd8uyfqPPUtwLLzzlg36C\n20bBLml2Oa0QR/s14M4bwEKclewsPcguJG+jVMtk43MnMSfkV0M+pjY44IHv40KW\no8H991864mlSxVrXZzOt7jTMw4nQNXUA2X2wq4lwvSnyg3bpsxwr7UBvLIyFZEqt\n74F+/BsEcCuOqKBCS4i0KVm7zJRomY/R4kwAbFA2PtKPMxMQv7yRIWxJOgyEtsuI\nSG0+e7vvAgMBAAECggEAV7X/8T05TMvd3GPmhKhGBGouf0LzEZ6zwKg+fEAlhtjR\nJv8opzVHELHdoRrNtiiemtZtKLou4KKaWobzFS3A2764e8plBB/NqZ4hpbNur3iZ\nGWyL0iR77eMJeG6i1TyH/+8skncmpDdK8363FAhnvvFz6gTENdOaPIEEW+8M8W2V\ngbwKhXiiUa4Yj65ucGxPBUKrgvsNO6/OCxaglrsMf3AS9o0GPRko9g7bs19TLnoG\nT6gdvQxg+zi26JM0TsNnkXX32IsN+r1JOx+8weCH+FgPCvFja3lcgPFB+Z3Wc4X3\nDNBTIKoUkHlmptARGzXPTWIM5W7JGRN59oicKXcTCQKBgQDvIVeMx6xMWKcdx95N\na2yhPOcl58Q6N+OQXj4E1J+fSiYSasxLDdmuL2madO4c2ajAR7EuPaz6waNW2/XS\nXXM2Lsyeg46UIoDE+RNNQQQ7aCSOu51WfmADsBlRxQWc4qaNH3l/sPsiBh816W2v\ncUnEbLYmbvxThvg1+GiWUDtq9wKBgQDCBSgOlobSFyQAMK0HTR6yaT0LtgI6e+dr\nhmmsFoDb3fUUyRFzXpTOJ2cA5xUEw8mwpVS9SiDvxr1wn+F3vIvYocbXY2hKzbOb\nhyDyqYYBZdaf7YKihZ+wujJJQu1OByy8TRyy4L04ziad4n9V2eGYaFX2ZjL/7TCR\n+GBYLuFAyQKBgQCeYucqR9bHerC1+Pw1K0H4Se6QHMLMDNidds59RJe1Wdd9u181\nFydnR+Aaffh5A3HSaanhhthb/oXBsk9P1rXI3ZaKJ3j4hSHlVVSDhtzWvFP6dinw\ncCQITUt37ZeaIkVOk9pVyVONZaCmhMYxvket4pODQV+/s1YT6UTcyqeQYQKBgQCv\nhSqvx80/0l9nLKHbsRDMJhhrt8RcVCsPQxHl9JWuUiWdICkBTdcgiNTOJD8HiHe1\nrlvywlT5lblbYcf/IjsBR5ky0WNQCLcrRBuya1oneZGoLJ25mVjV8Bv92uYDaMo3\nryr/SADmmtikjHrVl75WukzKE7qffFwsMZ43KHHuwQKBgQCEQO0++OURsJjiTsdt\nEclY4+4sJmjf1wV0w80Qxh6CUEZvO1vo71y4oWqVAY5vDyasSKCyC8O4hmDeeTni\n+O0eQl8S8fOCZTOLGIx6I+BnlsJuXtj4j2x3z4zQm70wU/LcONXAVxdRiXPWECAK\nPh6dTxJTT8TeXcCM+hswW4ZVNg==\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-9i92r@hris-a1c6c.iam.gserviceaccount.com",
"client_id": "103796818750526974337",
"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-9i92r%40hris-a1c6c.iam.gserviceaccount.com"
}

+ 0
- 13
fcm_key/thamringroup-574b9-firebase-adminsdk-2n42m-3caeeed6e4.json View File

@@ -1,13 +0,0 @@
{
"type": "service_account",
"project_id": "thamringroup-574b9",
"private_key_id": "3caeeed6e427e663bff41b1ec31ef19f615190e4",
"private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCNySDYC+/KG1ee\n1J8MoeJgfWUYFdqwCqi6ua45Grx/d3T4/asu4TlTdEEpJ8ovTFLYD1gTBZfAaV7P\nwe/BRsnNdYOabeDqxUn4Hhx0iOoSYbRB///C7Mol1QTpE1CWEEZNWtG9NA1fbStN\nzCo104H3mam6CzazbEClIhfRjLuGXFKjsoJHedLcKnQRc6yeyY3TNGfXrdOuAgwq\nCzIVw8lFYCicBq7IoP2YHpEF1/Rm4nkFq1HGsDnk17nmct6TS8SMAE6spVYyk/Ic\nqXO7eCoMATv6LozxXfuIi8AifqTB+1VpRdmwNKokdhWreD56P3Z0bBQWqeuSczz7\nFNiPADO3AgMBAAECggEAAoVWII4FxpggQXvfE0Br+YwBMiGhVvC5k0Hqrd7V0lMm\nl0HoIaTYRuDFD9BCff8wMeGdjtw4mHxgtsNOwFoopSiDtuLHoiTwoO9+hGvl8+Tp\nnL39p1LCcIdbCpg3UWCBf3qWSnQUdy/ftAbMCuzzXWc0AOsvuJaIh7PiRiC0bNN/\nzbmkimV6r5J0PU0oluro62NwkQDriQMAqVv4wwIYzBu7/1mMzRwsS6UjqBaSpciH\n4dAN0ra79KHxf778egFEQktQzhfvt2IxrOM1ZejeEQgLU1ao+iIcu0ktAWhhTT99\n09ffI8d43u8P2kmveUa3Mm5bqUjJoED9EvmiX4XP4QKBgQDIXo97Vv9u8TSGh0ue\nMWsbTbI96sTYxvGJUqp9Db/w8m0TIPpqD5AUV2hjEg3kJp7V65XimhRd3W6zQ6op\nBu5U1mJTEqWOuRT9smuBDinAYM7Ty9NF7zxw/jGU87T4T/g1M8C+1AijL7lTZLzF\nqqCwcVhavKMnPUn3+Hia39wYqQKBgQC1JqzxfNI1z/5+bDutkIs3DD2JtQrIvKzW\nP+fuSnDcf00NPsXBBMgwCaVfKP7OhmYSjG6gZSuTOeBts6N8eI9iGKpldAwJXBM+\nFghdeLHP/EmeAzWutd+0EKf30cSYqm8SeEnVEhW89UeHAtAtMnIdBt2oB5Ucg1cH\nJjj9XTHFXwKBgDc4ABjAoAJmDNCqRoehHOBYaC+yHG+VXAk5M+zktinj1XV5GCnU\ngiNo90aeOh/PGOThWNwrFEPN+20Bz8ogs9vDfTNhpyiPDx7fZcsaKR1wUG+D84SJ\nasHE+8sN4qiv+TpIOe0dKAg45bz6vR9IZ6JYij3vUJNGy7S/0BT2boSJAoGAXpF7\nNXJJNyiHHi6YlQphcvJj6dDmeVbuD8c66A5ajvGyItkDWbmKXHGcsGnxY5WMEeDY\nG8nVDr3nKL3f+iniCH8B7YbAhd5YeU/9O/a3NPHq6J+aVcPCrfkIBvquXFiVNZow\nSRhw2r1dguD4FrBAHGEqM/8JW+JA+417sOEHC5cCgYBNz/4/OkgcxyLc0qn+/PiI\nAbfmTt7NDtcGCohRJnQ+aAC74j8IBhYlbTeMF4QchxflfN6mXF1atwABtezJdG4i\nx1PeigXHklnvjDXvzxAVlGx393LK1/cnUmKKPaDOdQM4NP6lkqN3jl47B9iA9JuZ\nA8Vux7on28WgCY6sN6Qucg==\n-----END PRIVATE KEY-----\n",
"client_email": "firebase-adminsdk-2n42m@thamringroup-574b9.iam.gserviceaccount.com",
"client_id": "113759880668477182986",
"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-2n42m%40thamringroup-574b9.iam.gserviceaccount.com"
}


+ 49
- 18
index.js View File

@@ -1,14 +1,16 @@
const express = require("express");
require('dotenv').config();
const path = require("path");
var admin = require("firebase-admin");
const port = process.env.PORT || 14003;

var dirPath = path.join(__dirname, "fcm_key");

var keyPath = require("./keypath.json");
var data = require("./keypath.json");
const { messaging } = require("firebase-admin");

for (key in keyPath) {
var data = keyPath[key];
//dijadiin 1 ThamrinGroup dan HRIS
// for (key in keyPath) {
var jsonPath = path.join(dirPath, data.PATH);
var adminAuthToken = require(jsonPath);
admin.initializeApp(
@@ -16,9 +18,9 @@ for (key in keyPath) {
credential: admin.credential.cert(adminAuthToken),
databaseURL: data.DB_URL,
},
key
// key
);
}
// }

const app = express();

@@ -32,25 +34,54 @@ app.use(
app.post("/sendFcm", async function (req, res) {
try {
var message = req.body;
var fcm = admin.app(application.application);

fcm
.messaging()
.sendMulticast(message)
console.log(message);
if(message){
messaging().sendMulticast(message)
.then((response) => {
// console.log(response.successCount + ' messages were sent successfully');
if (response.failureCount > 0) {
const failedTokens = [];
response.responses.forEach((resp, idx) => {
if (!resp.success) {
failedTokens.push(registrationTokens[idx]);
}
});
if(message.tokens){
const failedTokens = [];
response.responses.forEach((resp, idx) => {
if (!resp.success) {
failedTokens.push(message.tokens[idx]);
}
});
console.log("Failed Fcm Notif",failedTokens);
return res.status(400).json(response);
}
else{
return res.status(400).json({error:"Error sending FCM Notification!"});
}
}
return res.status(200).json(response);
})
.catch((error) => {
}).catch((error) => {
return res.status(404).json(error);
});
}
else{
return res.status(404).json({error:"Message can't be empty!"});
}
// var fcm = admin.app(application.application);

// fcm
// .messaging()
// .sendMulticast(message)
// .then((response) => {
// if (response.failureCount > 0) {
// const failedTokens = [];
// response.responses.forEach((resp, idx) => {
// if (!resp.success) {
// failedTokens.push(registrationTokens[idx]);
// }
// });
// }
// return res.status(200).json(response);
// })
// .catch((error) => {
// return res.status(404).json(error);
// });
} catch (e) {
console.log(e.message);
return res.status(404).json(e.message);


+ 2
- 8
keypath.json View File

@@ -1,10 +1,4 @@
{
"HRIS" : {
"PATH" : "hris-firebase-service.json",
"DB_URL" : "https://hris-a1c6c.firebaseio.com"
},
"ThamrinGroup" : {
"PATH" : "thamringroup-574b9-firebase-adminsdk-2n42m-3caeeed6e4.json",
"DB_URL" : "https://thamringroup-574b9.firebaseio.com"
}
"PATH" : "credentials.json",
"DB_URL" : "https://thamringroup-574b9.firebaseio.com"
}

+ 10
- 0
keypath_lama.json View File

@@ -0,0 +1,10 @@
{
"HRIS" : {
"PATH" : "hris-firebase-service.json",
"DB_URL" : "https://hris-a1c6c.firebaseio.com"
},
"ThamrinGroup" : {
"PATH" : "thamringroup-574b9-firebase-adminsdk-2n42m-3caeeed6e4.json",
"DB_URL" : "https://thamringroup-574b9.firebaseio.com"
}
}

+ 3118
- 713
package-lock.json
File diff suppressed because it is too large
View File


+ 4
- 4
package.json View File

@@ -1,5 +1,5 @@
{
"name": "fcm-node-helper",
"name": "fcm-sdk-hris",
"version": "1.0.0",
"description": "",
"main": "index.js",
@@ -9,8 +9,8 @@
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"firebase-admin": "^9.2.0",
"googleapis": "^59.0.0"
"dotenv": "^16.0.1",
"express": "^4.18.1",
"firebase-admin": "^10.2.0"
}
}

Loading…
Cancel
Save