5 Commits

Author SHA1 Message Date
Nikolai Petukhov
ff9bd3ac8c 0.5.0 2024-10-12 12:24:16 +03:00
Nikolai Petukhov
51618c8858 small changes 2024-10-12 12:23:25 +03:00
Nikolai Petukhov
54f6c5c053 config fix 2024-10-12 11:39:17 +03:00
Nikolai Petukhov
8fecf7cb1f I have added intervals for messages 2024-10-11 13:39:15 +03:00
Nikolai Petukhov
49a8af611f done 2024-10-10 12:03:37 +03:00
10 changed files with 22 additions and 29 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "enterfront", "name": "enterfront",
"version": "0.4.0", "version": "0.5.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "enterfront", "name": "enterfront",
"version": "0.4.0", "version": "0.5.0",
"dependencies": { "dependencies": {
"@brojs/cli": "^1.0.0", "@brojs/cli": "^1.0.0",
"@brojs/create": "^1.0.0", "@brojs/create": "^1.0.0",

View File

@@ -29,5 +29,5 @@
"clean": "rimraf dist" "clean": "rimraf dist"
}, },
"name": "enterfront", "name": "enterfront",
"version": "0.4.0" "version": "0.5.0"
} }

View File

@@ -1,10 +1,10 @@
import {getConfigValue} from "@brojs/cli"; import {getConfigValue} from "@brojs/cli";
const LOCAL = "http://localhost:8099" + getConfigValue("enterfront.api"); const LOCAL = "http://localhost:8099";
const DEV = "https://dev.bro-js.ru/ms/epja-2024-01/enterfront"; const DEV = "https://dev.bro-js.ru";
export const BASE_API_URL = DEV; export const BASE_API_URL = LOCAL + getConfigValue("enterfront.api");
// fetch(`${BASE_API_URL}/books/list`) // fetch(`${BASE_API_URL}/books/list`)

View File

@@ -116,7 +116,12 @@ const Chat = () => {
}, []); }, []);
useEffect(() => { useEffect(() => {
retrieveMessages().then(); // retrieveMessages().then();
const interval = setInterval(() => {
retrieveMessages().then()
}, 2000);
return () => clearInterval(interval)
}, [myId, interlocutorId]); }, [myId, interlocutorId]);
useEffect(() => { useEffect(() => {

View File

@@ -3,8 +3,7 @@ const authRouter = require('express').Router();
// For creating tokens // For creating tokens
const jwt = require('jsonwebtoken'); const jwt = require('jsonwebtoken');
require('dotenv').config(); const { TOKEN_KEY } = require('../key')
const TOKEN_KEY = process.env.TOKEN_KEY;
module.exports = authRouter; module.exports = authRouter;
@@ -15,7 +14,6 @@ const { addUserToDB, getUserFromDB } = require('../db');
// Get a user by its id // Get a user by its id
authRouter.get('/:id', (req, res) => { authRouter.get('/:id', (req, res) => {
const user = getUserFromDB(req.params.id); const user = getUserFromDB(req.params.id);
console.log("Request get in /auth:", req.params.id);
if (user) { if (user) {
res.status(200).send({user}); res.status(200).send({user});
@@ -27,7 +25,6 @@ authRouter.get('/:id', (req, res) => {
// For login (authorization) // For login (authorization)
authRouter.post('/login', (req, res) => { authRouter.post('/login', (req, res) => {
const { name, password } = req.body; const { name, password } = req.body;
console.log("Request login in /auth:", name);
const user = getUserFromDB(name); const user = getUserFromDB(name);
@@ -54,7 +51,6 @@ authRouter.post('/login', (req, res) => {
authRouter.post('/reg', (req, res) => { authRouter.post('/reg', (req, res) => {
const { name, password, nickname } = req.body; const { name, password, nickname } = req.body;
console.log("Request reg in /auth:", name);
const user = getUserFromDB(name); const user = getUserFromDB(name);

View File

@@ -2,14 +2,11 @@ const changeRouter = require('express').Router();
module.exports = changeRouter; module.exports = changeRouter;
const { users, getUserFromDB, deleteUserFromDB, addUserToDB } = require('../db'); const { getUserFromDB, deleteUserFromDB, addUserToDB } = require('../db');
const jwt = require("jsonwebtoken");
changeRouter.post('/nickname', (req, res) => { changeRouter.post('/nickname', (req, res) => {
const { id, newNickname } = req.body; const { id, newNickname } = req.body;
console.log("Request nickname in /change:", id);
const user = getUserFromDB(id); const user = getUserFromDB(id);
@@ -36,7 +33,6 @@ changeRouter.post('/nickname', (req, res) => {
changeRouter.post('/password', (req, res) => { changeRouter.post('/password', (req, res) => {
const { id, newPassword } = req.body; const { id, newPassword } = req.body;
console.log("Request password in /change:", id);
const user = getUserFromDB(id); const user = getUserFromDB(id);
@@ -62,7 +58,6 @@ changeRouter.post('/password', (req, res) => {
changeRouter.delete('/:id', (req, res) => { changeRouter.delete('/:id', (req, res) => {
const { id } = req.params; const { id } = req.params;
console.log("Request delete in /change:", id);
deleteUserFromDB(id); deleteUserFromDB(id);
}); });

View File

@@ -7,7 +7,6 @@ const { getChatFromDB, getUsersChats, addChatToDB, getUserFromDB,
chatRouter.get('/item/:id1/:id2', (req, res) => { chatRouter.get('/item/:id1/:id2', (req, res) => {
const { id1, id2 } = req.params; const { id1, id2 } = req.params;
console.log("Request get in /chat:", id1, id2);
if (id1 === id2) { if (id1 === id2) {
res.status(400).send({message: 'Ids should be different'}); res.status(400).send({message: 'Ids should be different'});
@@ -25,7 +24,6 @@ chatRouter.get('/item/:id1/:id2', (req, res) => {
chatRouter.post('/item/:id1/:id2', (req, res) => { chatRouter.post('/item/:id1/:id2', (req, res) => {
const { id1, id2 } = req.params; const { id1, id2 } = req.params;
console.log("Request post in /chat:", id1, id2);
if (id1 === id2) { if (id1 === id2) {
res.status(400).send({message: 'Ids should be different'}); res.status(400).send({message: 'Ids should be different'});
@@ -58,8 +56,6 @@ chatRouter.post('/item/:id1/:id2', (req, res) => {
chatRouter.get('/list/:id', (req, res) => { chatRouter.get('/list/:id', (req, res) => {
const { id } = req.params; const { id } = req.params;
console.log("Request get /list in /chat:", id);
const userChats = getUsersChats(id); const userChats = getUsersChats(id);
if (!userChats) { if (!userChats) {
@@ -72,7 +68,6 @@ chatRouter.get('/list/:id', (req, res) => {
chatRouter.post('/message/:sender/:receiver', (req, res) => { chatRouter.post('/message/:sender/:receiver', (req, res) => {
const { sender, receiver } = req.params; const { sender, receiver } = req.params;
const { message } = req.body; const { message } = req.body;
console.log("Request post /message in /chat:", sender, receiver, message);
const chat = getChatFromDB(sender, receiver); const chat = getChatFromDB(sender, receiver);

View File

@@ -12,6 +12,6 @@ module.exports = router;
// router.use(delay(300)); // router.use(delay(300));
// router.use('/books', delay, booksRouter); // router.use('/books', delay, booksRouter);
router.use('/enterfront/auth', authRouter); router.use('/auth', authRouter);
router.use('/enterfront/change', verify, changeRouter); router.use('/change', verify, changeRouter);
router.use('/enterfront/chat', verify, chatRouter) router.use('/chat', verify, chatRouter)

3
stubs/api/key.js Normal file
View File

@@ -0,0 +1,3 @@
const TOKEN_KEY = '5frv12e4few3r';
module.exports = { TOKEN_KEY }

View File

@@ -1,13 +1,12 @@
const jwt = require('jsonwebtoken'); const jwt = require('jsonwebtoken');
require('dotenv').config(); const { TOKEN_KEY } = require('../key')
const TOKEN_KEY = process.env.TOKEN_KEY;
function verifyToken(req, res, next) { function verifyToken(req, res, next) {
const token = req.headers['authorization']?.split(' ')[1]; const token = req.headers['authorization']?.split(' ')[1];
if (!token) { if (!token) {
return res.status(403).send({ message: 'No token provided' }); return res.status(401).send({ message: 'No token provided' });
} }
// Verify token // Verify token