OAuthTokenSchema.path('user').required(true)
OAuthTokenSchema.statics = {
- getByRefreshTokenAndPopulateClient: getByRefreshTokenAndPopulateClient,
- getByTokenAndPopulateUser: getByTokenAndPopulateUser,
- getByRefreshToken: getByRefreshToken
+ getByRefreshTokenAndPopulateClient,
+ getByTokenAndPopulateUser,
+ getByRefreshToken,
+ 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)
}