Skip to content
Snippets Groups Projects
Commit b3b6571e authored by Mamadu-lamarana Bah's avatar Mamadu-lamarana Bah :speech_balloon:
Browse files

presque fini

parent 61af7954
No related branches found
No related tags found
No related merge requests found
Showing
with 142 additions and 175 deletions
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<div id="createShow"> <div id="createShow">
<input id="desc" type="text" placeholder="description"/> <input id="desc" type="text" placeholder="description"/>
<input id="place" type="number" placeholder="nombre de place" min="1" max="5" value="3" /> <input id="place" type="number" placeholder="nombre de place" min="1" max="5" />
<button id="create">Ajouter</button> <button id="create">Ajouter</button>
</div> </div>
......
...@@ -9,11 +9,10 @@ const setup = () => { ...@@ -9,11 +9,10 @@ const setup = () => {
username = document.getElementById('username'); username = document.getElementById('username');
getUser(); getUser();
document.getElementById('create').addEventListener('click', createShow); document.getElementById('create').addEventListener('click', createShow);
// document.getElementById('update').addEventListener('click', update);
displayList(); displayList();
document.getElementById('logout').addEventListener('click', logout); document.getElementById('logout').addEventListener('click', logout);
} }
window.addEventListener('DOMContentLoaded', setup); window.addEventListener('DOMContentLoaded', setup);
// fetch GET all shows // fetch GET all shows
...@@ -73,7 +72,7 @@ const createShow = ...@@ -73,7 +72,7 @@ const createShow =
headers : { "Content-Type": "application/json" }, headers : { "Content-Type": "application/json" },
body : body body : body
}; };
const response = await fetch('/admin/new/', requestOptions); const response = await fetch('/admin/items', requestOptions);
if (response.ok) { if (response.ok) {
const createdShow = await response.json(); const createdShow = await response.json();
displayMessage(`${createdShow.description} créée`); displayMessage(`${createdShow.description} créée`);
...@@ -103,25 +102,6 @@ const getUser = async () => { ...@@ -103,25 +102,6 @@ const getUser = async () => {
} }
} }
// const update = async () => {
// const userData = { name : username.value };
// const body = JSON.stringify(userData);
// const requestOptions = {
// method :'PUT',
// headers : { "Content-Type": "application/json" },
// body : body
// };
// const response = await fetch('/user/me', requestOptions);
// if (response.ok) {
// const updatedUser = await response.json();
// console.log(`user updated : ${JSON.stringify(updatedUser)}`);
// }
// else {
// const error = await response.json();
// handleError(error);
// }
// }
const logout = async () => { const logout = async () => {
const requestOptions = { const requestOptions = {
method :'GET', method :'GET',
......
let userlogin;
let userpassword;
let username; let username;
//const displayShowList = require('./utils');
const setup = () => { const setup = () => {
username = document.getElementById('username'); username = document.getElementById('username');
getUser(); getUser();
// document.getElementById('update').addEventListener('click', update);
displayShowList(); displayShowList();
displayTicketsList(); displayTicketsList();
document.getElementById('logout').addEventListener('click', logout); document.getElementById('logout').addEventListener('click', logout);
...@@ -34,13 +29,18 @@ const displayShowList = async () => { ...@@ -34,13 +29,18 @@ const displayShowList = async () => {
method : 'GET' method : 'GET'
}; };
const response = await fetch('/admin/items', requestOptions) const response = await fetch('/admin/items', requestOptions)
if (response.ok) {
const allShows = await response.json(); const allShows = await response.json();
//(ici : code exploitation de allShows) //(ici : code exploitation de allShows)
const list = document.getElementById('list'); const list = document.getElementById('list');
list.textContent = ''; list.textContent = '';
allShows.forEach( show => addToList(show, list) ); allShows.forEach( show => addToList(show, list) );
} }
else {
const error = await response.json();
handleError(error);
}
}
const addToList = (show,list) => { const addToList = (show,list) => {
const node = document.createElement('div'); const node = document.createElement('div');
...@@ -51,8 +51,6 @@ span.textContent = `${show.places} places` ...@@ -51,8 +51,6 @@ span.textContent = `${show.places} places`
node.textContent = `${show.description} : `; node.textContent = `${show.description} : `;
node.appendChild(span); node.appendChild(span);
// //
//node.addEventListener('mouseover', () => getTask(show._id));
//
const ticketsButton = document.createElement('button'); const ticketsButton = document.createElement('button');
ticketsButton.className = 'ticket'; ticketsButton.className = 'ticket';
ticketsButton.addEventListener('click', addTicketShow); ticketsButton.addEventListener('click', addTicketShow);
...@@ -85,9 +83,15 @@ const displayTicketsList = async () => { ...@@ -85,9 +83,15 @@ const displayTicketsList = async () => {
method : 'GET' method : 'GET'
}; };
const response = await fetch('/tickets', requestOptions) const response = await fetch('/tickets', requestOptions)
if (response.ok) {
const allTickets = await response.json(); const allTickets = await response.json();
allTickets.forEach( ticket => addTicketsToList(ticket) ); allTickets.forEach( ticket => addTicketsToList(ticket) );
} }
else {
const error = await response.json();
handleError(error);
}
}
const addTicketsToList = (ticket) => { const addTicketsToList = (ticket) => {
const list = document.getElementById("showTickets"); const list = document.getElementById("showTickets");
......
...@@ -20,7 +20,7 @@ body { ...@@ -20,7 +20,7 @@ body {
} }
#place { #place {
width : 50px; width : 100px;
text-align : right; text-align : right;
} }
......
...@@ -17,6 +17,9 @@ input { ...@@ -17,6 +17,9 @@ input {
text-align :center; text-align :center;
} }
#place {
width: 10px;
}
button { button {
padding : 3px; padding : 3px;
width : 100px; width : 100px;
...@@ -24,17 +27,20 @@ button { ...@@ -24,17 +27,20 @@ button {
font-weight : bold; font-weight : bold;
} }
#list div.shows { #shows, #tickets {
padding : 2px; margin : 10px;
margin : 1px 2px; padding : 4px;
border : solid thin #999;
} }
div.shows:nth-of-type(even) {
background-color: #EEE; #list, #shows {
padding : 2px;
margin : 4px 4px;
} }
.tickets { .tickets {
width : 50px; width : 50px;
color: red; color: green;
} }
#userdata { #userdata {
......
...@@ -8,7 +8,6 @@ var logger = require('morgan'); ...@@ -8,7 +8,6 @@ var logger = require('morgan');
// routers // routers
const indexRouter = require('./routes/index.route'); const indexRouter = require('./routes/index.route');
const accessRouter = require('./routes/access.route'); const accessRouter = require('./routes/access.route');
const userRouter = require('./routes/user.route');
const adminRouter = require('./routes/admin.route'); const adminRouter = require('./routes/admin.route');
...@@ -33,7 +32,6 @@ app.use(express.static(path.join(__dirname, 'public'))); ...@@ -33,7 +32,6 @@ app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter); app.use('/', indexRouter);
app.use('/access', accessRouter); app.use('/access', accessRouter);
app.use('/user', userRouter);
app.use('/admin', adminRouter); app.use('/admin', adminRouter);
// error handler // error handler
......
...@@ -57,7 +57,7 @@ const login = async (req, res) => { ...@@ -57,7 +57,7 @@ const login = async (req, res) => {
// create and send token // create and send token
const token = jwt.sign({id: user._id}, jwtConfig.SECRET_TOKEN, {expiresIn : '1500s'} ); const token = jwt.sign({id: user._id}, jwtConfig.SECRET_TOKEN, {expiresIn : '1500s'} );
console.log(`login : ${token}`); console.log(`login : ${token}`);
res.cookie('token', token, { maxAge : 60000, httpOnly: true, sameSite : 'strict' }) // secure : true (avec https) res.cookie('token', token, { maxAge : 150000, httpOnly: true, sameSite : 'strict' }) // secure : true (avec https)
res.status(200).json({ message : 'utilisateur connecté', name : user.name, admin : user.admin }); res.status(200).json({ message : 'utilisateur connecté', name : user.name, admin : user.admin });
} }
else { // unknown login else { // unknown login
......
...@@ -15,15 +15,6 @@ module.exports.me = ...@@ -15,15 +15,6 @@ module.exports.me =
res.status(200).json({ name: user.name }); res.status(200).json({ name: user.name });
} }
module.exports.update =
async (req,res) => {
const updatedData = { ...req.body };
console.log(updatedData);
const user = await User.findByIdAndUpdate(req.userId,
updatedData,
{ new : true });
res.status(200).json({ name : user.name , message : 'mise à jour réussie'});
}
module.exports.create = module.exports.create =
async (req, res) => { async (req, res) => {
...@@ -49,4 +40,3 @@ module.exports.me = ...@@ -49,4 +40,3 @@ module.exports.me =
throw error; throw error;
} }
} }
\ No newline at end of file
...@@ -18,10 +18,14 @@ const { use } = require('../app'); ...@@ -18,10 +18,14 @@ const { use } = require('../app');
module.exports.me = module.exports.me =
async (req, res) => { async (req, res) => {
try {
const user = await User.findById(req.userId); const user = await User.findById(req.userId);
console.log(user); console.log(user);
console.log(req.userId); console.log(req.userId);
res.status(200).json({ name: user.name, admin: user.admin }); res.status(200).json({ name: user.name, admin: user.admin });
} catch (error) {
throw error;
}
} }
module.exports.deleteTickets = module.exports.deleteTickets =
...@@ -43,7 +47,8 @@ const { use } = require('../app'); ...@@ -43,7 +47,8 @@ const { use } = require('../app');
const updatedData = { ...req.body }; const updatedData = { ...req.body };
const updated = await User.updateOne( const updated = await User.updateOne(
{ _id: req.userId, "reservedTickets.show": updatedData.show }, { _id: req.userId, "reservedTickets.show": updatedData.show },
{$set : { {
$set: {
"reservedTickets.$.description": updatedData.description, "reservedTickets.$.description": updatedData.description,
"reservedTickets.$.tickets": updatedData.tickets, "reservedTickets.$.tickets": updatedData.tickets,
}, },
...@@ -59,6 +64,7 @@ const { use } = require('../app'); ...@@ -59,6 +64,7 @@ const { use } = require('../app');
res.status(400).json(error.errmsg); res.status(400).json(error.errmsg);
} }
} }
module.exports.about = module.exports.about =
(req, res) => res.render('about'); (req, res) => res.render('about');
......
const User = require('../models/user.model').model;
module.exports.home = (_,res) => res.redirect('/user.html');
module.exports.me =
async (req, res) => {
const user = await User.findById(req.userId);
console.log(user);
console.log(req.userId);
res.status(200).json({ name : user.name, admin : user.admin});
}
module.exports.update =
async (req,res) => {
const updatedData = { ...req.body };
console.log(updatedData);
const user = await User.findByIdAndUpdate(req.userId,
updatedData,
{ new : true });
console.log(user);
res.status(200).json({ description : user.description , message : 'mise à jour réussie'});
}
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>user profile</title> <title>user profile</title>
<link rel="stylesheet" type="text/css" href="../style/admin.css"/> <link rel="stylesheet" type="text/css" href="../style/admin.css"/>
<script defer src="../scripts/admin-bundle.js?c951f040e1da5516deac"></script></head> <script defer src="../scripts/admin-bundle.js?ab8bb90ca5febe20509b"></script></head>
<body> <body>
<h1>Application Showtime</h1> <h1>Application Showtime</h1>
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<div id="createShow"> <div id="createShow">
<input id="desc" type="text" placeholder="description"/> <input id="desc" type="text" placeholder="description"/>
<input id="place" type="number" placeholder="nombre de place" min="1" max="5" value="3" /> <input id="place" type="number" placeholder="nombre de place" min="1" max="5" />
<button id="create">Ajouter</button> <button id="create">Ajouter</button>
</div> </div>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>login/register</title> <title>login/register</title>
<link rel="stylesheet" type="text/css" href="../style/style.css"/> <link rel="stylesheet" type="text/css" href="../style/style.css"/>
<script defer src="../scripts/login-bundle.js?c951f040e1da5516deac"></script></head> <script defer src="../scripts/login-bundle.js?ab8bb90ca5febe20509b"></script></head>
<body> <body>
<h1>Application de partage</h1> <h1>Application de partage</h1>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>login/register</title> <title>login/register</title>
<link rel="stylesheet" type="text/css" href="../style/style.css"/> <link rel="stylesheet" type="text/css" href="../style/style.css"/>
<script defer src="../scripts/register-bundle.js?c951f040e1da5516deac"></script></head> <script defer src="../scripts/register-bundle.js?ab8bb90ca5febe20509b"></script></head>
<body> <body>
<h1>Identification</h1> <h1>Identification</h1>
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<title>user profile</title> <title>user profile</title>
<link rel="stylesheet" type="text/css" href="../style/style.css"/> <link rel="stylesheet" type="text/css" href="../style/style.css"/>
<script defer src="../scripts/user-bundle.js?c951f040e1da5516deac"></script></head> <script defer src="../scripts/user-bundle.js?ab8bb90ca5febe20509b"></script></head>
<body> <body>
<h1>Application Showtime</h1> <h1>Application Showtime</h1>
......
This diff is collapsed.
This diff is collapsed.
...@@ -20,7 +20,7 @@ body { ...@@ -20,7 +20,7 @@ body {
} }
#place { #place {
width : 50px; width : 100px;
text-align : right; text-align : right;
} }
......
...@@ -17,6 +17,9 @@ input { ...@@ -17,6 +17,9 @@ input {
text-align :center; text-align :center;
} }
#place {
width: 10px;
}
button { button {
padding : 3px; padding : 3px;
width : 100px; width : 100px;
...@@ -24,17 +27,20 @@ button { ...@@ -24,17 +27,20 @@ button {
font-weight : bold; font-weight : bold;
} }
#list div.shows { #shows, #tickets {
padding : 2px; margin : 10px;
margin : 1px 2px; padding : 4px;
border : solid thin #999;
} }
div.shows:nth-of-type(even) {
background-color: #EEE; #list, #shows {
padding : 2px;
margin : 4px 4px;
} }
.tickets { .tickets {
width : 50px; width : 50px;
color: red; color: green;
} }
#userdata { #userdata {
......
...@@ -8,7 +8,7 @@ const authMiddleware = require('../middlewares/authentication.middleware'); ...@@ -8,7 +8,7 @@ const authMiddleware = require('../middlewares/authentication.middleware');
router.get('/', adminController.home ); router.get('/', adminController.home );
router.get('/me', authMiddleware.validToken, adminController.me ); router.get('/me', authMiddleware.validToken, adminController.me );
router.get('/items', authMiddleware.validToken, adminController.list); router.get('/items', authMiddleware.validToken, adminController.list);
router.post('/new', authMiddleware.validToken, authMiddleware.isAdmin, adminController.create); router.post('/items', authMiddleware.validToken, authMiddleware.isAdmin, adminController.create);
router.delete('/:showId', authMiddleware.validToken, authMiddleware.isAdmin, adminController.deleteShow); router.delete('/:showId', authMiddleware.validToken, authMiddleware.isAdmin, adminController.deleteShow);
// router.put('/me', authMiddleware.validToken, adminController.update ); // router.put('/me', authMiddleware.validToken, adminController.update );
......
...@@ -9,9 +9,9 @@ const indexController = require('../controllers/index.controller'); ...@@ -9,9 +9,9 @@ const indexController = require('../controllers/index.controller');
router.get('/', authMiddleware.validToken, indexController.home ); router.get('/', authMiddleware.validToken, indexController.home );
router.get('/me', authMiddleware.validToken, indexController.me ); router.get('/me', authMiddleware.validToken, indexController.me );
router.get('/tickets', authMiddleware.validToken, indexController.listTickets);
router.put('/tickets', authMiddleware.validToken, indexController.update ); router.put('/tickets', authMiddleware.validToken, indexController.update );
router.delete('/:showId', authMiddleware.validToken, indexController.deleteTickets); router.delete('/:showId', authMiddleware.validToken, indexController.deleteTickets);
router.get('/tickets', authMiddleware.validToken, indexController.listTickets);
router.get('/items', authMiddleware.validToken, indexController.listShow); router.get('/items', authMiddleware.validToken, indexController.listShow);
router.get('/about', indexController.about ); router.get('/about', indexController.about );
router.get('/adminonly', authMiddleware.validToken, authMiddleware.isAdmin, indexController.adminonly ); router.get('/adminonly', authMiddleware.validToken, authMiddleware.isAdmin, indexController.adminonly );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment