-
Notifications
You must be signed in to change notification settings - Fork 0
/
router.js
61 lines (41 loc) · 1.96 KB
/
router.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
import express, { Router } from 'express';
// Import index action from movies controller
import { index, getAllLoc, getAllByLoc, addShop, getId, updateById, updateByLocTime, deleteById } from './controllers/shops';
import {subscribe} from './controllers/subscriptions';
import {notifySubscribers, getNotifications} from './controllers/notifications';
import {addActivity, loadActivities, clearActivities} from './controllers/activities';
// Initialize the router
const router = Router();
// Handle /shops.json route with index action from movies controller
router.route('/shops.json')
.get(index);
router.get('/', function (req, res) {
res.send('HOME PAGE');
});
// route to get ALL locations (distinct)
router.route('/shops/locations')
.get(getAllLoc);
// get all the objects by a particular location
router.route('/shops/:param1')
.get(getAllByLoc);
// req body must include a shop json object to add
router.route('/addshop').post(addShop);
// get id of object w/ location & start time given
router.route('/shops/:loc/:start').get(getId);
// update an object by id (updated time & location must be in req)
router.route('/shops/:id').put(updateById);
// update by location time
router.route('/shops/:loc/:start').put(updateByLocTime);
// delete an object using its ID
router.route('/shops/:id').delete(deleteById)
// subscribe a phone number to notifications - twilio functionality
router.route('/subscribe').post(subscribe);
// notify all phone numbers via text with given notification + add it to db
router.route('/notify').post(notifySubscribers)
// get notifications. If queryString is given parameter ?limit=X where X is an int, will return the latest X notifications sent
router.route('/notifications').get(getNotifications);
// add a new activity to display at the activities section
router.route('/addactivity').post(addActivity);
router.route('/loadactivities').get(loadActivities);
router.route('/clearactivities').delete(clearActivities);
export default router;