fix naming

This commit is contained in:
2023-07-25 10:42:45 +07:00
parent a059bcb196
commit 883f501534
5 changed files with 4 additions and 4 deletions
-83
View File
@@ -1,83 +0,0 @@
const db = require("../models");
const config = require("../config/auth.config");
const User = db.user;
const Role = db.role;
const Op = db.Sequelize.Op;
const jwt = require("jsonwebtoken");
const bcrypt = require("bcryptjs");
exports.sign_up = (req, res) => {
User.create({
username: req.body.username,
email: req.body.email,
password: bcrypt.hashSync(req.body.password, 8)
})
.then(user => {
if (req.body.roles) {
Role.findAll({
where: {
name: {
[Op.or]: req.body.roles
}
}
}).then(roles => {
user.setRoles(roles).then(() => {
res.send({ message: "Регистрация пользователя прошла успешно" });
});
});
} else {
user.setRoles([1]).then(() => {
res.send({ message: "Регистрация пользователя прошла успешно" });
});
}
})
.catch(err => {
res.status(500).send({ message: err.message });
});
};
exports.sign_in = (req, res) => {
User.findOne({
where: {
username: req.body.username
}
})
.then(user => {
if (!user) {
return res.status(404).send({ message: "Пользователь не найден" });
}
const passwordIsValid = bcrypt.compareSync(
req.body.password,
user.password
);
if (!passwordIsValid) {
return res.status(401).send({
accessToken: null,
message: "Неправельный пароль"
});
}
const token = jwt.sign({ id: user.id },
config.secret,
{
algorithm: 'HS256',
allowInsecureKeySizes: true,
expiresIn: 86400,
});
let authorities = [];
user.getRoles().then(roles => {
for (let i = 0; i < roles.length; i++) {
authorities.push("ROLE_" + roles[i].name.toUpperCase());
}
res.status(200).send({
id: user.id,
username: user.username,
email: user.email,
roles: authorities,
accessToken: token
});
});
})
.catch(err => {
res.status(500).send({ message: err.message });
});
};
+21
View File
@@ -0,0 +1,21 @@
const { verifySignUp } = require("../middleware");
const controller = require("../services/auth.controller");
module.exports = function(app) {
app.use(function(req, res, next) {
res.header(
"Access-Control-Allow-Headers",
"x-access-token, Origin, Content-Type, Accept"
);
next();
});
app.post(
"/api/auth/sign_up",
[
verifySignUp.checkDuplicateUsernameOrEmail,
verifySignUp.checkRolesExisted
],
controller.sign_up
);
app.post("/api/auth/sign_in", controller.sign_in);
};
-15
View File
@@ -1,15 +0,0 @@
exports.allAccess = (req, res) => {
res.status(200).send("Это контент для всех");
};
exports.userBoard = (req, res) => {
res.status(200).send("Тут авторизоваться надо бы");
};
exports.adminBoard = (req, res) => {
res.status(200).send("Тут нужно быть аж админом");
};
exports.moderatorBoard = (req, res) => {
res.status(200).send("Ну а тут модером");
};
+28
View File
@@ -0,0 +1,28 @@
const { authJwt } = require("../middleware");
const controller = require("../services/user.controller");
module.exports = function(app) {
app.use(function(req, res, next) {
res.header(
"Access-Control-Allow-Headers",
"x-access-token, Origin, Content-Type, Accept"
);
next();
});
app.get("/api/get/all", controller.allAccess);
app.get(
"/api/get/user",
[authJwt.verifyToken],
controller.userBoard
);
app.get(
"/api/get/mod",
[authJwt.verifyToken, authJwt.isModerator],
controller.moderatorBoard
);
app.get(
"/api/get/admin",
[authJwt.verifyToken, authJwt.isAdmin],
controller.adminBoard
);
};