app.js 1.61 KB
let express = require('express');
let app = express();
let bodyParser = require('body-parser');
let session = require('express-session')

app.use(session({ secret: 'keyboard cat', cookie: { maxAge: 60000 }}))
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());


let users = new Array();
users[0] = {
	"userId" : 0,
	"name" : "jin",
	"password" : "abc",
	"isAdmin" : true
}

app.put('/login', (req, res) => {
	// users 배열에서 찾도록 처리 해야 함
	// admin 여부를 확인하여 체크
	// req.body.id : ID
	// req.body.name : 패스워드
	var sess=req.session
	if(req.body.id==users[req.body.id]){
		if(req.body.isAdmin){
			sess.views++
			res.send("admin Login")
		}
		else{
			res.send("Login")
		}
	}
});

app.put('/logout', (req, res) => {
	// Logout
	// 세션 유효 여부를 체크하고 세션 Delete
	if(sess.views){
		req.session.destroy
	}
	req.session.userId = null;
	res.send("LogOut");

});

let auth = (req, res, next) => {
	// Session Check
	// 어드민 여부 체크 필요
	if (req.session.userId != null)
		next()
	else
		res.send("Error")

};
app.get('/user/:userId', auth, (req, res) => {
	// get User Information
	let userId = req.params.userId;
	if(sess.views){
		console.log(users[userId])
    	res.send(users[userId])
		res.send("OK")
	}
    
});

// 사용자 추가 시에 admin 여부도 추가해야 함

app.post('/users', (req, res) => {
	if(sess.views){
		books[req.body.id] = [req.body.id, req.body.name, req.body.password, req.body.isAdmin];
		res.send(books[req.body.id])
		res.send("OK")
	}
	else{
		res.send("Not Admin")
	}
	
})

let server = app.listen(23023);