mirror of
https://github.com/codex-team/codex.docs.git
synced 2025-07-19 13:19:42 +02:00
116 lines
2 KiB
JavaScript
116 lines
2 KiB
JavaScript
|
const express = require('express');
|
||
|
const router = express.Router();
|
||
|
const multer = require('multer')();
|
||
|
const Pages = require('../controllers/pages');
|
||
|
|
||
|
/**
|
||
|
* GET /page/:id
|
||
|
*
|
||
|
* Return PageData of page with given id
|
||
|
*/
|
||
|
router.get('/page/:id', async (req, res) => {
|
||
|
try {
|
||
|
const page = await Pages.get(req.params.id);
|
||
|
|
||
|
res.json({
|
||
|
success: true,
|
||
|
result: page.data
|
||
|
});
|
||
|
} catch (err) {
|
||
|
res.status(400).json({
|
||
|
success: false,
|
||
|
error: err.message
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* GET /pages
|
||
|
*
|
||
|
* Return PageData for all pages
|
||
|
*/
|
||
|
router.get('/pages', async (req, res) => {
|
||
|
try {
|
||
|
const pages = await Pages.getAll();
|
||
|
|
||
|
res.json({
|
||
|
success: true,
|
||
|
result: pages
|
||
|
});
|
||
|
} catch (err) {
|
||
|
res.status(400).json({
|
||
|
success: false,
|
||
|
error: err.message
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* PUT /page
|
||
|
*
|
||
|
* Create new page in the database
|
||
|
*/
|
||
|
router.put('/page', multer.any(), async (req, res) => {
|
||
|
try {
|
||
|
const {title, body, parent} = req.body;
|
||
|
const page = await Pages.insert({title, body, parent});
|
||
|
|
||
|
res.json({
|
||
|
success: true,
|
||
|
result: page
|
||
|
});
|
||
|
} catch (err) {
|
||
|
res.status(400).json({
|
||
|
success: false,
|
||
|
error: err.message
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* POST /page/:id
|
||
|
*
|
||
|
* Update page data in the database
|
||
|
*/
|
||
|
router.post('/page/:id', multer.any(), async (req, res) => {
|
||
|
const {id} = req.params;
|
||
|
|
||
|
try {
|
||
|
const {title, body, parent} = req.body;
|
||
|
const page = await Pages.update(id, {title, body, parent});
|
||
|
|
||
|
res.json({
|
||
|
success: true,
|
||
|
result: page
|
||
|
});
|
||
|
} catch (err) {
|
||
|
res.status(400).json({
|
||
|
success: false,
|
||
|
error: err.message
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
/**
|
||
|
* DELETE /page/:id
|
||
|
*
|
||
|
* Remove page from the database
|
||
|
*/
|
||
|
router.delete('/page/:id', async (req, res) => {
|
||
|
try {
|
||
|
const page = await Pages.remove(req.params.id);
|
||
|
|
||
|
res.json({
|
||
|
success: true,
|
||
|
result: page
|
||
|
});
|
||
|
} catch (err) {
|
||
|
res.status(400).json({
|
||
|
success: false,
|
||
|
error: err.message
|
||
|
});
|
||
|
}
|
||
|
});
|
||
|
|
||
|
module.exports = router;
|