11import express , { Request , Response } from 'express' ;
22import { sendSuccess } from '../utils/response.js' ;
33import { Database } from '../utils/database.js' ;
4+ import { jwtAuthMiddleware , requireRoles } from '../middlewares/auth.js' ;
45
56const router = express . Router ( ) ;
67
78/**
89 * Get all files from database
910 * @method GET /api/database/files
1011 */
11- router . get ( '/files' , async ( req : Request , res : Response ) => {
12+ router . get ( '/files' , jwtAuthMiddleware , async ( req : Request , res : Response ) => {
1213 try {
1314 const files = await Database . getAllFiles ( ) ;
1415 sendSuccess ( res , files , 'Files retrieved from database' , 200 ) ;
@@ -21,7 +22,7 @@ router.get('/files', async (req: Request, res: Response) => {
2122 * Get database statistics
2223 * @method GET /api/database/stats
2324 */
24- router . get ( '/stats' , async ( req : Request , res : Response ) => {
25+ router . get ( '/stats' , jwtAuthMiddleware , async ( req : Request , res : Response ) => {
2526 try {
2627 const stats = await Database . getStats ( ) ;
2728 sendSuccess ( res , stats , 'Database statistics retrieved' , 200 ) ;
@@ -34,7 +35,7 @@ router.get('/stats', async (req: Request, res: Response) => {
3435 * Search files in database
3536 * @method GET /api/database/search?q=query&type=type
3637 */
37- router . get ( '/search' , async ( req : Request , res : Response ) => {
38+ router . get ( '/search' , jwtAuthMiddleware , async ( req : Request , res : Response ) => {
3839 try {
3940 const { q, type } = req . query ;
4041 if ( ! q ) {
@@ -52,7 +53,7 @@ router.get('/search', async (req: Request, res: Response) => {
5253 * Backup database
5354 * @method POST /api/database/backup
5455 */
55- router . post ( '/backup' , async ( req : Request , res : Response ) => {
56+ router . post ( '/backup' , jwtAuthMiddleware , requireRoles ( 'admin' ) , async ( req : Request , res : Response ) => {
5657 try {
5758 const backupPath = await Database . backup ( ) ;
5859 sendSuccess ( res , { backupPath } , 'Database backed up successfully' , 200 ) ;
0 commit comments