ADMIN UI DONE
This commit is contained in:
@@ -1,20 +1,47 @@
|
||||
const express = require('express');
|
||||
const {httpStatus} = require("../helpers/httpResponses");
|
||||
const router = express.Router();
|
||||
const crypto = require('crypto');
|
||||
|
||||
function validateBody(req, res, next) {
|
||||
const apiKey = req.headers['authorization'];
|
||||
const adminDB = req.app.get('adminDB');
|
||||
const {id} = adminDB.readFile();
|
||||
|
||||
if(apiKey !== id){
|
||||
return res.status(httpStatus.UNAUTHORIZED).json(
|
||||
{message: "You are not authorized as an admin."})
|
||||
}
|
||||
|
||||
next();
|
||||
}
|
||||
|
||||
router.post('/reset_server', validateBody, (req, res) => {
|
||||
// Handle reset server logic here
|
||||
router.get('/reset_server', validateBody, (req, res) => {
|
||||
const usersDB = req.app.get('usersDB');
|
||||
const departmentsDB = req.app.get('departmentsDB');
|
||||
const backupSchemesDB = req.app.get('backupSchemesDB');
|
||||
const ceoDB = req.app.get('ceoDB');
|
||||
|
||||
usersDB.writeFile([]);
|
||||
departmentsDB.writeFile([]);
|
||||
backupSchemesDB.writeFile({});
|
||||
ceoDB.writeFile({
|
||||
name: "CEO",
|
||||
email: "ceo@yourfirm.com",
|
||||
password: crypto.randomBytes(16).toString('hex')
|
||||
});
|
||||
|
||||
res.status(httpStatus.OK).json({ message: "Resetting the server..." });
|
||||
});
|
||||
|
||||
router.get('/ceo', validateBody, (req, res) => {
|
||||
// Retrieve CEO info
|
||||
const ceoDB = req.app.get('ceoDB');
|
||||
res.status(httpStatus.OK).json({ message: "Retrieving CEO info...", data: ceoDB.readFile() }) // Corrected to readFile
|
||||
});
|
||||
|
||||
router.get('/users', validateBody, (req, res) => {
|
||||
// Retrieve all users in the system
|
||||
const usersDB = req.app.get('usersDB');
|
||||
res.status(httpStatus.OK).json({ message: "Retrieving users info...", data: usersDB.readFile() }) // Corrected to readFile
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user