const express = require('express'); const fs = require('fs'); const path = require('path'); const router = express.Router(); const fileUpload = require('express-fileupload'); const authMiddleware = require('../../../Middlewares/authMiddleware'); const { loggers } = require('winston'); const ncp = require('ncp'); const util = require('util'); const ncpAsync = util.promisify(ncp.ncp); const configFile = fs.readFileSync(path.join(__dirname, '../../../data', 'setup.json'), 'utf-8') const config = JSON.parse(configFile); const bodyParser = require('body-parser'); const crypto = require('crypto'); const os = require('os'); const { getUserData, getSetupData } = require('../../../Middlewares/watcherMiddleware'); const { logger, logRequestInfo, ErrorLogger, authLogger } = require('../../../config/logs'); let setupData = getSetupData(); let userData = getUserData(); router.use(bodyParser.json()); const User = require('../../../data/user.json'); const setup = JSON.parse(fs.readFileSync(path.join(__dirname, '../../../data', 'setup.json'), 'utf-8')); router.get('/', authMiddleware, async (req, res) => { try { const data = fs.readFileSync(path.join(__dirname, '../../../data', 'user.json'), 'utf8'); const users = JSON.parse(data); const user = users.find(user => user.name === req.user.name); if (!user || user.role !== 'admin') { console.log('Access denied'); return res.status(403).json({ message: "You do not have the necessary rights to access this resource." }); } let currentPage = Number(req.query.page) || 1; let limit = Number(req.query.limit) || 10; let totalUsers = users.length; let pages = Math.ceil(totalUsers / limit); let start = (currentPage - 1) * limit; let end = start + limit; let usersForPage = users.slice(start, end); res.render('paramAdminUser', { users: usersForPage, setup: setup, pages: pages, currentPage: currentPage, limit: limit }); } catch (err) { console.error(err); res.status(500).send('Server Error'); } }); module.exports = router;