diff --git a/package-lock.json b/package-lock.json
index b01b54f..f76a822 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -12,6 +12,7 @@
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^1.1.3",
+ "chart": "^0.1.2",
"chart.js": "^3.9.1",
"crypto-js": "^4.1.1",
"pg": "^8.8.0",
@@ -5597,6 +5598,16 @@
"node": ">=10"
}
},
+ "node_modules/chart": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/chart/-/chart-0.1.2.tgz",
+ "integrity": "sha512-MSiVzAd3qUEXv54k9KGe1oIoC7WG32W9wtjpovlTGlzo2ue/fRiHf7kJAK1zmD736jH/0fVWNCQLh41btfAEZQ==",
+ "dependencies": {
+ "hashish": "",
+ "hat": "",
+ "mrcolor": "https://github.com/rook2pawn/mrcolor/archive/master.tar.gz"
+ }
+ },
"node_modules/chart.js": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
@@ -5891,6 +5902,26 @@
"node": ">= 0.6"
}
},
+ "node_modules/cookie-parser": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz",
+ "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==",
+ "dependencies": {
+ "cookie": "0.4.1",
+ "cookie-signature": "1.0.6"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/cookie-parser/node_modules/cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
@@ -8552,6 +8583,25 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/hashish": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz",
+ "integrity": "sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA==",
+ "dependencies": {
+ "traverse": ">=0.2.4"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/hat": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz",
+ "integrity": "sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -11852,6 +11902,23 @@
"mkdirp": "bin/cmd.js"
}
},
+ "node_modules/mrcolor": {
+ "version": "0.0.1",
+ "resolved": "https://github.com/rook2pawn/mrcolor/archive/master.tar.gz",
+ "integrity": "sha512-feteSepg0FRp0fW3RafigAjU7gXiiaa4OlMW39FEmcvQPbD7Zlpc2PSu4hVBPSBR4XNee8n6EjCTfK0O37DL5A==",
+ "license": "MIT/X11",
+ "dependencies": {
+ "color-convert": "0.2.x"
+ }
+ },
+ "node_modules/mrcolor/node_modules/color-convert": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz",
+ "integrity": "sha512-FWbwpCgyRV41Vml0iKU9UmL0dVTKORnm7ZC8h8cdfvutk2bU7ZcMLtSleggScK/IpUVXILg9Pw86LhPUQyTaVg==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -15816,6 +15883,14 @@
"node": ">=8"
}
},
+ "node_modules/traverse": {
+ "version": "0.6.7",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
+ "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/tryer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
@@ -20982,6 +21057,16 @@
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="
},
+ "chart": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/chart/-/chart-0.1.2.tgz",
+ "integrity": "sha512-MSiVzAd3qUEXv54k9KGe1oIoC7WG32W9wtjpovlTGlzo2ue/fRiHf7kJAK1zmD736jH/0fVWNCQLh41btfAEZQ==",
+ "requires": {
+ "hashish": "",
+ "hat": "",
+ "mrcolor": "https://github.com/rook2pawn/mrcolor/archive/master.tar.gz"
+ }
+ },
"chart.js": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.9.1.tgz",
@@ -21213,6 +21298,22 @@
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
},
+ "cookie-parser": {
+ "version": "1.4.6",
+ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.6.tgz",
+ "integrity": "sha512-z3IzaNjdwUC2olLIB5/ITd0/setiaFMLYiZJle7xg5Fe9KWAceil7xszYfHHBtDFYLSgJduS2Ty0P1uJdPDJeA==",
+ "requires": {
+ "cookie": "0.4.1",
+ "cookie-signature": "1.0.6"
+ },
+ "dependencies": {
+ "cookie": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz",
+ "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA=="
+ }
+ }
+ },
"cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
@@ -23111,6 +23212,19 @@
"has-symbols": "^1.0.2"
}
},
+ "hashish": {
+ "version": "0.0.4",
+ "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz",
+ "integrity": "sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA==",
+ "requires": {
+ "traverse": ">=0.2.4"
+ }
+ },
+ "hat": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz",
+ "integrity": "sha512-zpImx2GoKXy42fVDSEad2BPKuSQdLcqsCYa48K3zHSzM/ugWuYjLDr8IXxpVuL7uCLHw56eaiLxCRthhOzf5ug=="
+ },
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -25505,6 +25619,20 @@
"minimist": "^1.2.6"
}
},
+ "mrcolor": {
+ "version": "https://github.com/rook2pawn/mrcolor/archive/master.tar.gz",
+ "integrity": "sha512-feteSepg0FRp0fW3RafigAjU7gXiiaa4OlMW39FEmcvQPbD7Zlpc2PSu4hVBPSBR4XNee8n6EjCTfK0O37DL5A==",
+ "requires": {
+ "color-convert": "0.2.x"
+ },
+ "dependencies": {
+ "color-convert": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz",
+ "integrity": "sha512-FWbwpCgyRV41Vml0iKU9UmL0dVTKORnm7ZC8h8cdfvutk2bU7ZcMLtSleggScK/IpUVXILg9Pw86LhPUQyTaVg=="
+ }
+ }
+ },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -28206,6 +28334,11 @@
"punycode": "^2.1.1"
}
},
+ "traverse": {
+ "version": "0.6.7",
+ "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz",
+ "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg=="
+ },
"tryer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
diff --git a/package.json b/package.json
index b5df2c0..c6a0687 100644
--- a/package.json
+++ b/package.json
@@ -7,6 +7,7 @@
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"axios": "^1.1.3",
+ "chart": "^0.1.2",
"chart.js": "^3.9.1",
"crypto-js": "^4.1.1",
"pg": "^8.8.0",
diff --git a/server-api/api.js b/server-api/api.js
index 8257a57..5edb389 100644
--- a/server-api/api.js
+++ b/server-api/api.js
@@ -72,6 +72,19 @@ app.get('/User/Auth/:login/:pwd', (req, res) => {
});
});
+app.get('/User/role/:login', (req, res) => {
+
+ const login = req.params.login;
+ let sql = 'SELECT idRole FROM users WHERE login = ?';
+
+ db.query(sql, [login], (err, result) => {
+ if (err) throw err;
+
+ console.log(result);
+ res.send(result);
+ });
+});
+
app.post('/User/Add', (req, res) => {
let form = req.body;
diff --git a/src/pages/Connexion.js b/src/pages/Connexion.js
index 4776347..010c294 100644
--- a/src/pages/Connexion.js
+++ b/src/pages/Connexion.js
@@ -2,6 +2,7 @@ import axios from 'axios'
import React, { useState } from 'react';
import CryptoJS from 'crypto-js';
import Admin from './Admin.js'
+import Dashboard from './Dashboard.js';
const api = axios.create({
baseURL: 'http://localhost:8080'
@@ -12,6 +13,7 @@ function Connexion() {
const [auth, setAuth] = useState("");
const [login, setLogin] = useState("");
const [password, setPassword] = useState("");
+ const [roleUser, setRole] = useState("");
function changeLogin(event) {
setLogin(event.target.value);
@@ -52,9 +54,22 @@ function Connexion() {
}
if (auth === "Succeed") {
- return(
-
- );
+ const apiString = '/User/role/' + login;
+ api.get(apiString).then((response) => {
+ const role = response.data;
+ console.log("Role: " + role[0].idRole);
+ console.log("longueur role: " + role.length);
+ if (role.length > 0){
+ setRole(role[0].idRole);
+ }
+ else
+ setRole(-1);
+ });
+ console.log("RoleUser: " + roleUser);
+ if (roleUser === 4)
+ return ();
+ else if (roleUser === 1)
+ return ();
}
else {
return (