When you run StickyBoard, it will create default tables below.
You can add your own API to StickyBoard back-end server.
Let's see how you can add custom API.
First of all, you must create route file like below.
You would add Sequelize query or other processing method here.
src/models/MySQL/UserLayoutRoute.js
var StatusCode = require('../../../../../network/StatusCode');
var UserLayout = require('../UserLayout')
var User = require('../User')
var UserLayoutRoute = {
// Create
create: function (req, res) {
var userId = req.params.userId;
var route = req.body.route;
var layout = req.body.layout;
UserLayout.find({
where: {
user_id: userId,
route: route,
}
})
.then(function (result) {
if (result !== null) {
res.status(StatusCode.CONFLICT).json({msg: 'Error'})
} else {
UserLayout.create({
user_id: userId,
route: route,
layout: layout,
})
.then(function (result) {
res.json(result)
})
.catch(function (err) {
console.log(err)
})
}
})
},
// Read
read: function (req, res) {
...
},
// Update
update: function (req, res) {
...
},
// Delete
delete: function (req, res) {
...
}
}
module.exports = UserLayoutRoute
And next, import the route file and add a routing code like below.
...
var UserLayoutRoute = require('./src/database/models/MySQL/User/routes/UserLayoutRoute');
...
var router = Express.Router();
/******************
API routing
******************/
...
// User Layout
router.post('/user/:userId/layout/$', function (req, res) { UserLayoutRoute.create(req, res) });
router.get('/user/:userId/layout/$', function (req, res) { UserLayoutRoute.read(req, res) });
router.put('/user/:userId/layout/$', function (req, res) { UserLayoutRoute.update(req, res) });
router.delete('/user/:userId/layout/$', function (req, res) { UserLayoutRoute.delete(req, res) });
...
It's all done! Test your newly added API.