Skip to content

Instantly share code, notes, and snippets.

@reecefenwick
Created April 13, 2015 04:23
Show Gist options
  • Save reecefenwick/032c8be3da3b1254d624 to your computer and use it in GitHub Desktop.
Save reecefenwick/032c8be3da3b1254d624 to your computer and use it in GitHub Desktop.
Route configuration
/**
* routes.js
*
* @description :: TODO: You might write a short summary of how this model works and what it represents here.
* @docs ::
*/
var express = require('express');
var router = express.Router();
// Load Controllers
var AuthController = require('../src/controllers/AuthController');
var UploadController = require('../src/controllers/UploadController');
var FileController = require('../src/controllers/FileController');
// var OtherController = require('OtherController'); - Example
// Load Middleware libraries
var auth = require('../src/libs/middleware/authentication');
// Map HTTP Endpoints to controllers
// Configure Authentication Resource
router
.route('/api/v1/auth/token')
.post(auth.isAuthenticated, AuthController.createToken)
.delete(auth.isAuthenticated, AuthController.deleteToken);
// Configure Upload Collection Resource
router
.route('/api/v1/upload')
.get(auth.isAuthenticated, UploadController.getAllUploads)
.post(auth.isAuthenticated, UploadController.createUpload);
// Configure Upload Resource
router
.route('/api/v1/upload/:key')
.get(UploadController.getUpload)
.delete(auth.isAuthenticated, UploadController.deleteUpload);
// Configure File Collection Resource
router
.route('/api/v1/upload/:key/file')
.post(FileController.upload);
// Configure File Resource
router
.route('/api/v1/upload/:key/file/:_id')
.get(FileController.download)
.delete(auth.isAuthenticated, FileController.deleteFile);
//Configure Other Resource - This is an example
//router.post('/other', Other.create);
//router.get('/other/:id([0-9a-f]{24})', Other.getOne);
module.exports = router;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment