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 };
|
||||
|
||||
Reference in New Issue
Block a user