going somewhere, kinda
This commit is contained in:
parent
ba9fa84407
commit
7db9e7f78c
2 changed files with 79 additions and 65 deletions
|
|
@ -5,7 +5,8 @@ const path = require('path');
|
||||||
function buildDependencies() {
|
function buildDependencies() {
|
||||||
const dependencies = {};
|
const dependencies = {};
|
||||||
|
|
||||||
dependencies.sequelize = require('./database');
|
const webRoutesProvider = new (require('./routes/webRoutes'))();
|
||||||
|
dependencies.webRoutes = webRoutesProvider.provide();
|
||||||
return dependencies;
|
return dependencies;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -26,7 +27,7 @@ function createApp(dependencies) {
|
||||||
|
|
||||||
app.use(createSessionMiddleware);
|
app.use(createSessionMiddleware);
|
||||||
|
|
||||||
const webRoutes = require('./routes/webRoutes');
|
const webRoutes = dependencies.webRoutes;
|
||||||
const apiRoutes = require('./routes/apiRoutes');
|
const apiRoutes = require('./routes/apiRoutes');
|
||||||
|
|
||||||
app.use('/', webRoutes);
|
app.use('/', webRoutes);
|
||||||
|
|
|
||||||
|
|
@ -7,68 +7,81 @@ const attachPublicKeyMiddleware = require('../middlewares/attachPublicKeyMiddlew
|
||||||
const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redirectIfMissingProfileDetailsMiddleware');
|
const redirectIfMissingProfileDetailsMiddleware = require('../middlewares/redirectIfMissingProfileDetailsMiddleware');
|
||||||
const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized');
|
const redirectHomeIfAuthorized = require('../middlewares/redirectHomeIfAuthorized');
|
||||||
|
|
||||||
router.get(
|
class WebRoutesProvider {
|
||||||
'/',
|
provide() {
|
||||||
redirectHomeIfAuthorized,
|
router.get(
|
||||||
redirectIfNotAuthorizedMiddleware,
|
'/',
|
||||||
(req, res) => {
|
redirectHomeIfAuthorized,
|
||||||
res.redirect('/login');
|
redirectIfNotAuthorizedMiddleware,
|
||||||
|
(req, res) => {
|
||||||
|
res.redirect('/login');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get('/login', redirectHomeIfAuthorized, (req, res) => {
|
||||||
|
res.render('login', { uuid: req.cookies.sessionUuid });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get('/invite/:inviteUuid', async (req, res) => {
|
||||||
|
const { inviteUuid } = req.params;
|
||||||
|
|
||||||
|
res.cookie('inviteUuid', inviteUuid, {
|
||||||
|
httpOnly: true,
|
||||||
|
maxAge: 86400000,
|
||||||
|
});
|
||||||
|
|
||||||
|
let invite;
|
||||||
|
try {
|
||||||
|
invite = await invitesService.getAppInvite(inviteUuid);
|
||||||
|
if (!invite) {
|
||||||
|
return res
|
||||||
|
.status(404)
|
||||||
|
.render('error', { message: 'Invite not found.' });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (await invitesService.isAppInviteSpent(inviteUuid)) {
|
||||||
|
return res.status(410).render('invite_spent', { invite });
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error fetching invite:', error);
|
||||||
|
return res
|
||||||
|
.status(500)
|
||||||
|
.render('error', { message: 'An error occurred' });
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.render('invite', { invite });
|
||||||
|
});
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/createProfile',
|
||||||
|
redirectIfNotAuthorizedMiddleware,
|
||||||
|
async (req, res) => {
|
||||||
|
return res.status(200).render('createProfile');
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/home',
|
||||||
|
redirectIfNotAuthorizedMiddleware,
|
||||||
|
attachPublicKeyMiddleware,
|
||||||
|
redirectIfMissingProfileDetailsMiddleware,
|
||||||
|
(req, res) => {
|
||||||
|
res.render('home', {});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
router.get(
|
||||||
|
'/offers',
|
||||||
|
redirectIfNotAuthorizedMiddleware,
|
||||||
|
attachPublicKeyMiddleware,
|
||||||
|
redirectIfMissingProfileDetailsMiddleware,
|
||||||
|
(req, res) => {
|
||||||
|
res.render('offers', {});
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
return router;
|
||||||
}
|
}
|
||||||
);
|
}
|
||||||
|
|
||||||
router.get('/login', redirectHomeIfAuthorized, (req, res) => {
|
module.exports = WebRoutesProvider;
|
||||||
res.render('login', { uuid: req.cookies.sessionUuid });
|
|
||||||
});
|
|
||||||
|
|
||||||
router.get('/invite/:inviteUuid', async (req, res) => {
|
|
||||||
const { inviteUuid } = req.params;
|
|
||||||
|
|
||||||
res.cookie('inviteUuid', inviteUuid, { httpOnly: true, maxAge: 86400000 });
|
|
||||||
|
|
||||||
let invite;
|
|
||||||
try {
|
|
||||||
invite = await invitesService.getAppInvite(inviteUuid);
|
|
||||||
if (!invite) {
|
|
||||||
return res.status(404).render('error', { message: 'Invite not found.' });
|
|
||||||
}
|
|
||||||
|
|
||||||
if (await invitesService.isAppInviteSpent(inviteUuid)) {
|
|
||||||
return res.status(410).render('invite_spent', { invite });
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.error('Error fetching invite:', error);
|
|
||||||
return res.status(500).render('error', { message: 'An error occurred' });
|
|
||||||
}
|
|
||||||
|
|
||||||
return res.render('invite', { invite });
|
|
||||||
});
|
|
||||||
|
|
||||||
router.get(
|
|
||||||
'/createProfile',
|
|
||||||
redirectIfNotAuthorizedMiddleware,
|
|
||||||
async (req, res) => {
|
|
||||||
return res.status(200).render('createProfile');
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
router.get(
|
|
||||||
'/home',
|
|
||||||
redirectIfNotAuthorizedMiddleware,
|
|
||||||
attachPublicKeyMiddleware,
|
|
||||||
redirectIfMissingProfileDetailsMiddleware,
|
|
||||||
(req, res) => {
|
|
||||||
res.render('home', {});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
router.get(
|
|
||||||
'/offers',
|
|
||||||
redirectIfNotAuthorizedMiddleware,
|
|
||||||
attachPublicKeyMiddleware,
|
|
||||||
redirectIfMissingProfileDetailsMiddleware,
|
|
||||||
(req, res) => {
|
|
||||||
res.render('offers', {});
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
module.exports = router;
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue