[feat][refactor] add events and edit users
This commit is contained in:
@@ -1,113 +1,233 @@
|
||||
[
|
||||
{
|
||||
"id": 1252744945,
|
||||
"username": "Иван Иванов",
|
||||
"photo": "https://example.com/photos/1.jpg",
|
||||
"about": "Разработчик с 10-летним стажем, увлекаюсь новыми технологиями.",
|
||||
"email": "ivan.ivanov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Новые технологии, ИИ, техника", "label": "Новые технологии, ИИ, техника" },
|
||||
{ "value": "Музыка", "label": "Музыка" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"username": "Мария Смирнова",
|
||||
"photo": "https://example.com/photos/2.jpg",
|
||||
"about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
|
||||
"email": "maria.smirnova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" },
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"username": "Алексей Кузнецов",
|
||||
"photo": "https://example.com/photos/3.jpg",
|
||||
"about": "Финансовый аналитик, интересуюсь инвестициями и рынками.",
|
||||
"email": "aleksey.kuznetsov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Политика, социология, активизм и дебаты", "label": "Политика, социология, активизм и дебаты" },
|
||||
{ "value": "Математика, физика и информатика", "label": "Математика, физика и информатика" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"username": "Ольга Петрова",
|
||||
"photo": "https://example.com/photos/4.jpg",
|
||||
"about": "Дизайнер интерьеров, люблю создавать уютные и стильные пространства.",
|
||||
"email": "olga.petrovna@example.com",
|
||||
"interests": [
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
|
||||
{ "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"username": "Дмитрий Сидоров",
|
||||
"photo": "https://example.com/photos/5.jpg",
|
||||
"about": "Тренер по фитнесу, придерживаюсь здорового образа жизни.",
|
||||
"email": "dmitriy.sidorov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" },
|
||||
{ "value": "Волонтерство и благотворительность", "label": "Волонтерство и благотворительность" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"username": "Елена Волкова",
|
||||
"photo": "https://example.com/photos/6.jpg",
|
||||
"about": "Психолог, занимаюсь личностным ростом и развитием.",
|
||||
"email": "elena.volkova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Психология и психическое здоровье", "label": "Психология и психическое здоровье" },
|
||||
{ "value": "Литература и история", "label": "Литература и история" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"username": "Артем Морозов",
|
||||
"photo": "https://example.com/photos/7.jpg",
|
||||
"about": "Ведущий мероприятий и организатор, люблю работать с людьми.",
|
||||
"email": "artem.morozov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Настольные игры", "label": "Настольные игры" },
|
||||
{ "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"username": "Ирина Фёдорова",
|
||||
"photo": "https://example.com/photos/8.jpg",
|
||||
"about": "Веду блог о моде и стиле, увлекаюсь новыми трендами.",
|
||||
"email": "irina.fedorova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Мода", "label": "Мода" },
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"username": "Сергей Чернов",
|
||||
"photo": "https://example.com/photos/9.jpg",
|
||||
"about": "Разработчик мобильных приложений, увлекаюсь игровыми технологиями.",
|
||||
"email": "sergey.chernov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Соревновательные видеоигры", "label": "Соревновательные видеоигры" },
|
||||
{ "value": "Новые технологии, ИИ, техника", "label": "Новые технологии, ИИ, техника" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"username": "Татьяна Лебедева",
|
||||
"photo": "https://example.com/photos/10.jpg",
|
||||
"about": "Работаю в области маркетинга, увлекаюсь продвижением брендов.",
|
||||
"email": "tatyana.lebedeva@example.com",
|
||||
"interests": [
|
||||
{ "value": "Маркетинг", "label": "Маркетинг" },
|
||||
{ "value": "Литература и история", "label": "Литература и история" }
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
{
|
||||
"id": 1,
|
||||
"username": "Иван Иванов",
|
||||
"photo": "https://i.pravatar.cc/150?img=64",
|
||||
"about": "Разработчик с 10-летним стажем, увлекаюсь новыми технологиями.",
|
||||
"email": "ivan.ivanov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Новые технологии, ИИ, техника", "label": "Новые технологии, ИИ, техника" },
|
||||
{ "value": "Музыка", "label": "Музыка" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"username": "Мария Смирнова",
|
||||
"photo": "https://i.pravatar.cc/150?img=47",
|
||||
"about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
|
||||
"email": "maria.smirnova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" },
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"username": "Алексей Кузнецов",
|
||||
"photo": "https://i.pravatar.cc/150?img=68",
|
||||
"about": "Финансовый аналитик, интересуюсь инвестициями и рынками.",
|
||||
"email": "aleksey.kuznetsov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Политика, социология, активизм и дебаты", "label": "Политика, социология, активизм и дебаты" },
|
||||
{ "value": "Математика, физика и информатика", "label": "Математика, физика и информатика" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"username": "Ольга Петрова",
|
||||
"photo": "https://i.pravatar.cc/150?img=49",
|
||||
"about": "Дизайнер интерьеров, люблю создавать уютные и стильные пространства.",
|
||||
"email": "olga.petrovna@example.com",
|
||||
"interests": [
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
|
||||
{ "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"username": "Дмитрий Сидоров",
|
||||
"photo": "https://i.pravatar.cc/150?img=60",
|
||||
"about": "Тренер по фитнесу, придерживаюсь здорового образа жизни.",
|
||||
"email": "dmitriy.sidorov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" },
|
||||
{ "value": "Волонтерство и благотворительность", "label": "Волонтерство и благотворительность" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"username": "Елена Волкова",
|
||||
"photo": "https://i.pravatar.cc/150?img=42",
|
||||
"about": "Психолог, занимаюсь личностным ростом и развитием.",
|
||||
"email": "elena.volkova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Психология и психическое здоровье", "label": "Психология и психическое здоровье" },
|
||||
{ "value": "Литература и история", "label": "Литература и история" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"username": "Артем Морозов",
|
||||
"photo": "https://i.pravatar.cc/150?img=69",
|
||||
"about": "Ведущий мероприятий и организатор, люблю работать с людьми.",
|
||||
"email": "artem.morozov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Настольные игры", "label": "Настольные игры" },
|
||||
{ "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"username": "Ирина Фёдорова",
|
||||
"photo": "https://i.pravatar.cc/150?img=48",
|
||||
"about": "Веду блог о моде и стиле, увлекаюсь новыми трендами.",
|
||||
"email": "irina.fedorova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Мода", "label": "Мода" },
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"username": "Сергей Чернов",
|
||||
"photo": "https://i.pravatar.cc/150?img=65",
|
||||
"about": "Разработчик мобильных приложений, увлекаюсь игровыми технологиями.",
|
||||
"email": "sergey.chernov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Соревновательные видеоигры", "label": "Соревновательные видеоигры" },
|
||||
{ "value": "Новые технологии, ИИ, техника", "label": "Новые технологии, ИИ, техника" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"username": "Татьяна Лебедева",
|
||||
"photo": "https://i.pravatar.cc/150?img=50",
|
||||
"about": "Работаю в области маркетинга, увлекаюсь продвижением брендов.",
|
||||
"email": "tatyana.lebedeva@example.com",
|
||||
"interests": [
|
||||
{ "value": "Маркетинг", "label": "Маркетинг" },
|
||||
{ "value": "Литература и история", "label": "Литература и история" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"username": "Андрей Васильев",
|
||||
"photo": "https://i.pravatar.cc/150?img=70",
|
||||
"about": "Инженер-программист, увлекаюсь разработкой игр и виртуальной реальностью.",
|
||||
"email": "andrey.vasilyev@example.com",
|
||||
"interests": [
|
||||
{ "value": "Разработка игр", "label": "Разработка игр" },
|
||||
{ "value": "Виртуальная реальность", "label": "Виртуальная реальность" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"username": "Наталья Козлова",
|
||||
"photo": "https://i.pravatar.cc/150?img=51",
|
||||
"about": "Преподаватель литературы, люблю поэзию и классическую литературу.",
|
||||
"email": "natalya.kozlova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Литература и история", "label": "Литература и история" },
|
||||
{ "value": "Образование и наука", "label": "Образование и наука" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"username": "Павел Новиков",
|
||||
"photo": "https://i.pravatar.cc/150?img=71",
|
||||
"about": "Спортсмен, занимаюсь бегом и триатлоном.",
|
||||
"email": "pavel.novikov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" },
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"username": "Екатерина Михайлова",
|
||||
"photo": "https://i.pravatar.cc/150?img=52",
|
||||
"about": "Архитектор, увлекаюсь современным дизайном и урбанистикой.",
|
||||
"email": "ekaterina.mikhailova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
|
||||
{ "value": "Урбанистика", "label": "Урбанистика" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"username": "Виктор Соколов",
|
||||
"photo": "https://i.pravatar.cc/150?img=72",
|
||||
"about": "Бизнес-консультант, помогаю компаниям развиваться.",
|
||||
"email": "viktor.sokolov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Бизнес и предпринимательство", "label": "Бизнес и предпринимательство" },
|
||||
{ "value": "Политика, социология, активизм и дебаты", "label": "Политика, социология, активизм и дебаты" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"username": "Анна Павлова",
|
||||
"photo": "https://i.pravatar.cc/150?img=53",
|
||||
"about": "Художник, работаю в стиле абстракционизма.",
|
||||
"email": "anna.pavlova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" },
|
||||
{ "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"username": "Денис Иванов",
|
||||
"photo": "https://i.pravatar.cc/150?img=73",
|
||||
"about": "Ученый, занимаюсь исследованиями в области биотехнологий.",
|
||||
"email": "denis.ivanov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Биология и биотехнологии", "label": "Биология и биотехнологии" },
|
||||
{ "value": "Образование и наука", "label": "Образование и наука" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"username": "Людмила Кузнецова",
|
||||
"photo": "https://i.pravatar.cc/150?img=54",
|
||||
"about": "Повар, специализируюсь на авторской кухне.",
|
||||
"email": "lyudmila.kuznetsova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Кулинария", "label": "Кулинария" },
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"username": "Григорий Петров",
|
||||
"photo": "https://i.pravatar.cc/150?img=74",
|
||||
"about": "Музыкант, играю на гитаре и пишу песни.",
|
||||
"email": "grigoriy.petrov@example.com",
|
||||
"interests": [
|
||||
{ "value": "Музыка", "label": "Музыка" },
|
||||
{ "value": "Кино и другое многомодальное искусство", "label": "Кино и другое многомодальное искусство" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"username": "Валентина Семенова",
|
||||
"photo": "https://i.pravatar.cc/150?img=55",
|
||||
"about": "Врач, специализируюсь на профилактической медицине.",
|
||||
"email": "valentina.semenova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Медицина и здоровье", "label": "Медицина и здоровье" },
|
||||
{ "value": "Спорт, фитнес и ЗОЖ", "label": "Спорт, фитнес и ЗОЖ" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1252744945,
|
||||
"username": "Моряков Сергей",
|
||||
"photo": "https://i.pravatar.cc/150?img=50",
|
||||
"about": "Люблю путешествия и фотографию, обожаю изучать новые культуры.",
|
||||
"email": "maria.smirnova@example.com",
|
||||
"interests": [
|
||||
{ "value": "Путешествия и туризм", "label": "Путешествия и туризм" },
|
||||
{ "value": "Искусство, фотография и дизайн", "label": "Искусство, фотография и дизайн" }
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -5,35 +5,44 @@ module.exports = router;
|
||||
const data = require('./data/users.json');
|
||||
|
||||
router.get('/', (req, res) => {
|
||||
//res.status(500).send({
|
||||
// message: 'Internal server error'
|
||||
//});
|
||||
res.json(data)
|
||||
res.json(data);
|
||||
});
|
||||
|
||||
router.get('/:pageSize/:page', (req, res) => {
|
||||
const pageSize = parseInt(req.params.pageSize);
|
||||
const page = parseInt(req.params.page);
|
||||
res.json(data.slice(pageSize * (page - 1), pageSize * page));
|
||||
});
|
||||
|
||||
router.get('/:id', (req, res) => {
|
||||
//res.status(500).send({
|
||||
// message: 'Internal server error'
|
||||
//});
|
||||
const userId = parseInt(req.params.id);
|
||||
res.json(data.find(item => item.id = userId));
|
||||
const userId = parseInt(req.params.id);
|
||||
res.json(data.find((item) => item.id === userId));
|
||||
});
|
||||
|
||||
router.post('/', (req, res) => {
|
||||
//res.status(500).send({
|
||||
// message: 'Internal server error'
|
||||
//});
|
||||
const data = req.body;
|
||||
res.status(201).send();
|
||||
});
|
||||
|
||||
router.post('/:to_id/:action/:from_id', (req, res) => {
|
||||
const to_id = parseInt(req.params.to_id);
|
||||
const from_id = parseInt(req.params.from_id);
|
||||
const action = req.params.action;
|
||||
if (data.findIndex((item) => item.id === to_id) === -1 || data.findIndex((item) => item.id === from_id) === -1) {
|
||||
res.status(404).send();
|
||||
return;
|
||||
}
|
||||
if (action !== 'like' && action !== 'dislike') {
|
||||
res.status(400).send({ error: 'Invalid action' });
|
||||
return;
|
||||
}
|
||||
|
||||
res.status(200).send();
|
||||
res.status(201).send({ message: `${action} action processed` });
|
||||
});
|
||||
|
||||
router.put('/:id', (req, res) => {
|
||||
//res.status(500).send({
|
||||
// message: 'Internal server error'
|
||||
//});
|
||||
const userId = parseInt(req.params.id);
|
||||
const data = req.body;
|
||||
res.status(200).send();
|
||||
});
|
||||
res.status(204).send();
|
||||
});
|
||||
|
||||
router.delete('/:id', (req, res) => {
|
||||
res.status(204).send();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user