first commit
This commit is contained in:
		
							
								
								
									
										18
									
								
								src/routers/api.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								src/routers/api.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
import { Router } from 'express';
 | 
			
		||||
 | 
			
		||||
import requiredParameters from '../middlewares/requiredParameters.js';
 | 
			
		||||
import existance from '../middlewares/existance.js';
 | 
			
		||||
import auth from '../middlewares/auth.js';
 | 
			
		||||
 | 
			
		||||
import utils from '../utils.js';
 | 
			
		||||
import UserController from '../controllers/user.js';
 | 
			
		||||
 | 
			
		||||
const ApiRouter = new Router();
 | 
			
		||||
 | 
			
		||||
ApiRouter.post('/register', requiredParameters.requireUsername, requiredParameters.requirePassword, auth.validateInviteToken, existance.userDoesNotExist, UserController.register);
 | 
			
		||||
ApiRouter.post('/login', requiredParameters.requireUsername, requiredParameters.requirePassword, existance.userExist, UserController.login);
 | 
			
		||||
ApiRouter.get('/logout', auth.authenticate, UserController.logout);
 | 
			
		||||
ApiRouter.post('/uploadSkin', auth.authenticate, utils.upload.single('file'), requiredParameters.requireFile, UserController.uploadSkin);
 | 
			
		||||
ApiRouter.post('/uploadCape', auth.authenticate, utils.upload.single('file'), requiredParameters.requireFile, UserController.uploadCape);
 | 
			
		||||
 | 
			
		||||
export default ApiRouter;
 | 
			
		||||
							
								
								
									
										40
									
								
								src/routers/user.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								src/routers/user.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
import { Router } from 'express';
 | 
			
		||||
import jwt from 'jsonwebtoken';
 | 
			
		||||
import dotenv from 'dotenv';
 | 
			
		||||
 | 
			
		||||
import auth from '../middlewares/auth.js';
 | 
			
		||||
import UserService from '../services/user.js';
 | 
			
		||||
 | 
			
		||||
dotenv.config({path: ".env"});
 | 
			
		||||
 | 
			
		||||
const UserRouter = new Router();
 | 
			
		||||
 | 
			
		||||
UserRouter.get('/register', async (req, res) => {
 | 
			
		||||
    if (req.session.jwt && jwt.verify(req.session.jwt, process.env.SECRET))
 | 
			
		||||
        return res.redirect("/index");
 | 
			
		||||
 | 
			
		||||
    return res.render("register.pug", {
 | 
			
		||||
        require_token: process.env.REQUIRE_TOKEN == "true"? true : false
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
UserRouter.get(['/', '/login'], async (req, res) => {
 | 
			
		||||
    if(req.session.jwt && jwt.verify(req.session.jwt, process.env.SECRET))
 | 
			
		||||
        return res.redirect("/index");
 | 
			
		||||
 | 
			
		||||
    return res.render("login.pug");
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
UserRouter.get('/index', auth.authenticate, async (req, res) => {
 | 
			
		||||
    if (!req.session.jwt || !jwt.verify(req.session.jwt, process.env.SECRET))
 | 
			
		||||
        return res.redirect("/login");
 | 
			
		||||
    
 | 
			
		||||
    const decoded = jwt.decode(req.session.jwt);
 | 
			
		||||
 | 
			
		||||
    return res.render('index.pug', {
 | 
			
		||||
        username: decoded.username,
 | 
			
		||||
        can_have_cloak: await UserService.canHaveCloak(decoded.username)
 | 
			
		||||
    });
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
export default UserRouter;
 | 
			
		||||
		Reference in New Issue
	
	Block a user