|
import { Router } from 'express' |
|
import { Request, Response } from 'express' |
|
|
|
const router = Router() |
|
|
|
|
|
router.get('/:id', async (req: Request, res: Response) => { |
|
try { |
|
const { id } = req.params |
|
|
|
res.json({ |
|
success: true, |
|
data: { |
|
id, |
|
chatId: 'chat-1', |
|
senderId: 'user-1', |
|
content: 'Sample message', |
|
type: 'text', |
|
attachments: [], |
|
createdAt: new Date(), |
|
updatedAt: new Date() |
|
} |
|
}) |
|
} catch (error) { |
|
res.status(500).json({ |
|
success: false, |
|
error: 'Failed to get message' |
|
}) |
|
} |
|
}) |
|
|
|
|
|
router.put('/:id', async (req: Request, res: Response) => { |
|
try { |
|
const { id } = req.params |
|
const { content } = req.body |
|
|
|
res.json({ |
|
success: true, |
|
data: { |
|
id, |
|
content, |
|
updatedAt: new Date(), |
|
edited: true |
|
} |
|
}) |
|
} catch (error) { |
|
res.status(500).json({ |
|
success: false, |
|
error: 'Failed to update message' |
|
}) |
|
} |
|
}) |
|
|
|
|
|
router.delete('/:id', async (req: Request, res: Response) => { |
|
try { |
|
const { id } = req.params |
|
|
|
res.json({ |
|
success: true, |
|
message: 'Message deleted successfully' |
|
}) |
|
} catch (error) { |
|
res.status(500).json({ |
|
success: false, |
|
error: 'Failed to delete message' |
|
}) |
|
} |
|
}) |
|
|
|
|
|
router.post('/:id/reactions', async (req: Request, res: Response) => { |
|
try { |
|
const { id } = req.params |
|
const { emoji } = req.body |
|
|
|
res.json({ |
|
success: true, |
|
data: { |
|
messageId: id, |
|
emoji, |
|
userId: 'user-1', |
|
createdAt: new Date() |
|
} |
|
}) |
|
} catch (error) { |
|
res.status(500).json({ |
|
success: false, |
|
error: 'Failed to add reaction' |
|
}) |
|
} |
|
}) |
|
|
|
|
|
router.delete('/:id/reactions/:emoji', async (req: Request, res: Response) => { |
|
try { |
|
const { id, emoji } = req.params |
|
|
|
res.json({ |
|
success: true, |
|
message: 'Reaction removed successfully' |
|
}) |
|
} catch (error) { |
|
res.status(500).json({ |
|
success: false, |
|
error: 'Failed to remove reaction' |
|
}) |
|
} |
|
}) |
|
|
|
|
|
router.post('/:id/read', async (req: Request, res: Response) => { |
|
try { |
|
const { id } = req.params |
|
|
|
res.json({ |
|
success: true, |
|
message: 'Message marked as read' |
|
}) |
|
} catch (error) { |
|
res.status(500).json({ |
|
success: false, |
|
error: 'Failed to mark message as read' |
|
}) |
|
} |
|
}) |
|
|
|
export default router |
|
|