UNPKG

@qelos/auth

Version:

Express Passport authentication service

44 lines (38 loc) 1.48 kB
import { getRouter } from '@qelos/api-kit' import { getUsersForAdmin, getUsers, createUser, getUser, updateUser, removeUser, getUserEncryptedData, setUserEncryptedData, getUsersStats } from '../controllers/users' import verifyUser from '../middleware/verify-user' import { onlyPrivileged } from '../middleware/auth-check' import { authConfigCheck } from '../middleware/auth-config-check'; const router = getRouter() router .get('/api/users', verifyUser, onlyPrivileged, getUsers) .post('/api/users', verifyUser, onlyPrivileged, authConfigCheck, createUser) .post('/api/users/:userId/encrypted', verifyUser, onlyPrivileged, setUserEncryptedData) .get('/api/users/stats', verifyUser, onlyPrivileged, getUsersStats) .get('/api/users/:userId', verifyUser, onlyPrivileged, getUser) .get('/api/users/:userId/encrypted', verifyUser, onlyPrivileged, getUserEncryptedData) .put('/api/users/:userId', verifyUser, onlyPrivileged, authConfigCheck, updateUser) .delete('/api/users/:userId', verifyUser, onlyPrivileged, removeUser); router .get('/internal-api/users', getUsersForAdmin) .post('/internal-api/users', authConfigCheck, createUser) .get('/internal-api/users/:userId', (req, _, next) => { req.user = { type: 'internal', isPrivileged: true, }; next(); }, getUser) .put('/internal-api/users/:userId', authConfigCheck, updateUser) .delete('/internal-api/users/:userId', removeUser); export default router;