root.js 3.11 KB
Newer Older
mntmn's avatar
mntmn committed
1
2
3
4
5
6
7
8
9
10
11
"use strict";

const config = require('config');

const redis = require('../helpers/redis');
const express = require('express');
const crypto = require('crypto');
const router = express.Router();
const mailer = require('../helpers/mailer');
const _ = require('underscore');

mntmn's avatar
mntmn committed
12
13
14
15
16
const db = require('../models/db');
const Sequelize = require('sequelize');
const Op = Sequelize.Op;
const uuidv4 = require('uuid/v4');

mntmn's avatar
mntmn committed
17
router.get('/', (req, res) => {
18
  res.render('index', { config:config, user:req.user });
mntmn's avatar
mntmn committed
19
20
21
22
23
24
25
});

router.get('/ping', (req, res) => {
  res.status(200).json({"status": "ok"})
});

router.get('/spaces', (req, res) => {
26
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
27
28
29
});

router.get('/not_found', (req, res) => {
30
  res.render('not_found', {});
mntmn's avatar
mntmn committed
31
32
33
});

router.get('/confirm/:token', (req, res) => {
34
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
35
36
37
});

router.get('/folders/:id', (req, res) => {
38
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
39
40
41
});

router.get('/signup', (req, res) => {
42
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
43
44
45
});

router.get('/accept/:id', (req, res) => {
46
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
47
48
49
});

router.get('/password-reset', (req, res) => {
50
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
51
52
53
});

router.get('/password-confirm/:token', (req, res) => {
54
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
});

router.get('/de/*', (req, res) => {
  res.redirect("/t/de");
});

router.get('/de', (req, res) => {
  res.redirect("/t/de");
});

router.get('/fr/*', (req, res) => {
  res.redirect("/t/fr");
});

router.get('/fr', (req, res) => {
  res.redirect("/t/fr");
});
72

Mejans's avatar
Mejans committed
73
74
75
router.get('/oc/*', (req, res) => {
  res.redirect("/t/oc");
});
mntmn's avatar
mntmn committed
76

Mejans's avatar
Mejans committed
77
78
79
router.get('/oc', (req, res) => {
  res.redirect("/t/oc");
});
80

mntmn's avatar
mntmn committed
81
82
83
84
85
86
87
88
89
90
91
92
93
router.get('/en/*', (req, res) => {
  res.redirect("/t/en");
});

router.get('/en', (req, res) => {
  res.redirect("/t/end");
});

router.get('/account', (req, res) => {
  res.render('spacedeck');
});

router.get('/login', (req, res) => {
94
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
95
96
97
});

router.get('/logout', (req, res) => {
98
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
99
100
101
102
103
104
105
106
107
108
109
});

router.get('/t/:id', (req, res) => {
  res.cookie('spacedeck_locale', req.params.id, { maxAge: 900000, httpOnly: true });
  var path = "/";
  if (req.query.r=="login" || req.query.r=="signup") {
    path = "/"+req.query.r;
  }
  res.redirect(path);
});

110
111
112
113
router.get('/s/:hash', (req, res) => {
  var hash = req.params.hash;
  if (hash.split("-").length > 0) {
    hash = hash.split("-")[0];
mntmn's avatar
mntmn committed
114
  }
mntmn's avatar
mntmn committed
115

116
  db.Space.findOne({where: {"edit_hash": hash}}).then(function (space) {
mntmn's avatar
mntmn committed
117
118
    if (space) {
      if (req.accepts('text/html')){
119
	      res.redirect("/spaces/"+space._id + "?spaceAuth=" + hash);
mntmn's avatar
mntmn committed
120
      } else {
mntmn's avatar
mntmn committed
121
	      res.status(200).json(space);
mntmn's avatar
mntmn committed
122
      }
mntmn's avatar
mntmn committed
123
    } else {
mntmn's avatar
mntmn committed
124
      if (req.accepts('text/html')) {
125
	      res.status(404).render('not_found', {});
mntmn's avatar
mntmn committed
126
      } else {
mntmn's avatar
mntmn committed
127
	      res.status(404).json({});
mntmn's avatar
mntmn committed
128
      }
mntmn's avatar
mntmn committed
129
130
131
132
133
    }
  });
});

router.get('/spaces/:id', (req, res) => {
134
  res.render('spacedeck', { config:config, user:req.user });
mntmn's avatar
mntmn committed
135
136
137
});

module.exports = router;