Merge branch 'master' into dogsitters-finder

This commit is contained in:
Julya Shapaeva 2025-02-08 04:45:56 +03:00
commit f9b30a4cfd
15 changed files with 79 additions and 59 deletions

View File

@ -7,32 +7,63 @@ router.get("/users", (request, response) => {
router.post("/auth", (request, response) => { router.post("/auth", (request, response) => {
const { phoneNumber, password } = request.body; const { phoneNumber, password } = request.body;
console.log(phoneNumber, password); console.log(phoneNumber, password);
if (phoneNumber === "89999999999") { if (phoneNumber === "89999999999" || phoneNumber === "89559999999") {
response.send(require("./json/auth/dogsitter.success.json")); response.send(require("../json/auth/success.json"));
} else if (phoneNumber === "89555555555") {
response.status(400).send(require("./json/auth/error.json"));
} else { } else {
response.send(require("./json/auth/owner.success.json")); response.status(401).send(require("../json/auth/error.json"));
} }
}); });
router.post("/auth/2fa", (request, response) => { router.post("/auth/2fa", (request, response) => {
const { code } = request.body; const { phoneNumber, code } = request.body;
if (code === "0000") { if (code === "0000" && phoneNumber === "89999999999") {
response.send(require("./json/2fa/success.json")); response.send(require("../json/2fa/dogsitter.success.json"));
} else if (code === "0000" && phoneNumber === "89559999999") {
response.send(require("../json/2fa/owner.success.json"));
} else { } else {
response.status(400).send(require("./json/2fa/error.json")); response.status(401).send(require("../json/2fa/error.json"));
} }
}); });
router.post("/register", (request, response) => { router.post("/register", (request, response) => {
const { firstName, secondName, phoneNumber, password, role } = request.body; const { firstName, secondName, phoneNumber, password, role } = request.body;
console.log(phoneNumber, password, role); console.log(phoneNumber, password, role);
if (phoneNumber === "89283244141" || phoneNumber === "89872855893") { if (phoneNumber === "89999999999" || phoneNumber === "89559999999") {
response.status(400).send(require("./json/register/error.json")); response.status(401).send(require("../json/register/error.json"));
} else if (role === "dogsitter") { } else if (role === "dogsitter") {
response.send(require("./json/register/dogsitter.success.json")); response.send(require("../json/register/dogsitter.success.json"));
} else { } else {
response.send(require("./json/register/owner.success.json")); response.send(require("../json/register/owner.success.json"));
}
});
router.get("/auth/session", (request, response) => {
const authHeader = request.headers.authorization;
if (!authHeader) {
return response.status(401).json({ error: "Authorization header missing" });
}
// Берём сам токен из заголовка
const token = authHeader.split(" ")[1];
if (!token) {
return response.status(401).json({ error: "Bearer token missing" });
}
const jwt = require("jsonwebtoken");
const secretKey = "secret";
try {
const decoded = jwt.verify(token, secretKey);
if (decoded.role === "dogsitter") {
response.send(require("../json/role/dogsitter.success.json"));
} else {
response.send(require("../json/role/owner.success.json"));
}
} catch (e) {
console.log("token e:", e);
return response.status(403).json({ error: "Invalid token" });
} }
}); });

View File

@ -0,0 +1,3 @@
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MSwicm9sZSI6ImRvZ3NpdHRlciIsImlhdCI6MTUxNjIzOTAyMn0.7q66wTNyLZp3TGFYF_JdU-yhlWViJulTxP_PCQzO4OI"
}

View File

@ -1,4 +1,5 @@
{ {
"status": "error", "status": "error",
"message": "Invalid code." "message": "Invalid code",
"statusCode": 401
} }

View File

@ -0,0 +1,3 @@
{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Mywicm9sZSI6Im93bmVyIiwiaWF0IjoxNTE2MjM5MDIyfQ.sI9839YXveTpEWhdpr5QbCYllt6hHYO7NsrQDcrXZIQ"
}

View File

@ -1,4 +0,0 @@
{
"status": "success",
"message": "Two-factor authentication passed."
}

View File

@ -1,12 +0,0 @@
{
"data": {
"id": 1,
"phoneNumber": 89283244141,
"firstName": "Вася",
"secondName": "Пупкин",
"role": "dogsitter",
"location": "Россия, республика Татарстан, Казань, улица Пушкина, 12",
"price": 1500,
"aboutMe": "Я люблю собак"
}
}

View File

@ -1,3 +1,5 @@
{ {
"error": "Пользователь не найден" "message": "Неверный логин или пароль",
"error": "Unauthorized",
"statusCode": 401
} }

View File

@ -1,9 +0,0 @@
{
"data": {
"id": 3,
"phoneNumber": 89872855893,
"firstName": "Гадий",
"secondName": "Петрович",
"role": "owner"
}
}

View File

@ -0,0 +1,5 @@
{
"status": "success",
"message": "Первый фактор аутентификации пройден",
"statusCode": 200
}

View File

@ -1,12 +1,3 @@
{ {
"data": { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NSwicm9sZSI6ImRvZ3NpdHRlciIsImlhdCI6MTUxNjIzOTAyMn0.T9V3-f3rD1deA5a2J-tYNw0cACEpzKHbhMPkc7gh8c0"
"id": 5,
"phoneNumber": 89555555555,
"firstName": "Масяня",
"secondName": "Карлова",
"role": "dogsitter",
"location": "Россия, республика Татарстан, Казань, улица Пушкина, 12",
"price": 100,
"aboutMe": "Все на свете - собаки"
}
} }

View File

@ -1,3 +1,5 @@
{ {
"error": "Пользователь с таким номером телефона уже существует" "message": "Такой пользователь уже был зарегистрирован",
"error": "Unauthorized",
"statusCode": 401
} }

View File

@ -1,9 +1,3 @@
{ {
"data": { "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Niwicm9sZSI6Im93bmVyIiwiaWF0IjoxNTE2MjM5MDIyfQ.qgOhk9tNcaMRbarRWISTgvGx5Eq_X8fcA5lhdVs2tQI"
"id": 6,
"phoneNumber": 89888888888,
"firstName": "Генадий",
"secondName": "Паровозов",
"role": "owner"
}
} }

View File

@ -0,0 +1,4 @@
{
"id": 1,
"role": "dogsitter"
}

View File

@ -0,0 +1,5 @@
{
"message": "Неверный jwt token",
"error": "Forbidden",
"statusCode": 403
}

View File

@ -0,0 +1,4 @@
{
"id": 3,
"role": "owner"
}