Some checks are pending
Docker Test / test (push) Waiting to run
This commit implements the role-based access control middleware and adds auth routes with proper role checks for user, moderator, and admin roles as defined in the documentation.
27 lines
No EOL
819 B
JavaScript
27 lines
No EOL
819 B
JavaScript
// routes/auth.js
|
|
const express = require('express');
|
|
const router = express.Router();
|
|
const { authenticateUser } = require('../middleware/auth');
|
|
const requireRole = require('../middleware/requireRole');
|
|
|
|
// Public route - register
|
|
router.post('/register', async (req, res) => {
|
|
// Implementation for user registration
|
|
});
|
|
|
|
// Public route - login
|
|
router.post('/login', authenticateUser, (req, res) => {
|
|
// Implementation for user login
|
|
});
|
|
|
|
// Protected route - get user profile
|
|
router.get('/profile', requireRole(['user', 'moderator', 'admin']), (req, res) => {
|
|
// Implementation for getting user profile
|
|
});
|
|
|
|
// Protected route - update user profile
|
|
router.put('/profile', requireRole(['user', 'moderator', 'admin']), (req, res) => {
|
|
// Implementation for updating user profile
|
|
});
|
|
|
|
module.exports = router; |