mirror of
https://github.com/ceratic/project_vollidioten_website.git
synced 2026-05-14 00:16:47 +02:00
feat: add minecraftStats to player model and update related API endpoints
This commit is contained in:
@@ -152,9 +152,11 @@ app.get('/api/players', (req, res) => {
|
||||
// Parse JSON fields
|
||||
const parsed = rows.map(r => ({
|
||||
...r,
|
||||
tags: JSON.parse(r.tags),
|
||||
stats: JSON.parse(r.stats),
|
||||
inventory: JSON.parse(r.inventory),
|
||||
tags: JSON.parse(r.tags || '[]'),
|
||||
stats: JSON.parse(r.minecraftStats || '{}'),
|
||||
//stats: JSON.parse(r.stats || '{}'),
|
||||
//minecraftStats: r.minecraftStats ? JSON.parse(r.minecraftStats) : undefined,
|
||||
inventory: JSON.parse(r.inventory || '[]'),
|
||||
isOnline: !!r.isOnline
|
||||
}));
|
||||
res.json(parsed);
|
||||
@@ -474,15 +476,16 @@ app.post('/api/admin/npc-citizen', (req, res) => {
|
||||
role: role || 'Bürger',
|
||||
organizationId: organizationId || null
|
||||
}),
|
||||
minecraftStats: null,
|
||||
inventory: JSON.stringify([]),
|
||||
storyMarkdown: storyMarkdown || `# ${username}\n\nEin NPC-Bürger im Obsidian-Tal.`,
|
||||
discordId: null
|
||||
};
|
||||
|
||||
db.run(`INSERT INTO players (uuid, username, isOnline, isNpc, tags, stats, inventory, storyMarkdown, discordId)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
db.run(`INSERT INTO players (uuid, username, isOnline, isNpc, tags, stats, minecraftStats, inventory, storyMarkdown, discordId)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[npcData.uuid, npcData.username, npcData.isOnline, npcData.isNpc, npcData.tags,
|
||||
npcData.stats, npcData.inventory, npcData.storyMarkdown, npcData.discordId],
|
||||
npcData.stats, npcData.minecraftStats, npcData.inventory, npcData.storyMarkdown, npcData.discordId],
|
||||
function(err) {
|
||||
if (err) {
|
||||
console.error('Error creating NPC citizen:', err);
|
||||
@@ -1600,7 +1603,8 @@ app.post('/api/data', (req, res) => { const { eventType, player, uuid, timestamp
|
||||
isNpc: 0,
|
||||
isAdmin: 0,
|
||||
tags: JSON.stringify([]),
|
||||
stats: JSON.stringify({
|
||||
stats: JSON.stringify({}),
|
||||
minecraftStats: JSON.stringify({
|
||||
char,
|
||||
statistics,
|
||||
advancements,
|
||||
@@ -1620,8 +1624,8 @@ app.post('/api/data', (req, res) => { const { eventType, player, uuid, timestamp
|
||||
|
||||
if (row) {
|
||||
// Update existing player
|
||||
db.run(`UPDATE players SET username = ?, isOnline = ?, stats = ?, storyMarkdown = ? WHERE uuid = ?`,
|
||||
[playerData.username, playerData.isOnline, playerData.stats, playerData.storyMarkdown, uuid],
|
||||
db.run(`UPDATE players SET username = ?, isOnline = ?, minecraftStats = ? WHERE uuid = ?`,
|
||||
[playerData.username, playerData.isOnline, playerData.minecraftStats, uuid],
|
||||
function(err) {
|
||||
if (err) {
|
||||
console.error('Error updating player:', err);
|
||||
@@ -1637,10 +1641,10 @@ app.post('/api/data', (req, res) => { const { eventType, player, uuid, timestamp
|
||||
);
|
||||
} else {
|
||||
// Insert new player
|
||||
db.run(`INSERT INTO players (uuid, username, isOnline, isNpc, isAdmin, tags, stats, inventory, storyMarkdown, discordId)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
db.run(`INSERT INTO players (uuid, username, isOnline, isNpc, isAdmin, tags, stats, minecraftStats, inventory, storyMarkdown, discordId)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||
[playerData.uuid, playerData.username, playerData.isOnline, playerData.isNpc, playerData.isAdmin,
|
||||
playerData.tags, playerData.stats, playerData.inventory, playerData.storyMarkdown, playerData.discordId],
|
||||
playerData.tags, playerData.stats, playerData.minecraftStats, playerData.inventory, playerData.storyMarkdown, playerData.discordId],
|
||||
function(err) {
|
||||
if (err) {
|
||||
console.error('Error inserting player:', err);
|
||||
|
||||
Reference in New Issue
Block a user