0.0.2 • Published 8 years ago

simple-resource v0.0.2

Weekly downloads
1
License
ISC
Repository
-
Last release
8 years ago

Simple resource

experimental ES6 Restful router for express

Installation

    npm install simple-resource --save

usage

'use strict';
 let express = require('express');
 let app = express();
 let SimpleResource = require('./index');
 
 class NoticesController{

	constructor(){
		this.name = "jorge";
	}
	index(req,res){
		console.log(this);
		return res.send('MAP GET /notices')
	}

	show(req,res){
		return res.send('MAP GET /notices/:noticeId')	
	}

	create(req,res){
        return res.send('MAP POST /notices');
	}

	update(req,res){
		return res.send('MAP PUT /notices/:noticeId')
	}

	delete(req,res){
		return res.send('MAP DELETE /notices/:noticeId')
	}


  custom(req,res){
    return res.send('MAP GET /notices/:noticeId/custom')
  }
}

class TagsController{
	index(req,res){
		return res.send(' nested tag from notices resource -> /notices/:noticeId/tags');

	}
}

let customMiddleWare = function(req,res,next){
  console.log('custom middleware optional');
  next();
};



new SimpleResource(app,customMiddleWare)
	.resource({
		name: 'notices',
		url: '/notices/:noticeId',
		controller: new NoticesController,
		members: [
			{
				url: '/custom',
				method: 'get',
				action: 'custom'
			}
		]
	})
	.resource({
		name: 'notices.tags',
		url: '/tags/:tagId',
		controller: new TagsController
	})

app.listen(3000);

default actions

  • index(get all resources)
  • show(get resource)
  • update(update resource)
  • delete (delete resource)

tested

 node -v
  v4.2.2