Skip to content

Commit

Permalink
check username in backend ; redo dashboard and navigation
Browse files Browse the repository at this point in the history
Check name of register to username and check for duplicates; adding dashboard to upper menu for accessibility; change hirearchy to homepage-> menu page -> other contents; show username instead of id in the project/performance shared list
  • Loading branch information
KristinShuyiHan committed Oct 4, 2023
1 parent 19a53af commit 852f8da
Show file tree
Hide file tree
Showing 14 changed files with 389 additions and 266 deletions.
44 changes: 34 additions & 10 deletions src/backend/routes/auth.js
Original file line number Diff line number Diff line change
Expand Up @@ -89,19 +89,43 @@ router.post("/register", (req, res) => {
error: "Password length must be atleast 6 character long"
});
} else {
name = name.trim();
password = password.trim();
email = email.trim();
const hash_password = bcrypt.hashSync(password, saltRounds);
const CREATE_NEW_USER = `INSERT INTO users(name,password,email) values('${name}','${hash_password}','${email}')`;
const CHECK_NAME_QUERY = `SELECT * from users WHERE name = ${'"' + name + '"'} `;

if (database == "mysql") {
connection.query(CREATE_NEW_USER, (err, results) => {
res.json(handleRegister(err, results.insertId, name));
connection.query(CHECK_NAME_QUERY, (err, results) => {
if (results && results.length > 0) {
res.json({ error: "Username already exists. Please choose a different username." });
} else {
// Your user creation code starts here
name = name.trim();
password = password.trim();
email = email.trim();
const hash_password = bcrypt.hashSync(password, saltRounds);
const CREATE_NEW_USER = `INSERT INTO users(name,password,email) values('${name}','${hash_password}','${email}')`;

connection.query(CREATE_NEW_USER, (err, results) => {
res.json(handleRegister(err, results.insertId, name));
});
// Your user creation code ends here
}
});
} else if (database == "sqlite") {
connection.run(CREATE_NEW_USER, function(err) {
res.json(handleRegister(err, this.lastID, name));
connection.all(CHECK_NAME_QUERY, [], (err, results) => {
if (results && results.length > 0) {
res.json({ error: "Username already exists. Please choose a different username." });
} else {
// Your user creation code starts here
name = name.trim();
password = password.trim();
email = email.trim();
const hash_password = bcrypt.hashSync(password, saltRounds);
const CREATE_NEW_USER = `INSERT INTO users(name,password,email) values('${name}','${hash_password}','${email}')`;

connection.run(CREATE_NEW_USER, function(err) {
res.json(handleRegister(err, this.lastID, name));
});
// Your user creation code ends here
}
});
}
}
Expand Down Expand Up @@ -199,4 +223,4 @@ router.patch("/edit_user", function(req, res) {
});
});

module.exports = router;
module.exports = router;
4 changes: 2 additions & 2 deletions src/backend/routes/projects.js
Original file line number Diff line number Diff line change
Expand Up @@ -336,9 +336,9 @@ router.patch("/remove", (req, res) => {
});

router.patch("/addShare", (req, res) => {
const { userId, projectId, userEmail } = req.body;
const { userName, projectId, userEmail } = req.body;
let QUERY;
if (userId) QUERY = `select * from users WHERE user_id = ${userId}`;
if (userName) QUERY = `select * from users WHERE name = '${userName}'`;
else QUERY = `select * from users WHERE email = '${userEmail}'`;
if (database == "mysql") {
connection.query(QUERY, (err, users) => {
Expand Down
5 changes: 3 additions & 2 deletions src/database/create-soundcool-db.sql
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,8 @@ CREATE TABLE `users` (
`password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`email` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
PRIMARY KEY (`user_id`),
UNIQUE KEY `email` (`email`)
UNIQUE KEY `email` (`email`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=102 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

Expand All @@ -157,4 +158,4 @@ UNLOCK TABLES;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2020-04-18 13:39:05
-- Dump completed on 2020-04-18 13:39:05
4 changes: 2 additions & 2 deletions src/frontend/src/App.css
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ address {
}

.btn-secondary {
background-color: blue;
border-color: blue;
background-color: none;
border-color: none;
}

body {
Expand Down
17 changes: 13 additions & 4 deletions src/frontend/src/components/header/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,24 @@ class Header extends Component {
</NavLink>
</NavItem>
<NavItem>
<NavLink className="nav-link" to="/projects">
<span className="fa fa-project-diagram " /> Projects
<NavLink className="nav-link" to="/dashboard">
<span className="fas fa-columns" /> Dashboard
</NavLink>
</NavItem>
{isUserLoggedIn() && (

<NavItem>
<NavLink className="nav-link" to="/projectsList">
<span className="fa fa-project-diagram" /> Projects
</NavLink>
</NavItem>
)}

{isUserLoggedIn() && (

<NavItem>
<NavLink className="nav-link" to="/sounds">
<span className="fa fa-list " /> Sounds
<NavLink className="nav-link" to="/medias">
<span className="fa fa-list " /> Media
</NavLink>
</NavItem>
)}
Expand Down
6 changes: 3 additions & 3 deletions src/frontend/src/components/login/actions.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ export const loginUser = payload => {
const url = loginUrl();
return postRequest(url, payload);
};
export const redirectToHome = () => {
window.location = "/home";
};
export const redirectToDashboard = () => {
window.location = "/dashboard";
};
2 changes: 1 addition & 1 deletion src/frontend/src/components/login/form.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,4 @@ class LoginForm extends React.Component {
);
}
}
export default LoginForm;
export default LoginForm;
4 changes: 2 additions & 2 deletions src/frontend/src/components/login/index.jsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from "react";
import { Breadcrumb, BreadcrumbItem } from "reactstrap";
import { redirectToHome } from "./actions";
import { redirectToDashboard } from "./actions";
import { Link } from "react-router-dom";
import { showToastr, showToastrError } from "../../actions/common";
import LoginForm from "./form";
Expand All @@ -22,7 +22,7 @@ class Login extends React.Component {
cookies.set("token", token, { path: '/' });
localStorage.setItem('user_id', user_id);
localStorage.setItem('userName',name);
redirectToHome();
redirectToDashboard();
}
};

Expand Down
Loading

0 comments on commit 852f8da

Please sign in to comment.