1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 02:39:33 +02:00

Implement user API (create, update, remove, list)

This commit is contained in:
Chocobozzz 2016-08-04 22:32:36 +02:00
parent e4c556196d
commit 9bd2662976
16 changed files with 688 additions and 47 deletions

View file

@ -0,0 +1,57 @@
'use strict'
const mongoose = require('mongoose')
const checkErrors = require('./utils').checkErrors
const logger = require('../../helpers/logger')
const User = mongoose.model('User')
const validatorsUsers = {
usersAdd: usersAdd,
usersRemove: usersRemove,
usersUpdate: usersUpdate
}
function usersAdd (req, res, next) {
req.checkBody('username', 'Should have a valid username').isUserUsernameValid()
req.checkBody('password', 'Should have a valid password').isUserPasswordValid()
// TODO: check we don't have already the same username
logger.debug('Checking usersAdd parameters', { parameters: req.body })
checkErrors(req, res, next)
}
function usersRemove (req, res, next) {
req.checkParams('username', 'Should have a valid username').isUserUsernameValid()
logger.debug('Checking usersRemove parameters', { parameters: req.params })
checkErrors(req, res, function () {
User.loadByUsername(req.params.username, function (err, user) {
if (err) {
logger.error('Error in usersRemove request validator.', { error: err })
return res.sendStatus(500)
}
if (!user) return res.status(404).send('User not found')
next()
})
})
}
function usersUpdate (req, res, next) {
// Add old password verification
req.checkBody('password', 'Should have a valid password').isUserPasswordValid()
logger.debug('Checking usersUpdate parameters', { parameters: req.body })
checkErrors(req, res, next)
}
// ---------------------------------------------------------------------------
module.exports = validatorsUsers