This repository has been archived by the owner on May 30, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
129 lines (114 loc) · 4.25 KB
/
server.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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
const express = require('express');
const bodyParser = require('body-parser');
const scheduler = require('node-schedule');
const cluster = require('cluster');
const crypto = require('crypto');
const path = require('path');
// server config for phone number
const serverConfig = require('./server_config');
const express_app = express();
// twilio client init
const client = require('twilio')('ACcb2bbf1ec4e8cd9b85fc7e4420f2ee3e', '081193202595c927ed1e6ce596b3d47c');
express_app.use(bodyParser.urlencoded({ extended: false }));
express_app.use(bodyParser.json());
express_app.use(express.static(path.join(__dirname, 'build')));
let scheduledTasks = new Set();
let allTasks = {};
express_app.get('*', function(req, res){
res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
express_app.post('/api/new_ride', async (req, res) => {
// api to send texts after new ride creation.
console.log('Received new ride request.');
res.header('Content-Type', 'application/json');
const textData = req.body;
console.log(textData);
let newMessage = textData.message;
let messageRecipient = textData.to;
client.messages
.create({
from: "+17574186902",
to: serverConfig.phoneNumber,
body: newMessage
})
.then(() => {
// successful text send
console.log(`Message to ${serverConfig.phoneNumber} successfully sent.`);
return res.send({'success': true, 'message': 'Successfully sent message.'});
})
.catch(err => {
// error sending text
console.log('hit error');
console.log(err);
return res.send({'success': false, 'message': err});
});
});
express_app.post('/api/end_ride', async (req, res) => {
// api to send texts after new ride creation.
console.log('Received end ride request.');
res.header('Content-Type', 'application/json');
const textData = req.body;
console.log(textData);
let newMessage = textData.message;
let messageRecipient = textData.to;
client.messages
.create({
from: "+17574186902",
to: serverConfig.phoneNumber,
body: newMessage
})
.then(() => {
// successful text send
console.log(`Message to ${serverConfig.phoneNumber} successfully sent.`);
return res.send({'success': true, 'message': 'Successfully sent message.'});
})
.catch(err => {
// error sending text
console.log('hit error');
console.log(err);
return res.send({'success': false, 'message': err});
});
});
express_app.post('/api/picked_up_child', async (req, res) => {
// api to send texts after new ride creation.
console.log('Received new child pickup request request.');
res.header('Content-Type', 'application/json');
const textData = req.body;
console.log(textData);
let newMessage = textData.message;
let messageRecipient = textData.to;
client.messages
.create({
from: "+17574186902",
to: serverConfig.phoneNumber,
body: newMessage
})
.then(() => {
// successful text send
console.log(`Message to ${serverConfig.phoneNumber} successfully sent.`);
return res.send({'success': true, 'message': 'Successfully sent message.'});
})
.catch(err => {
// error sending text
console.log('hit error');
console.log(err);
return res.send({'success': false, 'message': err});
});
});
// sever port is 3002
express_app.portNumber = 3002;
function startServer(port) {
// function to start server and cycle through ports if 3002 isn't available
express_app.portNumber = port;
express_app.listen(process.env.PORT || port, () => {
console.log("server is running on port: " + express_app.portNumber);
}).on('error', function (err) {
if(err.errno === 'EADDRINUSE') {
console.log(`----- Port ${express_app.portNumber} is busy, trying with port ${express_app.portNumber + 1} -----`);
startServer(express_app.portNumber + 1)
} else {
console.log(err);
}
});
}
startServer(express_app.portNumber);