LocalStrategy = require('passport-local').Strategy
User          = require('../models/User')

module.exports = (passport) ->

  passport.use new LocalStrategy { usernameField: 'email' },
    (email, password, done) ->
      User.authenticate email, password, (err, user, info) ->
        return done(err, user, info)
  
  passport.serializeUser (user, done) ->
    done null, user.id
  
  passport.deserializeUser (id, done) ->
    User.findById id, (err, user) ->
      done err, user
