]>
git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/user.js
1 const mongoose
= require('mongoose')
3 const customUsersValidators
= require('../helpers/custom-validators').users
5 // ---------------------------------------------------------------------------
7 const UserSchema
= mongoose
.Schema({
13 UserSchema
.path('password').required(customUsersValidators
.isUserPasswordValid
)
14 UserSchema
.path('username').required(customUsersValidators
.isUserUsernameValid
)
15 UserSchema
.path('role').validate(customUsersValidators
.isUserRoleValid
)
17 UserSchema
.methods
= {
18 toFormatedJSON: toFormatedJSON
21 UserSchema
.statics
= {
22 getByUsernameAndPassword: getByUsernameAndPassword
,
25 loadByUsername: loadByUsername
28 mongoose
.model('User', UserSchema
)
30 // ---------------------------------------------------------------------------
32 function getByUsernameAndPassword (username
, password
) {
33 return this.findOne({ username: username
, password: password
})
36 function list (callback
) {
37 return this.find(callback
)
40 function loadById (id
, callback
) {
41 return this.findById(id
, callback
)
44 function loadByUsername (username
, callback
) {
45 return this.findOne({ username: username
}, callback
)
48 function toFormatedJSON () {
51 username: this.username
,