This repository has been archived by the owner on Mar 21, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathserver.coffee
62 lines (45 loc) · 1.66 KB
/
server.coffee
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
express = require 'express'
util = require 'util'
sms = require './sms'
registration = require './registration'
db = require './db'
(require './couch_views/create_views')(db.connect)
people_search = require './search/people'
checkins_search = require './search/checkins'
aliases_search = require './search/aliases'
aliases = require './entity_manipulations/aliases'
people = require './entity_manipulations/people'
app = express()
app.enable 'trust proxy'
app.configure(->
app.use(express.logger())
app.use(express.bodyParser())
app.use(app.router)
app.use(express.static(__dirname + '/public'))
)
app.get '/', (req, res)->
res.sendfile(__dirname + '/public/index.html')
app.post '/api/sms/receive', (req, res)->
sms.receive db.connect(), req, res
app.post '/api/sms/send', (req, res)->
res.send 204 if sms.send {body: req.body.message, contacts: req.body.contacts}
app.post '/api/register', (req, res)->
registration.register db.connect(), req, res
app.get '/api/people/search', (req, res)->
people_search.go db.connect(), req, res
app.post '/api/person/:id/site', (req, res)->
people.set_post db.connect(), req, res
app.get '/api/checkins/search', (req, res)->
checkins_search.go db.connect(), req, res
app.get '/api/aliases', (req, res)->
aliases_search.go db.connect(), req, res
app.post '/api/alias', (req, res)->
aliases.add req, res
if not process.env.TWILIO_SID
throw Exception "Need Twilio Api Sid"
if not process.env.TWILIO_AUTH_TOKEN
throw Exception 'Need Twilio Api Auth Token'
if not process.env.TWILIO_FROM_NUMBER
throw Exception 'Need Twilio assigned Phone Number to send sms'
app.listen process.env.PORT or 5000
console.log "listening..."