85 lines
2.0 KiB
JavaScript
85 lines
2.0 KiB
JavaScript
const express = require('express');
|
|
|
|
const WorkspaceService = require('../services/workspace');
|
|
const wrapAsync = require('../helpers').wrapAsync;
|
|
|
|
const router = express.Router();
|
|
|
|
router.get(
|
|
'/bootstrap',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.bootstrap(req.currentUser);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.post(
|
|
'/conversations',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.createConversation(req.body, req.currentUser);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.get(
|
|
'/conversations/:id',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.getConversation(req.params.id, req.currentUser);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.patch(
|
|
'/conversations/:id',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.updateConversation(
|
|
req.params.id,
|
|
req.body,
|
|
req.currentUser,
|
|
);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.delete(
|
|
'/conversations/:id',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.deleteConversation(req.params.id, req.currentUser);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.post(
|
|
'/conversations/:id/messages',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.sendMessage(req.params.id, req.body, req.currentUser);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.post(
|
|
'/conversations/:id/messages/:messageId/retry',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.retryMessage(
|
|
req.params.id,
|
|
req.params.messageId,
|
|
req.currentUser,
|
|
);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
router.post(
|
|
'/conversations/:id/messages/:messageId/regenerate',
|
|
wrapAsync(async (req, res) => {
|
|
const payload = await WorkspaceService.regenerateMessage(
|
|
req.params.id,
|
|
req.params.messageId,
|
|
req.currentUser,
|
|
);
|
|
res.status(200).send(payload);
|
|
}),
|
|
);
|
|
|
|
module.exports = router;
|