DEV_5.0
This commit is contained in:
		
							
								
								
									
										105
									
								
								routes/filemanager.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								routes/filemanager.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,105 @@
 | 
			
		||||
var express = require('express');
 | 
			
		||||
var router = express.Router();
 | 
			
		||||
var ntr = require("../neutral-functions.js")
 | 
			
		||||
var fs = require("fs")
 | 
			
		||||
var path = require("path")
 | 
			
		||||
var mime = require('mime-types')
 | 
			
		||||
 | 
			
		||||
/* GET home page. */
 | 
			
		||||
router.get('/', function(req, res, next) {
 | 
			
		||||
 | 
			
		||||
  
 | 
			
		||||
    var check = ntr.checkToken(req, res) 
 | 
			
		||||
  
 | 
			
		||||
    if(check.name != false) {
 | 
			
		||||
  
 | 
			
		||||
      res.redirect(302, "/")
 | 
			
		||||
     
 | 
			
		||||
    } else {
 | 
			
		||||
  
 | 
			
		||||
      res.render('login', {error: ""});
 | 
			
		||||
    }
 | 
			
		||||
  
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
router.post("/", function(req, res, next) {
 | 
			
		||||
 | 
			
		||||
    var check = ntr.checkToken(req, res) 
 | 
			
		||||
    
 | 
			
		||||
    if(check.name == false) {
 | 
			
		||||
  
 | 
			
		||||
      res.send({"result":"failed", "content":"ERROR_TOKEN_NOT_VALID"})
 | 
			
		||||
      
 | 
			
		||||
      
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
        if(check.permLevel >= 3) {
 | 
			
		||||
 | 
			
		||||
            const bod = req.body
 | 
			
		||||
 | 
			
		||||
            if(bod.request == "add") {
 | 
			
		||||
              
 | 
			
		||||
                res.send({"result":"failed", "content":"ERROR_NOT_MAKE"})
 | 
			
		||||
 | 
			
		||||
            } else if(bod.request == "get") {
 | 
			
		||||
 | 
			
		||||
                var files = new Array()
 | 
			
		||||
                const directory = req.body.value
 | 
			
		||||
                fs.readdir(directory.replace("/", path.sep.replace("\\", path.sep)), (err, data) => {
 | 
			
		||||
 | 
			
		||||
                    if(err) {
 | 
			
		||||
                        res.send({"result":"success", "content": "ERROR_NOT_EXIST"})
 | 
			
		||||
                        
 | 
			
		||||
                    } else {    
 | 
			
		||||
 | 
			
		||||
                        try {
 | 
			
		||||
                       
 | 
			
		||||
                            for(var file of data) {
 | 
			
		||||
 | 
			
		||||
                           
 | 
			
		||||
                                const stat = fs.statSync(directory.replace("/", path.sep.replace("\\", path.sep)) + path.sep + file)
 | 
			
		||||
                              
 | 
			
		||||
                                files.push({"name":file, "type":mime.lookup(file), "size":stat.size, "lastedition":stat.mtimeMs, "directory":stat.isDirectory()})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                            } 
 | 
			
		||||
 | 
			
		||||
                            res.send({"result":"success", "content": files})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
                        } catch(err) {
 | 
			
		||||
 | 
			
		||||
                                res.send({"result":"success", "content": "ERROR_NOT_PERMITTED"})
 | 
			
		||||
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
                        
 | 
			
		||||
                    }
 | 
			
		||||
 | 
			
		||||
                })
 | 
			
		||||
                
 | 
			
		||||
                
 | 
			
		||||
                
 | 
			
		||||
            
 | 
			
		||||
            } else if(bod.request == "del") {
 | 
			
		||||
                
 | 
			
		||||
                res.send({"result":"failed", "content":"ERROR_NOT_MAKE"})
 | 
			
		||||
 | 
			
		||||
            } else if(bod.request == "rename") {
 | 
			
		||||
 | 
			
		||||
                res.send({"result":"failed", "content":"ERROR_NOT_MAKE"})
 | 
			
		||||
               
 | 
			
		||||
            } else {
 | 
			
		||||
                res.send({"result":"failed", "content":"ERROR_REQUEST_MISSING_FIELDS", "additional": "REQUEST_MISSING"})
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
        } else {
 | 
			
		||||
 | 
			
		||||
            res.send({"result":"failed", "content":"ERROR_USER_PERMISSION_TOO_LOW"})
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
module.exports = router;
 | 
			
		||||
@@ -33,7 +33,7 @@ router.post("/", function (req, res, next) {
 | 
			
		||||
    
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
        if(check.permLevel >= 3) {
 | 
			
		||||
        if(check.permLevel >= 1) {
 | 
			
		||||
 | 
			
		||||
            if(req.body.request == "add") {
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user