All checks were successful
continuous-integration/drone/push Build is passing
✨ 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
92 lines
5.9 KiB
JavaScript
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; |