|
|
|
@@ -1,15 +1,54 @@
|
|
|
|
|
const router = require('express').Router();
|
|
|
|
|
const { ResultsModel } = require('./model/results')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
router.get('/getQuizResults/:userId', async (request, response) => {
|
|
|
|
|
const { userId } = request.params;
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
const results = await ResultsModel.findOne({ userId : userId }).exec();
|
|
|
|
|
|
|
|
|
|
if (!results) {
|
|
|
|
|
return response.status(404).send({ message: 'Quiz results not found' });
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
response.send(results.items);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
response.status(500).send({ message: 'An error occurred while fetching quiz results' });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
router.post('/addQuizResult', async (request, response) => {
|
|
|
|
|
const { userId, quizId, result } = request.body;
|
|
|
|
|
|
|
|
|
|
if (!userId || !quizId || !result) {
|
|
|
|
|
return response.status(400).send({ message: 'Invalid input data' });
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
let userResults = await ResultsModel.findOne({ userId : userId }).exec();
|
|
|
|
|
if (!userResults) {
|
|
|
|
|
userResults = new ResultsModel({ userId, items: [] });
|
|
|
|
|
}
|
|
|
|
|
userResults.items.push({ quizId, result });
|
|
|
|
|
await userResults.save();
|
|
|
|
|
|
|
|
|
|
response.status(200).send({ message: 'Quiz result added successfully', data: userResults });
|
|
|
|
|
} catch (error) {
|
|
|
|
|
response.status(500).send({ message: 'An error occurred while adding quiz result' });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// First page
|
|
|
|
|
router.get('/getInfoAboutKazan', (request, response) => {
|
|
|
|
|
const lang = request.query.lang || 'ru'; // Получаем язык из параметров запроса
|
|
|
|
|
const lang = request.query.lang || 'ru';
|
|
|
|
|
try {
|
|
|
|
|
const data = require('./json/first/info-about-kazan/success.json'); // Загружаем весь JSON
|
|
|
|
|
const translatedData = data[lang] || data['ru']; // Выбираем перевод по языку или дефолтный
|
|
|
|
|
response.send(translatedData); // Отправляем перевод клиенту
|
|
|
|
|
const data = require('./json/first/info-about-kazan/success.json');
|
|
|
|
|
const translatedData = data[lang] || data['ru'];
|
|
|
|
|
response.send(translatedData);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
response.status(500).send({ message: 'Internal server error' }); // Ошибка в случае проблем с JSON
|
|
|
|
|
response.status(500).send({ message: 'Internal server error' });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
@@ -25,13 +64,13 @@ router.get('/getNews', (request, response) => {
|
|
|
|
|
|
|
|
|
|
// Sport page
|
|
|
|
|
router.get('/getFirstText', (request, response) => {
|
|
|
|
|
const lang = request.query.lang || 'ru'; // Получаем язык из параметров
|
|
|
|
|
const lang = request.query.lang || 'ru';
|
|
|
|
|
try {
|
|
|
|
|
const data = require('./json/sport/first-text/success.json'); // Загружаем JSON
|
|
|
|
|
const translatedData = data[lang] || data['ru']; // Берём перевод или дефолтный
|
|
|
|
|
const data = require('./json/sport/first-text/success.json');
|
|
|
|
|
const translatedData = data[lang] || data['ru'];
|
|
|
|
|
response.send(translatedData);
|
|
|
|
|
} catch (error) {
|
|
|
|
|
response.status(404).send({ message: 'Language not found' }); // Обработка ошибки
|
|
|
|
|
response.status(404).send({ message: 'Language not found' });
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|