-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpush.js
55 lines (46 loc) · 1.82 KB
/
push.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
var express = require('express');
var router = express.Router();
var FCM = require('fcm-push');
var fcmInfo = require("../../config/fcm_serverkey.json");
const crypto = require('crypto-promise');
const defaultRes = require('../../module/utils/utils');
const statusCode = require('../../module/utils/statusCode');
const resMessage = require('../../module/utils/responseMessage')
const db = require('../../module/pool');
/*
푸시알림(타이머)
METHOD : POST
URL : /notification/push
BODY : deviceToken = 디바이스 토큰
timer = 타이머
*/
router.post('/', async (req, res) => {
const insertPushQuery = 'INSERT INTO notification (deviceToken, timer) VALUES (?, ?)';
const insertPushResult = await db.queryParam_Arr(insertPushQuery, [req.body.deviceToken, req.body.timer]);
var serverKey = fcmInfo.fcmServerKey;
var fcm = new FCM(serverKey);
var message = {
to: 'cCzlxjbBTfuq6nfue02V4Q:APA91bEwyM5tuD5e1Oe-M27jAKfaQr6EhCqrFJq7uHR6H3n6evX6UX1Rm8ctkBOKksjqXAoJbZy4Ali0wniqZGKkwnliSRzQ6ea4M4RnWBzihilstr42CaZW28I1oVIEWCSrxNY15o-8',
priority: 'high',
data: {
title: "father",
message: "Goodnight"
}
};
//var timer = req.body.timer;
if (!insertPushResult) {
res.status(200).send(defaultRes.successFalse(statusCode.OK, resMessage.FAIL_INSERT_PUSH));
} else {
const timeout = setTimeout(() => {
fcm.send(message)
.then(function(response) {
console.log('보내기 성공:' + response);
})
.catch(function(error) {
console.log('보내기 실패:' + error);
});
},10000)
res.status(200).send(defaultRes.successTrue(statusCode.OK, resMessage.SUCCESS_INSERT_PUSH));
}
});
module.exports = router;