Add validator to avoid access to default routes when auth is set to off

This commit is contained in:
AbegaM
2024-03-01 17:28:57 +03:00
parent 97aaa9b8e2
commit 7605c15c46
4 changed files with 21 additions and 2 deletions

3
src/constants/api.js Normal file
View File

@@ -0,0 +1,3 @@
module.exports = {
defaultRoutes: ['_users', '_roles', '_roles_permissions', '_users_roles'],
};

View File

@@ -1,3 +1,4 @@
const dbTables = require('./dbTables');
const apiConstants = require('./api');
module.exports = { dbTables };
module.exports = { dbTables, apiConstants };

View File

@@ -1,11 +1,20 @@
const config = require('../config');
const { registerUser } = require('../controllers/auth');
const { apiConstants } = require('../constants/');
const processRequest = async (req, res, next) => {
const resource = req.params.name;
const method = req.method;
// If the user sends a request when auth is set to false, throw an error
if (apiConstants.defaultRoutes.includes(resource) && !config.auth) {
return res.status(401).send({
message: 'You can not access this endpoint while AUTH is set to false',
});
}
// Execute user registration function
if (resource === '_users' && method === 'POST') {
if (resource === '_users' && method === 'POST' && config.auth) {
return registerUser(req, res);
}

View File

@@ -241,6 +241,9 @@
"responses": {
"400": {
"description": "Bad Request"
},
"401": {
"description": "Unauthorized"
}
}
},
@@ -277,6 +280,9 @@
"schema": {
"$ref": "#/definitions/InsertRowErrorResponse"
}
},
"401": {
"description": "Unauthorized"
}
}
}