Isolate client workspaces from root portfolio and restrict Admin view to root images
Some checks failed
Build & Push Docker Image / build-and-push (push) Has been cancelled
Some checks failed
Build & Push Docker Image / build-and-push (push) Has been cancelled
This commit is contained in:
@@ -140,21 +140,15 @@ app.get('/images/fulls/', (req, res) => {
|
|||||||
|
|
||||||
const folders = listSubfolders(FULLS_DIR);
|
const folders = listSubfolders(FULLS_DIR);
|
||||||
|
|
||||||
// Admin: Root + alle Ordner
|
// Admin: Nur Root-Bilder (damit die Startseite sauber bleibt)
|
||||||
if (req.user.role === 'admin') {
|
if (req.user.role === 'admin') {
|
||||||
const allImages = [...rootImages];
|
return res.json(rootImages);
|
||||||
folders.forEach(folder => {
|
|
||||||
listImagesInDir(path.join(FULLS_DIR, folder)).forEach(name => {
|
|
||||||
allImages.push({ name, type: 'file', folder });
|
|
||||||
});
|
|
||||||
});
|
|
||||||
return res.json(allImages);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// User/Client: Root + zugewiesene Ordner
|
// User/Client: NUR zugewiesene Ordner (keine Root-Bilder untermischen)
|
||||||
db.all('SELECT folder_name FROM user_folders WHERE user_id = ?', [req.user.id], (err, rows) => {
|
db.all('SELECT folder_name FROM user_folders WHERE user_id = ?', [req.user.id], (err, rows) => {
|
||||||
const assignedFolders = err ? [] : rows.map(r => r.folder_name);
|
const assignedFolders = err ? [] : rows.map(r => r.folder_name);
|
||||||
const result = [...rootImages];
|
const result = [];
|
||||||
assignedFolders.forEach(folder => {
|
assignedFolders.forEach(folder => {
|
||||||
if (folders.includes(folder)) {
|
if (folders.includes(folder)) {
|
||||||
listImagesInDir(path.join(FULLS_DIR, folder)).forEach(name => {
|
listImagesInDir(path.join(FULLS_DIR, folder)).forEach(name => {
|
||||||
|
|||||||
Reference in New Issue
Block a user