feat: enhance player model with organizationId and update related API handling

This commit is contained in:
Lars Behrends
2025-12-29 11:22:44 +01:00
parent 5fe6724663
commit 5fcd5dbdcb
4 changed files with 30 additions and 72 deletions

View File

@@ -22,10 +22,11 @@ const SEED_PLAYERS = [
isNpc: 0,
isAdmin: 0,
tags: JSON.stringify(['#Bürger', '#Händler']),
stats: JSON.stringify({ playtimeHours: 482, level: 45, role: 'Bürger', organizationId: 'org-3' }),
stats: JSON.stringify({ playtimeHours: 482, level: 45, role: 'Bürger' }),
minecraftStats: null,
inventory: JSON.stringify([]),
storyMarkdown: '# Der Bauplan von V\n\n> "Stein erinnert sich..."'
storyMarkdown: '# Der Bauplan von V\n\n> "Stein erinnert sich..."',
organizationId: 'org-3'
},
{
uuid: '8984c0b5-d912-4462-b189-c864fba4a1af',
@@ -34,10 +35,11 @@ const SEED_PLAYERS = [
isNpc: 0,
isAdmin: 1, // DrKButz is admin for testing
tags: JSON.stringify(['#Bauunternehmer']),
stats: JSON.stringify({ playtimeHours: 120, level: 12, role: 'Unternehmer', organizationId: 'org-4' }),
stats: JSON.stringify({ playtimeHours: 120, level: 12, role: 'Unternehmer' }),
minecraftStats: null,
inventory: JSON.stringify([]),
storyMarkdown: '# Forschungslogbuch:\n\nSpezialisiert auf...'
storyMarkdown: '# Forschungslogbuch:\n\nSpezialisiert auf...',
organizationId: 'org-4'
}
];
@@ -122,7 +124,8 @@ function setupTables() {
minecraftStats JSON,
inventory JSON,
storyMarkdown TEXT,
discordId VARCHAR(255)
discordId VARCHAR(255),
organizationId VARCHAR(50)
)`,
`CREATE TABLE IF NOT EXISTS orgs (
id VARCHAR(50) PRIMARY KEY,
@@ -184,8 +187,8 @@ function seedData() {
if (!err && rows[0].count === 0) {
console.log("Seeding Players...");
SEED_PLAYERS.forEach(p => {
pool.query("INSERT INTO players VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
[p.uuid, p.username, p.isOnline, p.isNpc, p.isAdmin, p.tags, p.stats, p.inventory, p.storyMarkdown, null]);
pool.query("INSERT INTO players VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
[p.uuid, p.username, p.isOnline, p.isNpc, p.isAdmin, p.tags, p.stats, p.minecraftStats, p.inventory, p.storyMarkdown, null, p.organizationId]);
});
}
});