router/admin

This commit is contained in:
jysperm
2014-05-20 14:31:09 +08:00
parent 32581afec5
commit bd9f6571a5
3 changed files with 16 additions and 15 deletions

View File

@@ -10,6 +10,7 @@ i18n = require './i18n'
bindRouters = (app) ->
app.use '/account', require './router/account'
app.use '/admin', require './router/admin'
plugin = require './plugin'
plugin.loadPlugins app

View File

@@ -8,13 +8,13 @@ mAccount = require '../model/account'
module.exports = exports = express.Router()
exports.get '/signup/', renderAccount, (req, res) ->
exports.get '/signup', renderAccount, (req, res) ->
res.render 'account/signup'
exports.get '/login/', renderAccount, (req, res) ->
exports.get '/login', renderAccount, (req, res) ->
res.render 'account/login'
exports.post '/signup/', errorHandling, (req, res) ->
exports.post '/signup', errorHandling, (req, res) ->
unless utils.username.test req.body.username
return res.error 'invalid_username'
@@ -43,7 +43,7 @@ exports.post '/signup/', errorHandling, (req, res) ->
res.json
id: account._id
exports.post '/login/', errorHandling, (req, res) ->
exports.post '/login', errorHandling, (req, res) ->
mAccount.byUsernameOrEmailOrId req.body.username, (account) ->
unless account
return res.error 'auth_failed'
@@ -59,16 +59,16 @@ exports.post '/login/', errorHandling, (req, res) ->
id: account._id
token: token
exports.post '/logout/', requestAuthenticate, (req, res) ->
exports.post '/logout', requestAuthenticate, (req, res) ->
mAccount.removeToken req.token, ->
res.clearCookie 'token'
res.json {}
exports.post '/update_passwd/', requestAuthenticate, (req, res) ->
exports.post '/update_passwd', requestAuthenticate, (req, res) ->
unless mAccount.matchPasswd account, req.body.old_passwd
return res.error 'auth_failed'
unless req.body.new_passwd or not /^.+$/.test req.body.new_passwd
unless utils.passwd.test req.body.passwd
return res.error 'invalid_passwd'
mAccount.updatePasswd account, req.body.new_passwd, ->

View File

@@ -1,12 +1,12 @@
api = require './index'
express = require 'express'
{renderAccount} = require './middleware'
mAccount = require '../model/account'
module.exports =
get:
'/admin/': api.accountAdminAuthenticateRender (req, res, account, renderer) ->
mAccount.find {}, {}, (accounts) ->
renderer 'admin/index',
accounts: accounts
module.exports = exports = express.Router()
post:{}
exports.get '/', renderAccount, (req, res) ->
mAccount.find {}, {}, (accounts) ->
res.render 'admin/index',
accounts: accounts