multy-stub/server/routers/kfu-m-24-1/eng-it-lean/users/index.js
Ruslan Zagitov ea80304c21 fix: /users
2025-02-07 00:08:03 +03:00

54 lines
1.4 KiB
JavaScript

const router = require('express').Router();
const fs = require('fs');
module.exports = router;
let data = require('./users.json');
const path = require('path');
router.get('/', (req, res) => {
res.send(data);
});
router.post('/', (req, res) => {
const newUser = req.body;
data.push(newUser);
fs.writeFileSync(path.join(__dirname, 'users.json'), JSON.stringify(data));
res.send(data);
});
router.post('/login', (req, res) => {
const { email, password } = req.body;
const user = data.find((user) => user.email === email && user.password === password);
if (!user) {
res.status(404).send('Пользователь не найден');
}
res.json({ public_id: user.public_id });
});
router.get('/account', (req, res) => {
const { public_id } = req.query;
const user = data.find((user) => user.public_id == public_id);
if (!user) {
res.status(404).send('Пользователь не найден');
}
res.send({ ...user, id: -1 });
});
router.post('/account/save', (req, res) => {
const updatedUser = req.body;
const { public_id } = updatedUser;
const index = data.findIndex((user) => user.public_id == public_id);
if (!index || index === -1) {
res.status(404).send('Пользователь не найден');
}
data[index] = { ...data[index], ...updatedUser, id: data[index].id, password: data[index].password };
fs.writeFileSync(path.join(__dirname, 'users.json'), JSON.stringify(data));
res.status(200);
});