sou 7 лет назад
Родитель
Сommit
1e3925aef3
4 измененных файлов с 25 добавлено и 27 удалено
  1. 1 1
      config/logger/config.dev.js
  2. 13 15
      lib/routes/admin.js
  3. 1 1
      lib/routes/index.js
  4. 10 10
      lib/util/importer.js

+ 1 - 1
config/logger/config.dev.js

@@ -11,7 +11,7 @@ module.exports = {
   // 'growi:routes:login': 'debug',
   // 'growi:routes:login': 'debug',
   'growi:routes:login-passport': 'debug',
   'growi:routes:login-passport': 'debug',
   'growi:service:PassportService': 'debug',
   'growi:service:PassportService': 'debug',
-  'growi:lib:importer': 'debug',
+  // 'growi:lib:importer': 'debug',
   // 'growi:routes:page': 'debug',
   // 'growi:routes:page': 'debug',
   // 'growi-plugin:*': 'debug',
   // 'growi-plugin:*': 'debug',
   // 'growi:InterceptorManager': 'debug',
   // 'growi:InterceptorManager': 'debug',

+ 13 - 15
lib/routes/admin.js

@@ -1209,7 +1209,6 @@ module.exports = function(crowi, app) {
       return res.json({status: false, message: req.form.errors.join('\n')});
       return res.json({status: false, message: req.form.errors.join('\n')});
     }
     }
 
 
-    debug('form content', form);
     await saveSetting(req, res, form);
     await saveSetting(req, res, form);
     await importer.initialize();
     await importer.initialize();
   };
   };
@@ -1220,15 +1219,14 @@ module.exports = function(crowi, app) {
    * @param {*} req
    * @param {*} req
    * @param {*} res
    * @param {*} res
    */
    */
-  actions.api.importAllPostsFromEsa = function(req, res) {
+  actions.api.importDataFromEsa = async(req, res) => {
     const user = req.user;
     const user = req.user;
-    importer.importPagesFromEsa(user)
-    .then(function() {
-      return res.json({ status: true });
-    })
-    .catch(function(err) {
-      return res.json({ status: false, message: `${err}` });
-    });
+    const result = await importer.importPagesFromEsa(user);
+
+    if (result.errors) {
+      return res.json({ status: false, message: `${result.errors}` });
+    }
+    return res.json({ status: true });
   };
   };
 
 
   /**
   /**
@@ -1237,14 +1235,14 @@ module.exports = function(crowi, app) {
    * @param {*} req
    * @param {*} req
    * @param {*} res
    * @param {*} res
    */
    */
-  actions.api.testEsaAPI = function(req, res) {
-    importer.testConnectionToEsa()
-    .then(function() {
+  actions.api.testEsaAPI = async(req, res) => {
+    try {
+      await importer.testConnectionToEsa();
       return res.json({ status: true });
       return res.json({ status: true });
-    })
-    .catch(function(err) {
+    }
+    catch (err) {
       return res.json({ status: false, message: `${err}` });
       return res.json({ status: false, message: `${err}` });
-    });
+    }
   };
   };
 
 
   /**
   /**

+ 1 - 1
lib/routes/index.js

@@ -143,7 +143,7 @@ module.exports = function(crowi, app) {
   // importer management for admin
   // importer management for admin
   app.get('/admin/importer'                , loginRequired(crowi, app) , middleware.adminRequired() , admin.importer.index);
   app.get('/admin/importer'                , loginRequired(crowi, app) , middleware.adminRequired() , admin.importer.index);
   app.post('/_api/admin/settings/importer' , loginRequired(crowi, app) , middleware.adminRequired() , csrf , form.admin.importer , admin.api.importerSetting);
   app.post('/_api/admin/settings/importer' , loginRequired(crowi, app) , middleware.adminRequired() , csrf , form.admin.importer , admin.api.importerSetting);
-  app.post('/_api/admin/import/esa'        , loginRequired(crowi, app) , middleware.adminRequired() , csrf , form.admin.importer , admin.api.importAllPostsFromEsa);
+  app.post('/_api/admin/import/esa'        , loginRequired(crowi, app) , middleware.adminRequired() , csrf , form.admin.importer , admin.api.importDataFromEsa);
   app.post('/_api/admin/import/testEsaAPI' , loginRequired(crowi, app) , middleware.adminRequired() , csrf , form.admin.importer , admin.api.testEsaAPI);
   app.post('/_api/admin/import/testEsaAPI' , loginRequired(crowi, app) , middleware.adminRequired() , csrf , form.admin.importer , admin.api.testEsaAPI);
 
 
   app.get('/me'                       , loginRequired(crowi, app) , me.index);
   app.get('/me'                       , loginRequired(crowi, app) , me.index);

+ 10 - 10
lib/util/importer.js

@@ -31,14 +31,9 @@ module.exports = crowi => {
   importer.importPagesFromEsa = user => {
   importer.importPagesFromEsa = user => {
     return new Promise(async(resolve, reject) => {
     return new Promise(async(resolve, reject) => {
       const data = await getAllDataFromEsa();
       const data = await getAllDataFromEsa();
-      try {
-        await createGrowiPages(data.body.posts, user);
-        resolve();
-      }
-      catch (err) {
-        debug(err);
-        reject(err);
-      }
+      const result = await createGrowiPages(data.body.posts, user);
+
+      resolve(result);
     });
     });
   };
   };
 
 
@@ -74,8 +69,13 @@ module.exports = crowi => {
           const isPageNameTaken = await Page.findPage(pagePath, user, null, true);
           const isPageNameTaken = await Page.findPage(pagePath, user, null, true);
 
 
           if (isCreatableName && !isPageNameTaken) {
           if (isCreatableName && !isPageNameTaken) {
-            await Page.create(pagePath, page.body_md, user, { grant: Page.GRANT_PUBLIC, grantUserGroupId: null });
-            createdPages.push(page);
+            try {
+              await Page.create(pagePath, page.body_md, user, { grant: Page.GRANT_PUBLIC, grantUserGroupId: null });
+              createdPages.push(page);
+            }
+            catch (err) {
+              errors.push(err);
+            }
           }
           }
           else {
           else {
             rejectedPages.push(page);
             rejectedPages.push(page);