Răsfoiți Sursa

change async

Seiya Tashiro 7 ani în urmă
părinte
comite
000c802514
2 a modificat fișierele cu 16 adăugiri și 13 ștergeri
  1. 5 2
      src/server/models/user.js
  2. 11 11
      src/server/routes/admin.js

+ 5 - 2
src/server/models/user.js

@@ -254,12 +254,15 @@ module.exports = function(crowi) {
     });
   };
 
-  userSchema.methods.statusActivate = function(callback) {
+  userSchema.methods.statusActivate = async function() {
     debug('Activate User', this);
     this.status = STATUS_ACTIVE;
     this.save(function(err, userData) {
       userEvent.emit('activated', userData);
-      return callback(err, userData);
+      if (err) {
+        throw new Error(err);
+      }
+      return userData;
     });
   };
 

+ 11 - 11
src/server/routes/admin.js

@@ -543,17 +543,17 @@ module.exports = function(crowi, app) {
 
   actions.user.activate = function(req, res) {
     var id = req.params.id;
-    User.findById(id, function(err, userData) {
-      userData.statusActivate(function(err, userData) {
-        if (err === null) {
-          req.flash('successMessage', userData.name + 'さんのアカウントを有効化しました');
-        }
-        else {
-          req.flash('errorMessage', '更新に失敗しました。');
-          debug(err, userData);
-        }
-        return res.redirect('/admin/users');
-      });
+
+    User.findById(id, async function(err, userData) {
+      try {
+        const user = await userData.statusActivate();
+        req.flash('successMessage', user.name + 'さんのアカウントを有効化しました');
+      }
+      catch (err) {
+        req.flash('errorMessage', '更新に失敗しました。');
+        debug(err);
+      }
+      return res.redirect('/admin/users');
     });
   };