punch-card

0.1.4444 • Public • Published

####punch-card punch-card is Express's routing wrapper. If use punch-card improve understanding of routing maps.

###Required

  • Express 4

###DEMO

First, install punch-card.

npm install punch-card

Next, create express project.

express SapmleProject

Next, create card.pch file. For example create card.pch at directly under of SampleProject. (/dev/to/path/SampleProject/card.pch)

The time being, The contents of card.pch are below.

root index
  /api
    GET /movies			Movies/get
    POS /movies			Movies/post
    GET /movies/:id 	Movies/get
    PUT /movies/:id 	Movies/put
    DEL /movies/:id 	Movies/delete

Next, create /route folder. Please put response function in the this folder. The time being, create /dev/to/path/sampleproject/routes folder, it contain movies.js.

The content of movie.js are below.

var Movie = require('../models/movie');

module.exports.get = function (req, res) {
  if (req.param('id') != undefined) {
    var option = {
      _id : req.param('id')
    };
  } else {
    var option = {};
  }
  Movie.find(option, function(err, movies){
    if(err)console.log(err);
    res.json(movies);
  });
};

module.exports.post = function (req, res) {
  var movie = Movie(req.body);

  movie.save(function (err) {
    if (err){
      return res.send(err);
    }

    res.send({ message: 'Movie Added' });
  });
};

module.exports.put = function (req, res) {
  Movie.findOne({ _id: req.param('id') }, function(err, movie) {
    if (err) {
      console.log(err);
      return res.send(err);
    }

    for (prop in req.body) {
      movie[prop] = req.body[prop];
    }

    movie.save(function(err) {
      if (err) {
        return res.send(err);
      }

      res.json({ message: 'Movie updated!' });
    });
  });
};

module.exports.delete = function (req, res) {

  Movie.remove({
    _id: req.param('id')
  }, function(err, movie) {
    if (err) {
      return res.send(err);
    }

    res.json({ message: 'Successfully deleted' });
  });
};


Next, configure app.js. Concretely add this one line into app.js.

...

require('punch-card')(app, './card.pch', './routes');

...

Finaly, start application.

npm start

Readme

Keywords

none

Package Sidebar

Install

npm i punch-card

Weekly Downloads

1

Version

0.1.4444

License

ISC

Last publish

Collaborators

  • koya