aboutsummaryrefslogtreecommitdiff
path: root/src/server/routes/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/routes/index.js')
-rw-r--r--src/server/routes/index.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/routes/index.js b/src/server/routes/index.js
new file mode 100644
index 0000000..d2267ba
--- /dev/null
+++ b/src/server/routes/index.js
@@ -0,0 +1,31 @@
+'use strict'
+
+const express = require('express')
+const router = express.Router()
+const getMeetingpointData = require('../lib/getMeetingpointData')
+
+/* GET home page. */
+router.get(['/', '/s/*', '/t/*', '/r/*', '/c/*'], function (req, res, next) {
+ getMeetingpointData().then(data => {
+ const isBeta = process.env.BETA === '1'
+
+ let flags = []
+ if (isBeta) {
+ flags.push('BETA')
+ flags.push('NO_FEATURE_DETECT')
+ } else if (req.query.nfd != null) {
+ flags.push('NO_FEATURE_DETECT')
+ }
+
+ const flagsStr = `var FLAGS = ${JSON.stringify(flags)};`
+ const usersStr = `var USERS = ${JSON.stringify(data.users)};`
+ const validWeekNumbersStr = `var VALID_WEEK_NUMBERS = ${JSON.stringify(data.validWeekNumbers)}`
+
+ res.render('index', { flagsStr, usersStr, validWeekNumbersStr })
+ }).catch(function () {
+ console.error('Unable to get user info, emergency redirect!')
+ res.render('redirect')
+ })
+})
+
+module.exports = router