]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - server/models/user.js
Server: adapt magnet uri search
[github/Chocobozzz/PeerTube.git] / server / models / user.js
index c2c8807f0830da9452ea66c97231199115c7af41..a19de7072cd77ae5e881297e775f25c829ab45aa 100644 (file)
@@ -4,6 +4,8 @@ const customUsersValidators = require('../helpers/custom-validators').users
 const modelUtils = require('./utils')
 const peertubeCrypto = require('../helpers/peertube-crypto')
 
+const OAuthToken = mongoose.model('OAuthToken')
+
 // ---------------------------------------------------------------------------
 
 const UserSchema = mongoose.Schema({
@@ -21,17 +23,17 @@ UserSchema.path('username').required(customUsersValidators.isUserUsernameValid)
 UserSchema.path('role').validate(customUsersValidators.isUserRoleValid)
 
 UserSchema.methods = {
-  isPasswordMatch: isPasswordMatch,
-  toFormatedJSON: toFormatedJSON
+  isPasswordMatch,
+  toFormatedJSON
 }
 
 UserSchema.statics = {
-  countTotal: countTotal,
-  getByUsername: getByUsername,
-  list: list,
-  listForApi: listForApi,
-  loadById: loadById,
-  loadByUsername: loadByUsername
+  countTotal,
+  getByUsername,
+  list,
+  listForApi,
+  loadById,
+  loadByUsername
 }
 
 UserSchema.pre('save', function (next) {
@@ -46,6 +48,12 @@ UserSchema.pre('save', function (next) {
   })
 })
 
+UserSchema.pre('remove', function (next) {
+  const user = this
+
+  OAuthToken.removeByUserId(user._id, next)
+})
+
 mongoose.model('User', UserSchema)
 
 // ------------------------------ METHODS ------------------------------