This commit is contained in:
Raphix
2023-02-21 12:02:37 +01:00
parent 4f022a0d97
commit 9764132760
32 changed files with 3347 additions and 63 deletions

95
routes/get.js Normal file
View File

@ -0,0 +1,95 @@
var express = require('express');
var router = express.Router();
var ntr = require("../neutral-functions.js");
var fs = require("fs")
var path = require("path")
/* GET home page. */
router.get('/', function(req, res, next) {
var check = ntr.checkToken(req, res)
if(check == false) {
res.redirect(302, "/login")
} else {
res.redirect(302, "/")
}
});
router.post("/", function(req, res, next) {
var check = ntr.checkToken(req, res)
if(check == false) {
res.send({"result":"failed", "content":"ERROR_TOKEN_NOT_VALID"})
} else {
if(req.body.request == null | req.body.name == null) {
if(req.body.request == null) {
res.send({"result":"failed", "content":"ERROR_REQUEST_MISSING_FIELDS", "additional": "REQUEST_MISSING"})
} else {
res.send({"result":"failed", "content":"ERROR_REQUEST_MISSING_FIELDS", "additional": "NAME_MISSING"})
}
} else {
console.log("[Get] - GET[" + req.body.request + '-' + req.body.name + "]")
if(req.body.request == "page") {
try {
const file = fs.readFileSync(__dirname.replace("routes", "public" + path.sep + "templates" + path.sep) + path.sep + req.body.name, 'utf-8') ;
res.send({"result":"success", "content":file})
} catch(error) {
res.send({"result":"failed", "content":"ERROR_FILE_NOT_EXIST"})
}
} else if(req.body.request == "accountpic") {
try {
const file = fs.readFileSync(__dirname.replace("routes", "images" + path.sep + "userspics" + path.sep) + path.sep + req.body.name + ".png", 'utf-8') ;
res.send({"result":"success", "content":file})
} catch(error) {
res.send({"result":"failed", "content":"ERROR_FILE_NOT_EXIST"})
}
} else if(req.body.request == "username") {
res.send({"result":"success", "content": ntr.checkToken(req, res)})
} else if(req.body.request == "fullname") {
res.send({"result":"success", "content": ntr.getFullName(ntr.checkToken(req, res))})
} else {
res.send({"result":"failed", "content":"ERROR_REQUEST_NOT_VALID"})
}
}
}
})
module.exports = router;

View File

@ -15,7 +15,7 @@ router.get('/', function(req, res, next) {
} else {
res.render('index', { title: check });
res.render('index', { title: ntr.getFullName(check), username: ntr.getFullName(check), accountpic: '<img width="200" class="w-25 sidebar-image noside" src="images/userspics/' + check + '.png">' });
}

View File

@ -21,9 +21,6 @@ router.get('/', function(req, res, next) {
res.render('login', {error: ""});
}
});
@ -51,12 +48,13 @@ router.post("/", function(req, res, next) {
const tokenID = ntr.generateTokenID(bod.username, userData, req, users)
res.cookie('tokenID' , tokenID)
res.cookie('tokenID' , tokenID, { maxAge: 900000000, httpOnly: true })
res.status(202).send({"token":"auth_success"})
} else {
userpassword = null;
res.status(202).send({"token":"auth_failed"})
}

88
routes/set.js Normal file
View File

@ -0,0 +1,88 @@
var express = require('express');
var router = express.Router();
var path = require("path")
var fs = require("fs")
var CryptoJS = require("crypto-js");
var uuid = require("uuid")
var ntr = require("../neutral-functions.js")
/* GET home page. */
router.get('/', function(req, res, next) {
var check = ntr.checkToken(req, res)
if(check != false) {
res.redirect(302, "/")
} else {
res.render('login', {error: ""});
}
});
router.post("/", function(req, res, next) {
var check = ntr.checkToken(req, res)
if(check == false) {
res.send({"result":"failed", "content":"ERROR_TOKEN_NOT_VALID"})
} else {
if(req.body.request == null | req.body.value == null | req.body.additional == null) {
if(req.body.request == null) {
res.send({"result":"failed", "content":"ERROR_REQUEST_MISSING_FIELDS", "additional": "REQUEST_MISSING"})
} else if(req.body.value == null){
res.send({"result":"failed", "content":"ERROR_REQUEST_MISSING_FIELDS", "additional": "VALUE_MISSING"})
} else {
res.send({"result":"failed", "content":"ERROR_REQUEST_MISSING_FIELDS", "additional": "ADDITIONAL_MISSING"})
}
} else {
console.log("[Set] - SET[" + req.body.request + '-' + req.body.value + "-" + req.body.additional+ "]")
if(req.body.request == "password") {
ntr.changePassword(req, res);
} else if(req.body.request == "fullname") {
ntr.changeFullName(req.body.value, req, res);
res.send({"result":"success", "content": "<span style='color:rgb(130, 255, 163);'>Le nom complet a été changé avec succès.</span>", "additional": req.body.value})
} else {
res.send({"result":"failed", "content":"ERROR_REQUEST_NOT_VALID"})
}
}
}
})
module.exports = router;

View File

@ -1,7 +1,12 @@
var express = require('express');
var router = express.Router();
var path = require("path")
var fs = require("fs")
var CryptoJS = require("crypto-js");
var uuid = require("uuid")
var ntr = require("../neutral-functions.js")
/* GET home page. */
router.get('/', function(req, res, next) {
@ -15,7 +20,8 @@ router.get('/', function(req, res, next) {
} else {
res.clearCookie('tokenID')
res.send({"success":true})
res.redirect(302, "/login")
}

139
routes/upload.js Normal file
View File

@ -0,0 +1,139 @@
var express = require('express');
var router = express.Router();
var path = require("path")
var fs = require("fs")
var CryptoJS = require("crypto-js");
var uuid = require("uuid")
var ntr = require("../neutral-functions.js");
const Jimp = require("jimp");
/* GET home page. */
router.get('/', function(req, res, next) {
var check = ntr.checkToken(req, res)
if(check != false) {
res.redirect(302, "/")
} else {
res.render('login', {error: ""});
}
});
router.post("/", function(req, res, next) {
var check = ntr.checkToken(req, res)
if(check == false) {
res.send({"result":"failed", "content":"ERROR_TOKEN_NOT_VALID"})
} else {
const image = req.files.apic
if(req.files.apic.mimetype == "image/png" | req.files.apic.mimetype == "image/jpeg" ) {
var uploadPath = "";
var uploadDir = __dirname.replace("routes","public" + path.sep + "images" + path.sep + "userspics" + path.sep)
if(req.files.apic.mimetype == "image/png") {
uploadPath = ntr.checkToken(req, res) + ".png"
}
if(req.files.apic.mimetype == "image/jpeg") {
uploadPath = ntr.checkToken(req, res) + ".jpg"
}
image.mv(uploadPath, function(err) {
if(err) {
res.send({"result":"success", "content": "La photo de profil n'a pas pu être chargé."})
console.log(err)
} else {
if(fs.existsSync(uploadDir + ntr.checkToken(req, res) + ".png") | fs.existsSync(uploadDir + ntr.checkToken(req, res) + ".jpg")) {
if(fs.existsSync(uploadDir + ntr.checkToken(req, res) + ".png")) {
fs.rmSync(uploadDir + ntr.checkToken(req, res) + ".png")
}
fs.renameSync(__dirname.replace("routes", "") + uploadPath , uploadDir + uploadPath)
if(req.files.apic.mimetype == "image/jpeg") {
Jimp.read(uploadDir + uploadPath, function (err, image) {
image.resize(200,200, function(err){
if (err) throw err;
}).write(uploadDir + uploadPath.replace("jpg", "png"))
fs.rmSync(uploadDir + ntr.checkToken(req, res) + ".jpg")
res.send({"result":"success", "content": "<span style='color:rgb(130, 255, 163);'>La photo de profil a été changé avec succès.</span>",})
})
} else if(req.files.apic.mimetype == "image/png") {
Jimp.read(uploadDir + uploadPath, function (err, image) {
image.resize(200,200, function(err){
if (err) throw err;
}).write(uploadDir + uploadPath)
res.send({"result":"success", "content": "<span style='color:rgb(130, 255, 163);'>La photo de profil a été changé avec succès.</span>",})
})
} else {
res.send({"result":"success", "content": "<span style='color:rgb(130, 255, 163);'>La photo de profil a été changé avec succès.</span>",})
}
} else {
console.log(uploadDir + uploadPath)
res.send({"result":"success", "content": "La photo de profil n'a pas pu être chargé."})
console.log("ERROR - UPLOAD NOT WORK CORRECYLT")
}
}
})
} else {
res.send({"result":"success", "content": "Seul les images (JPEG et PNG) sont acceptés."})
}
}
})
module.exports = router;