Files
CDN-APP-INSIDER/routes/routes.js
Dinawo 2df1b28962
All checks were successful
continuous-integration/drone/push Build is passing
Update v1.2.0-beta - Dynamic context menu & permissions
 New Features:
- Dynamic permission-based context menus for files and folders
- Support for collaborative folder access control
- Upload to specific folders including shared folders
- Changelog modal for version updates
- Improved dark mode synchronization

🐛 Bug Fixes:
- Fixed context menu displaying incorrect options
- Fixed CSS !important override preventing dynamic menu behavior
- Fixed folder collaboration permission checks
- Fixed breadcrumb navigation with empty segments
- Fixed "Premature close" error loop in attachments
- Fixed missing user variable in admin routes
- Fixed avatar loading COEP policy issues

🔒 Security:
- Added security middleware (CSRF, rate limiting, input validation)
- Fixed collaboration folder access validation
- Improved shared folder permission handling

🎨 UI/UX Improvements:
- Removed Actions column from folder view
- Context menu now properly hides/shows based on permissions
- Better visual feedback for collaborative folders
- Improved upload flow with inline modals

🧹 Code Quality:
- Added collaboration data to folder routes
- Refactored context menu logic for better maintainability
- Added debug logging for troubleshooting
- Improved file upload handling with chunking support
2025-10-25 23:55:51 +02:00

92 lines
5.9 KiB
JavaScript

const express = require('express');
const router = express.Router();
const { logAndBanSuspiciousActivity } = require('../models/banModel.js');
const { logApiRequest } = require('../config/logs.js');
const discordWebhookSuspisiousAlertMiddleware = require('../Middlewares/discordWebhookSuspisiousAlertMiddleware.js');
const indexRoute = require('./index.js');
const deniedRoute = require('./denied.js');
const DpanelDashboardRoute = require('./Dpanel/Dashboard/index.js');
const DpanelFolderRoute = require('./Dpanel/Folder/index.js');
const DpanelUploadRoute = require('./Dpanel/Upload.js');
const AttachmentsRoute = require('./attachments.js');
const buildMetadataRoute = require('./BuildMetaData.js');
const getFileDashboardRoute = require('./Dpanel/API/getFile.js');
const getFileFolderRoute = require('./Dpanel/API/getFileFolder.js');
const swagger = require('../models/swagger.js');
const NewFolderRoute = require('./Dpanel/API/NewFolder.js');
const RenameFileRoute = require('./Dpanel/API/RenameFile.js');
const RenameFolderRoute = require('./Dpanel/API/RenameFolder.js');
const DeleteFileRoute = require('./Dpanel/API/DeleteFile.js');
const MoveFileRoute = require('./Dpanel/API/MoveFile.js');
const UploadRoute = require('./Dpanel/API/Upload.js');
const UpdateRoleAdminRoute = require('./Dpanel/API/Upload-Role-Admin.js');
const UpdateSetupAdminRoute = require('./Dpanel/API/Update-Setup-Admin.js');
const DeleteFolderRoute = require('./Dpanel/API/DeleteFolfder.js');
const DeleteFileFolderRoute = require('./Dpanel/API/DeleteFileFolder.js');
const GetMetaDataFileRoute = require('./Dpanel/API/GetMetaDataFile.js');
const BackgroundCustom = require('./Dpanel/API/BackgroundCustom.js');
const ProfilUser = require('./Dpanel/Dashboard/ProfilUser.js');
const PofilPictureRoute = require('./Dpanel/API/ProfilPicture.js');
const CollaborationRoute = require('./Dpanel/API/Collaboration.js');
const UserSearchRoute = require('./Dpanel/API/UserSearch.js');
const SharedFoldersRoute = require('./Dpanel/API/SharedFolders.js');
const loginRoute = require('./Auth/Login.js');
const logoutRoute = require('./Auth/Logout.js');
const activeDirectoryRoute = require('./Auth/ActiveDirectory.js');
const discordRoute = require('./Auth/Discord.js');
const AdminDpanelRoute = require('./Dpanel/Admin/index.js');
const AdminUsersDpanelRoute = require('./Dpanel/Admin/User.js');
const AdminSettingSetupDpanelRoute = require('./Dpanel/Admin/SettingSetup.js');
const AdminStatsLogsDpanelRoute = require('./Dpanel/Admin/Stats-Logs.js');
const AdminPrivacySecurityDpanelRoute = require('./Dpanel/Admin/Privacy-Security.js');
const GenerateTokenRoute = require('./Dpanel/API/GenerateToken.js');
const RevokeTokenRoute = require('./Dpanel/API/RevokeToken.js');
router.use('/', indexRoute);
router.use('/attachments', AttachmentsRoute);
router.use('/build-metadata', buildMetadataRoute);
router.use('/api/docs', swagger.serve, swagger.setup);
router.use('/dpanel/dashboard', DpanelDashboardRoute);
router.use('/dpanel/upload', DpanelUploadRoute);
router.use('/dpanel/dashboard/folder', DpanelFolderRoute);
router.use('/dpanel/dashboard/admin', AdminDpanelRoute);
router.use('/dpanel/dashboard/admin/users', AdminUsersDpanelRoute);
router.use('/dpanel/dashboard/admin/settingsetup', AdminSettingSetupDpanelRoute)
router.use('/dpanel/dashboard/admin/stats-logs', AdminStatsLogsDpanelRoute);;
router.use('/dpanel/dashboard/admin/Privacy-Security', AdminPrivacySecurityDpanelRoute);
router.use('/dpanel/dashboard/profil', ProfilUser);
router.use('/api/dpanel/dashboard/newfolder',discordWebhookSuspisiousAlertMiddleware, logApiRequest, NewFolderRoute);
router.use('/api/dpanel/dashboard/rename',discordWebhookSuspisiousAlertMiddleware, logApiRequest, RenameFileRoute);
router.use('/api/dpanel/folders/rename',discordWebhookSuspisiousAlertMiddleware, logApiRequest, RenameFolderRoute);
router.use('/api/dpanel/dashboard/delete',discordWebhookSuspisiousAlertMiddleware, logApiRequest, DeleteFileRoute);
router.use('/api/dpanel/dashboard/movefile',discordWebhookSuspisiousAlertMiddleware, logApiRequest, MoveFileRoute);
router.use('/api/dpanel/upload',discordWebhookSuspisiousAlertMiddleware, logApiRequest, UploadRoute);
router.use('/api/dpanel/dashboard/admin/update-role',discordWebhookSuspisiousAlertMiddleware, logApiRequest, UpdateRoleAdminRoute);
router.use('/api/dpanel/dashboard/admin/update-setup',discordWebhookSuspisiousAlertMiddleware, logApiRequest, UpdateSetupAdminRoute);
router.use('/api/dpanel/dashboard/deletefolder',discordWebhookSuspisiousAlertMiddleware, logApiRequest, DeleteFolderRoute);
router.use('/api/dpanel/dashboard/deletefile/', discordWebhookSuspisiousAlertMiddleware, logApiRequest,DeleteFileFolderRoute);
router.use('/api/dpanel/dashboard/getmetadatafile',discordWebhookSuspisiousAlertMiddleware, logApiRequest, GetMetaDataFileRoute);
router.use('/api/dpanel/dashboard/backgroundcustom', BackgroundCustom, logApiRequest);
router.use('/api/dpanel/generate-token',discordWebhookSuspisiousAlertMiddleware, logApiRequest, GenerateTokenRoute);
router.use('/api/dpanel/revoke-token',discordWebhookSuspisiousAlertMiddleware, logApiRequest, RevokeTokenRoute);
router.use('/api/dpanel/dashboard/getfile', getFileDashboardRoute, logApiRequest);
router.use('/api/dpanel/dashboard/getfilefolder', getFileFolderRoute, logApiRequest);
router.use('/api/dpanel/dashboard/profilpicture', PofilPictureRoute, logApiRequest);
router.use('/api/dpanel/collaboration', discordWebhookSuspisiousAlertMiddleware, logApiRequest, CollaborationRoute);
router.use('/api/dpanel/users/search', UserSearchRoute, logApiRequest);
router.use('/api/dpanel/sharedfolders', discordWebhookSuspisiousAlertMiddleware, logApiRequest, SharedFoldersRoute);
router.use('/auth/login', loginRoute);
router.use('/auth/logout', logoutRoute);
router.use('/auth/activedirectory',discordWebhookSuspisiousAlertMiddleware, activeDirectoryRoute);
router.use('/auth/discord',discordWebhookSuspisiousAlertMiddleware, discordRoute);
router.use('/*', logAndBanSuspiciousActivity, deniedRoute);
module.exports = router;