feat: aggiunte feature per l'admin e cambiamenti stilistici minori
This commit is contained in:
+21
-1
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user