const middlewares = require('../../../middlewares')
const admin = middlewares.admin
const oAuth = middlewares.oauth
+const pagination = middlewares.pagination
+const sort = middlewares.sort
+const validatorsPagination = middlewares.validators.pagination
+const validatorsSort = middlewares.validators.sort
const validatorsUsers = middlewares.validators.users
const User = mongoose.model('User')
const router = express.Router()
-router.get('/', listUsers)
router.get('/me', oAuth.authenticate, getUserInformation)
+router.get('/',
+ validatorsPagination.pagination,
+ validatorsSort.usersSort,
+ sort.setUsersSort,
+ pagination.setPagination,
+ listUsers
+)
+
router.post('/',
oAuth.authenticate,
admin.ensureIsAdmin,
}
function listUsers (req, res, next) {
- User.list(function (err, usersList) {
+ User.listForApi(req.query.start, req.query.count, req.query.sort, function (err, usersList, usersTotal) {
if (err) return next(err)
- res.json(getFormatedUsers(usersList))
+ res.json(getFormatedUsers(usersList, usersTotal))
})
}
// ---------------------------------------------------------------------------
-function getFormatedUsers (users) {
+function getFormatedUsers (users, usersTotal) {
const formatedUsers = []
users.forEach(function (user) {
})
return {
+ total: usersTotal,
data: formatedUsers
}
}