Просмотр исходного кода

async importPostsFromQiita and reset qiita importer

mizozobu 7 лет назад
Родитель
Сommit
db1658a418
2 измененных файлов с 27 добавлено и 23 удалено
  1. 10 0
      lib/service/rest-qiita-API.js
  2. 17 23
      lib/util/importer.js

+ 10 - 0
lib/service/rest-qiita-API.js

@@ -27,6 +27,16 @@ class RestQiitaAPIService {
     this.axios = getAxios(this.team, this.token);
     this.axios = getAxios(this.team, this.token);
   }
   }
 
 
+  /**
+   * @memberof RestQiitaAPI
+   * @param {string} team
+   * @param {string} token
+   */
+  async reset() {
+    this.team = this.config.crowi['importer:qiita:team_name'];
+    this.token = this.config.crowi['importer:qiita:access_token'];
+  }
+
   /**
   /**
    * get Qiita API
    * get Qiita API
    * @memberof RestQiitaAPI
    * @memberof RestQiitaAPI

+ 17 - 23
lib/util/importer.js

@@ -21,6 +21,9 @@ module.exports = crowi => {
       accessToken: config.crowi['importer:esa:access_token'],
       accessToken: config.crowi['importer:esa:access_token'],
     });
     });
     logger.info('initialize esa importer');
     logger.info('initialize esa importer');
+
+    restQiitaAPIService.reset();
+    logger.info('initialize qiita importer');
   };
   };
 
 
   /**
   /**
@@ -74,29 +77,20 @@ module.exports = crowi => {
    * post page data from qiita and create GROWI page
    * post page data from qiita and create GROWI page
    * @param {string} pageNum default value is '1'
    * @param {string} pageNum default value is '1'
    */
    */
-  const importPostsFromQiita = (pageNum, user, errors) => {
-    return new Promise((resolve, reject) => {
-      const per_page = '100';
-      restQiitaAPIService.getQiitaPages(pageNum, per_page)
-        .then(function(res) {
-          const next = pageNum * per_page + 1;
-          const postsReceived = res.pages;
-          const pageTotal = res.total;
-          const data = convertQiitaDataForGrowi(postsReceived, user);
-
-          createGrowiPages(data)
-            .then(function(newErrors) {
-              if (next <= pageTotal) {
-                return resolve(importPostsFromQiita(next, user, errors.concat(newErrors)));
-              }
-
-              resolve(errors.concat(newErrors));
-            });
-        })
-        .catch(function(err) {
-          reject(err);
-        });
-    });
+  const importPostsFromQiita = async(pageNum, user, errors) => {
+    const per_page = '100';
+    const res = await restQiitaAPIService.getQiitaPages(pageNum, per_page);
+    const next = pageNum * per_page;
+    const postsReceived = res.pages;
+    const pageTotal = res.total;
+    const data = convertQiitaDataForGrowi(postsReceived, user);
+
+    const newErrors = await createGrowiPages(data);
+    if (next < pageTotal) {
+      return importPostsFromQiita(next, user, errors.concat(newErrors));
+    }
+
+    return errors.concat(newErrors);
   };
   };
 
 
   /**
   /**