guardado y restaurado del estado del nameManager

This commit is contained in:
2025-08-28 01:51:06 -06:00
parent fd3338cf2d
commit 220248b588
3 changed files with 231 additions and 2 deletions

View File

@@ -959,4 +959,42 @@ async function sendPlayersActionsUpdate(client?: Response) {
}
}
// NameManager export endpoint
adminRouter.get("/admin/namemanager/export", async (req: Request, res: Response) => {
try {
const nameManager = NameManager.getInstance();
const state = nameManager.exportState();
res.json(state);
} catch (error) {
console.error('[AdminAPI] Error exporting nameManager state:', error);
res.status(500).json({ error: 'Failed to export nameManager state' });
}
});
// NameManager import endpoint
adminRouter.post("/admin/namemanager/import", async (req: Request, res: Response) => {
try {
const nameManager = NameManager.getInstance();
const state = req.body;
if (!state || !state.data) {
return res.status(400).json({ error: 'Invalid state format' });
}
nameManager.importState(state);
// Broadcast update to SSE clients after importing
await sendUuidsUpdate();
await sendPlayersActionsUpdate();
res.json({
success: true,
message: `NameManager state imported successfully. Version: ${state.version || 'unknown'}`
});
} catch (error) {
console.error('[AdminAPI] Error importing nameManager state:', error);
res.status(500).json({ error: 'Failed to import nameManager state', details: error.message });
}
});
export { adminRouter, broadcastDashboardUpdate };