OAuthTokenSchema.statics = {
getByRefreshTokenAndPopulateClient: getByRefreshTokenAndPopulateClient,
getByTokenAndPopulateUser: getByTokenAndPopulateUser,
- getByRefreshToken: getByRefreshToken
+ getByRefreshToken: getByRefreshToken,
+ removeByUserId: removeByUserId
}
mongoose.model('OAuthToken', OAuthTokenSchema)
// ---------------------------------------------------------------------------
function getByRefreshTokenAndPopulateClient (refreshToken) {
- return this.findOne({ refreshToken: refreshToken }).populate('client').then(function (token) {
+ return this.findOne({ refreshToken: refreshToken }).populate('client').exec().then(function (token) {
if (!token) return token
const tokenInfos = {
}
function getByTokenAndPopulateUser (bearerToken) {
- return this.findOne({ accessToken: bearerToken }).populate('user')
+ return this.findOne({ accessToken: bearerToken }).populate('user').exec()
}
function getByRefreshToken (refreshToken) {
- return this.findOne({ refreshToken: refreshToken })
+ return this.findOne({ refreshToken: refreshToken }).exec()
+}
+
+function removeByUserId (userId, callback) {
+ return this.remove({ user: userId }, callback)
}