Skip to content

Commit

Permalink
backend username replaced to name and surname
Browse files Browse the repository at this point in the history
  • Loading branch information
mr-loop-1 committed Sep 5, 2024
1 parent b15b506 commit 9ea3db1
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 13 deletions.
5 changes: 4 additions & 1 deletion backend/migrations/20240422214219-create_users_table.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@ module.exports = {
primaryKey: true,
autoIncrement: true,
},
username: {
name: {
type: Sequelize.STRING(50),
allowNull: false,
},
surname: {
type: Sequelize.STRING(50),
},
email: {
type: Sequelize.STRING(100),
allowNull: false,
Expand Down
4 changes: 2 additions & 2 deletions backend/src/controllers/auth.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@ const { TOKEN_LIFESPAN } = require('../utils/constants');

const register = async (req, res) => {
try {
const { username, email, password } = req.body;
const { name, surname, email, password } = req.body;
const existingUser = await User.findOne({ where: { email } });
if (existingUser) return res.status(400).json({ error: "User already exists" });

const hashedPassword = await bcrypt.hash(password, 10);
const newUser = await User.create({ username, email, password: hashedPassword });
const newUser = await User.create({ name, surname, email, password: hashedPassword });
const token = generateToken({ id: newUser.id, email: newUser.email });

await Token.create({ token, userId: newUser.id, type: 'auth' });
Expand Down
19 changes: 14 additions & 5 deletions backend/src/controllers/user.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,18 @@ const getUsersList = async (req, res) => {

const { rows: users, count: totalUsers } = await User.findAndCountAll({
where: {
username: {
[Sequelize.Op.like]: `%${search}%`,
},
[Sequelize.Op.or]: [
{
name: {
[Sequelize.Op.like]: `%${search}%`,
},
},
{
surname: {
[Sequelize.Op.like]: `%${search}%`,
},
},
],
},
limit: parseInt(limit),
offset: parseInt(offset),
Expand All @@ -37,8 +46,8 @@ const getCurrentUser = async (req, res) => {
const userId = req.user.id;
const user = await User.findOne({ where: { id : userId } });
if (user){
const { username, email, role } = user;
return res.status(200).json({ user: { username, email, role } });
const { name, surname, email, role } = user;
return res.status(200).json({ user: { name, surname, email, role } });
}
else{
return res.status(400).json({ error: "User not found" });
Expand Down
5 changes: 4 additions & 1 deletion backend/src/models/User.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,13 @@ module.exports = (sequelize, DataTypes) => {
primaryKey: true,
autoIncrement: true,
},
username: {
name: {
type: DataTypes.STRING(50),
allowNull: false,
},
surname: {
type: DataTypes.STRING(50),
},
email: {
type: DataTypes.STRING(100),
allowNull: false,
Expand Down
7 changes: 3 additions & 4 deletions frontend/src/scenes/login/CreateAccountPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,14 @@ function CreateAccountPage() {

const handleSignUp = async () => {
const { name, surname, email, password } = formData;
const { isUsernameValid, isEmailValid, isPasswordValid } = validation;
const { isNameValid, isSurnameValid, isEmailValid, isPasswordValid } = validation;

if (!isUsernameValid || (surname && !isSurnameValid) || !isEmailValid || !isPasswordValid) {
if (!isNameValid || (surname && !isSurnameValid) || !isEmailValid || !isPasswordValid) {
alert('Please fill out the form correctly.');
return;
}

const username = surname ? (name + " " + surname) : name;
const userData = { username: username, email: email, password: password };
const userData = { name: name, surname: surname, email: email, password: password };

try {
const response = await signUp(userData);
Expand Down

0 comments on commit 9ea3db1

Please sign in to comment.