feat: aggiunte feature per l'admin e cambiamenti stilistici minori

This commit is contained in:
2023-01-11 12:08:40 +01:00
parent 1e1b94e8f7
commit 14b9eee816
7 changed files with 264 additions and 165 deletions
+21 -1
View File
@@ -102,6 +102,26 @@ export async function createApiRouter() {
// res.json({ status: 'ok' })
// })
r.post('/api/admin/su', async (req, res) => {
const requestUser = await getRequestUser(req)
if (!requestUser || requestUser.role !== 'admin') {
res.sendStatus(StatusCodes.UNAUTHORIZED)
return
}
const username: string = req.body.username ?? ''
const newUser = await getUser(db, username)
if (!newUser) {
res.status(StatusCodes.NOT_FOUND)
res.send(`no user for id "${username}"`)
return
}
res.cookie('sid', sessions.createSession(username as UserId), { maxAge: 1000 * 60 * 60 * 24 * 7 })
res.send({ status: 'ok' })
})
r.post('/api/logout', (req, res) => {
res.cookie('sid', '', { expires: new Date() })
res.json({ status: 'ok' })
@@ -109,7 +129,7 @@ export async function createApiRouter() {
r.get('/api/users', async (req, res) => {
const requestUser = await getRequestUser(req)
if (!requestUser || !isAdministrator(requestUser.role)) {
if (!requestUser || requestUser.role !== 'admin') {
res.sendStatus(StatusCodes.UNAUTHORIZED)
return
}