Server: Use ES6 promise for mongoose/node-oatuh2-server
authorChocobozzz <florian.bigard@gmail.com>
Wed, 27 Jul 2016 19:15:07 +0000 (21:15 +0200)
committerChocobozzz <florian.bigard@gmail.com>
Wed, 27 Jul 2016 19:16:19 +0000 (21:16 +0200)
server/initializers/database.js
server/lib/oauth-model.js
server/models/oauth-client.js
server/models/oauth-token.js

index 4a19bc2302d609211adba372f2a88f5991c58267..8626895ee6fd4cd60d8bfac71065d900399f2c84 100644 (file)
@@ -23,6 +23,7 @@ const database = {
 }
 
 function connect () {
+  mongoose.Promise = global.Promise
   mongoose.connect('mongodb://' + host + ':' + port + '/' + dbname)
   mongoose.connection.on('error', function () {
     throw new Error('Mongodb connection error.')
index 555a54e9077d6f3acff06bae9d1ecbf83bda45bd..d9f8b175a6df62698fd810ec4c5ec85e3dda618b 100644 (file)
@@ -62,7 +62,7 @@ function revokeToken (token) {
 }
 
 function saveToken (token, client, user) {
-  logger.debug('Saving token for client ' + client.id + ' and user ' + user.id + '.')
+  logger.debug('Saving token ' + token.accessToken + ' for client ' + client.id + ' and user ' + user.id + '.')
 
   const tokenObj = new OAuthToken({
     accessToken: token.accessToken,
@@ -73,13 +73,12 @@ function saveToken (token, client, user) {
     user: user.id
   })
 
-  return tokenObj.save(function (err, tokenCreated) {
-    if (err) throw err // node-oauth2-server library uses Promise.try
-
+  return tokenObj.save().then(function (tokenCreated) {
     tokenCreated.client = client
     tokenCreated.user = user
-
     return tokenCreated
+  }).catch(function (err) {
+    throw err
   })
 }
 
index 830f68857a10d55c60d70f08297fb495b0d9091b..45834c5a5374328d238f20a78f68a534d36e9cfa 100644 (file)
@@ -29,5 +29,5 @@ function loadFirstClient (callback) {
 }
 
 function getByIdAndSecret (id, clientSecret) {
-  return this.findOne({ _id: id, clientSecret: clientSecret })
+  return this.findOne({ _id: id, clientSecret: clientSecret }).exec()
 }
index 23c6987321733bfa70b51f077b5a70dbf175ed42..f6a814c36fc37989c714c4076ed809b1e6e0048e 100644 (file)
@@ -28,7 +28,7 @@ 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 = {
@@ -47,9 +47,9 @@ function getByRefreshTokenAndPopulateClient (refreshToken) {
 }
 
 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()
 }