48 lines
		
	
	
		
			1006 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1006 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| 
 | |
| // Fake user database
 | |
| 
 | |
| var users = [
 | |
|   { name: 'TJ', email: 'tj@vision-media.ca' },
 | |
|   { name: 'Tobi', email: 'tobi@vision-media.ca' }
 | |
| ];
 | |
| 
 | |
| exports.list = function(req, res){
 | |
|   res.render('users', { title: 'Users', users: users });
 | |
| };
 | |
| 
 | |
| exports.load = function(req, res, next){
 | |
|   var id = req.params.id;
 | |
|   req.user = users[id];
 | |
|   if (req.user) {
 | |
|     next();
 | |
|   } else {
 | |
|     var err = new Error('cannot find user ' + id);
 | |
|     err.status = 404;
 | |
|     next(err);
 | |
|   }
 | |
| };
 | |
| 
 | |
| exports.view = function(req, res){
 | |
|   res.render('users/view', {
 | |
|     title: 'Viewing user ' + req.user.name,
 | |
|     user: req.user
 | |
|   });
 | |
| };
 | |
| 
 | |
| exports.edit = function(req, res){
 | |
|   res.render('users/edit', {
 | |
|     title: 'Editing user ' + req.user.name,
 | |
|     user: req.user
 | |
|   });
 | |
| };
 | |
| 
 | |
| exports.update = function(req, res){
 | |
|   // Normally you would handle all kinds of
 | |
|   // validation and save back to the db
 | |
|   var user = req.body.user;
 | |
|   req.user.name = user.name;
 | |
|   req.user.email = user.email;
 | |
|   res.redirect(req.get('Referrer') || '/');
 | |
| };
 |