diff --git a/api/controller/page.controller.js b/api/controller/page.controller.js index 99ab13b..46ecba5 100644 --- a/api/controller/page.controller.js +++ b/api/controller/page.controller.js @@ -3,4 +3,27 @@ const page = require('../models/page.model'); exports.getPages = async (req, res) => { const pages = await page.findAll(); res.json(pages); +} + +exports.getPageById = async (req, res) => { + const id = req.params.id + + const pages = await page.findAll({ + where: { + pageId: id, + }}, + ); + + res.json(pages); +} + +exports.createPage = async (req, res) => { + const jsonPage = req.body + + page.create({ + pageTitle: jsonPage.name, + pageFolder: jsonPage.folder, + }) + + res.status(201).json("ok"); } \ No newline at end of file diff --git a/api/models/page.model.js b/api/models/page.model.js index f29de77..01b09ef 100644 --- a/api/models/page.model.js +++ b/api/models/page.model.js @@ -28,7 +28,15 @@ const page = db.define('Pages', { type: DataTypes.TEXT, allowNull: true, }, +}, +{ + indexes: [ + { + fields: ['pageTitle', 'pageFolder'], + unique: true, + } + ] }); -page.hasOne(folder, { as: 'pageParentFolder', foreignKey: 'pageFolder', onDelete: 'CASCADE'}) +//page.belongsTo(folder, { as: 'pageParentFolder', foreignKey: 'pageFolder', onDelete: 'CASCADE'}) module.exports = page; \ No newline at end of file diff --git a/api/routes/page.routes.js b/api/routes/page.routes.js index 7e9a138..a1e8391 100644 --- a/api/routes/page.routes.js +++ b/api/routes/page.routes.js @@ -4,5 +4,7 @@ const router = express.Router(); const pageController = require('../controller/page.controller') router.get('/pages', pageController.getPages); +router.get('/pages/:id', pageController.getPageById); +router.post('/pages', pageController.createPage); module.exports = router; \ No newline at end of file