guardado y restaurado del estado del nameManager
This commit is contained in:
@@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user