fix
This commit is contained in:
@@ -1028,4 +1028,67 @@ adminRouter.post("/admin/namemanager/import", async (req: Request, res: Response
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// In-memory storage for community messages
|
||||||
|
interface Message {
|
||||||
|
id: string;
|
||||||
|
content: string;
|
||||||
|
timestamp: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
let communityMessages: Message[] = [];
|
||||||
|
|
||||||
|
// GET /api/messages - Get all messages
|
||||||
|
adminRouter.get("/messages", async (req: Request, res: Response) => {
|
||||||
|
try {
|
||||||
|
res.json({ messages: communityMessages });
|
||||||
|
} catch (error) {
|
||||||
|
console.error('[AdminAPI] Error fetching messages:', error);
|
||||||
|
res.status(500).json({ error: 'Failed to fetch messages' });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// POST /api/messages - Add a new message
|
||||||
|
adminRouter.post("/messages", async (req: Request, res: Response) => {
|
||||||
|
try {
|
||||||
|
const { content } = req.body;
|
||||||
|
|
||||||
|
if (!content || typeof content !== 'string') {
|
||||||
|
return res.status(400).json({ error: 'Content is required and must be a string' });
|
||||||
|
}
|
||||||
|
|
||||||
|
const trimmedContent = content.trim();
|
||||||
|
if (trimmedContent.length === 0) {
|
||||||
|
return res.status(400).json({ error: 'Content cannot be empty' });
|
||||||
|
}
|
||||||
|
|
||||||
|
if (trimmedContent.length > 500) {
|
||||||
|
return res.status(400).json({ error: 'Content cannot exceed 500 characters' });
|
||||||
|
}
|
||||||
|
|
||||||
|
const message: Message = {
|
||||||
|
id: `msg_${Date.now()}_${Math.random().toString(36).slice(2)}`,
|
||||||
|
content: trimmedContent,
|
||||||
|
timestamp: Date.now()
|
||||||
|
};
|
||||||
|
|
||||||
|
communityMessages.push(message);
|
||||||
|
|
||||||
|
// Keep only the last 1000 messages to prevent memory issues
|
||||||
|
if (communityMessages.length > 1000) {
|
||||||
|
communityMessages = communityMessages.slice(-1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(`[AdminAPI] New message added: ${message.id.slice(0, 12)}... (${trimmedContent.length} chars)`);
|
||||||
|
|
||||||
|
res.json({
|
||||||
|
success: true,
|
||||||
|
message: 'Message added successfully',
|
||||||
|
id: message.id
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('[AdminAPI] Error adding message:', error);
|
||||||
|
res.status(500).json({ error: 'Failed to add message' });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
export { adminRouter, broadcastDashboardUpdate };
|
export { adminRouter, broadcastDashboardUpdate };
|
||||||
|
|||||||
Reference in New Issue
Block a user