/
users.js
65 lines (52 loc) · 1.23 KB
/
users.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
62
63
64
65
const express = require('express');
const { select, search } = require('./db');
const router = express.Router();
/**
* Higher-order fall sem umlykur async middleware með villumeðhöndlun.
*
* @param {function} fn Middleware sem grípa á villur fyrir
* @returns {function} Middleware með villumeðhöndlun
*/
function catchErrors(fn) {
return (req, res, next) => fn(req, res, next).catch(next);
}
/**
* Ósamstilltur route handler fyrir umsóknarlista.
*
* @param {object} req Request hlutur
* @param {object} res Response hlutur
* @returns {string} Lista af umsóknum
*/
async function users(req, res) {
const list = await select();
const data = {
title: 'Members',
list,
};
return res.render('users', data);
}
function form(req, res) {
const data = {
title: 'Search users',
param: '',
errors: [],
};
res.render('search', data);
}
async function searchUsers(req, res) {
const {
body: {
param = '',
} = {},
} = req;
const list = await search(param);
const data = {
title: 'Members',
list,
};
return res.render('users', data);
}
//router.get('/', catchErrors(users));
router.get('/search', form);
router.get('/', catchErrors(searchUsers));
module.exports = router;