ubuntu resolute
This commit is contained in:
47
nodejs/commande/getGroups.js
Normal file
47
nodejs/commande/getGroups.js
Normal file
@@ -0,0 +1,47 @@
|
||||
const fs = require('fs');
|
||||
|
||||
module.exports = function (app, checkApiKey) {
|
||||
app.get('/action/getgroups', checkApiKey, (req, res) => {
|
||||
const authzFilePath = '/etc/apache2/dav_svn.authz';
|
||||
|
||||
try {
|
||||
const fileContent = fs.readFileSync(authzFilePath, 'utf8');
|
||||
const lines = fileContent.split('\n');
|
||||
|
||||
let groups = [];
|
||||
let inGroupsSection = false;
|
||||
|
||||
for (const line of lines) {
|
||||
const trimmed = line.trim();
|
||||
|
||||
// Début de la section [groups]
|
||||
if (trimmed === '[groups]') {
|
||||
inGroupsSection = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Fin de la section [groups]
|
||||
if (inGroupsSection && trimmed.startsWith('[')) {
|
||||
break;
|
||||
}
|
||||
|
||||
// Lire les groupes
|
||||
if (inGroupsSection && trimmed.includes('=')) {
|
||||
const groupName = trimmed.split('=')[0].trim();
|
||||
groups.push(groupName);
|
||||
}
|
||||
}
|
||||
|
||||
res.json({
|
||||
groups: groups,
|
||||
count: groups.length
|
||||
});
|
||||
|
||||
} catch (error) {
|
||||
res.status(500).json({
|
||||
error: "Error reading groups file",
|
||||
details: error.message
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user