CampFirePlay/server.js
Degradin e58bde22bc v5.9
Menu Button Prifile
2025-01-16 11:27:56 +03:00

49 lines
1.8 KiB
JavaScript

const express = require('express');
const { UserModel, CharacterModel, BusinessModel, EnterpriseModel } = global.config;
const app = express();
app.use(express.static('public')); // Для выдачи HTML и статики
// Эндпоинт для получения всех данных игрока
app.get('/player/:id', async (req, res) => {
const playerId = req.params.id;
try {
console.log(playerId)
const user = await UserModel.findOne({ where: { telegram_id: req.params.id } });
const character = await CharacterModel.findOne({ where: { telegram_id: playerId } });
let business = await BusinessModel.findOne({ where: { owner: playerId.toString() } })
if(business === null){
business = await BusinessModel.findOne( {where: { owner: user.business.id} } )
}
const enterprises = await EnterpriseModel.findAll({ where: { playerId } });
if (!user || !character) {
return res.status(404).json({ error: "Игрок не найден." });
}
res.json({
user: {
username: user.username,
name: user.name,
level: user.level,
exp: user.exp,
hp: character.hp,
max_hp: character.max_hp,
money: user.money,
dirtymoney: character.dirtymoney,
},
business: business || { name: "Отсутствует", balance: 0, materials: 0, users: [] },
enterprises: enterprises || [],
});
} catch (err) {
console.error(err);
res.status(500).json({ error: 'Ошибка сервера' });
}
});
// Запуск сервера
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Сервер запущен на порту ${PORT}`));