12 October 2019

NodeJS ExpressJS: Controller [EX-09]


Controller
/controller/user.controller.js
user.controller.js
const db = require('../db/index').lowDB;
var ids = require('short-id');

module.exports.index = function (req, res) {
    res.render('users/index', {
        users: db.get('users').value()
    })
}

module.exports.create = function (req, res) {
    res.render('users/create')
}

module.exports.postCreate = function (req, res) {
    // Add a post
    req.body.id = ids.generate();
    db.get('users').push(req.body).write()
    res.redirect('/users');
}

module.exports.get = function (req, res) {
    var id = req.params.id;
    res.render('users/view', {
        user: db.get('users').find({
            id: id
        }).value()
    })
}

module.exports.search = function (req, res) {
    var q = req.query.name;
    var matchUsers = db.get('users').value().filter(f => f.name.toLocaleLowerCase().indexOf(q.toLocaleLowerCase()) !== -1);
    res.render('users/index', {
        users: matchUsers
    })
}

/users/user.route.js
user.route.js
const express = require('express')
const router = express()

var controller = require('../controller/user.controller');

// GET method route
router.get('/', controller.index);

// GET method route
router.get('/create', controller.create);

// GET by id
router.get('/:id', controller.get);

// POST create user
router.post('/create', controller.postCreate);

// GET method route
router.get('/search/name', controller.search);

module.exports = router;

<< back | next >>

Related Posts:

  • NodeJS ExpressJS: Query parameters [EX-03] Query parameters  Query parameters app.js const express = require('express') const app = express() const port = 3000 app.set('view engine', 'pug') app.set('views', './views'); var users = [{ id: 'ID291', … Read More
  • NodeJS Basic - URL Module URL Module Parsing url - query params node.js const http = require('http'); const url = require('url'); const server = http.createServer((req, res) => { const queryData = url.parse(req.url, true).query; co… Read More
  • NodeJS ExpressJS: Template engines [EX-02] Using template engines with Express Pug (jade), Mustache, EJS [1] Single page application (SPA)  - Nội dung render trên front end  - Không load lại trang  - Tương tác với data dạng Json API [2] Multiple pag… Read More
  • NodeJS ExpressJS: Hello world example [EX-01] Javascript Frameworks ExpressJS, SailsJS, MeteorJS, KoaJS, FeathersJS https://expressjs.com/ https://expressjs.com/en/starter/hello-world.html npm init npm install express --save Hello world example … Read More
  • NodeJS Basic - HTTP Module HTTP Module Server port 4000 node.js const http = require('http'); const server = http.createServer((req,res) => { res.write('Hello Http'); res.end(); }); server.listen(4000); console.log('Server start ht… Read More

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang