|
@@ -1,8 +1,6 @@
|
|
|
import Esa from 'esa-node';
|
|
import Esa from 'esa-node';
|
|
|
import loggerFactory from '~/utils/logger';
|
|
import loggerFactory from '~/utils/logger';
|
|
|
|
|
|
|
|
-// const esa = require('esa-nodejs');
|
|
|
|
|
-
|
|
|
|
|
const logger = loggerFactory('growi:util:importer');
|
|
const logger = loggerFactory('growi:util:importer');
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -24,13 +22,8 @@ module.exports = (crowi) => {
|
|
|
* Initialize importer
|
|
* Initialize importer
|
|
|
*/
|
|
*/
|
|
|
importer.initializeEsaClient = () => {
|
|
importer.initializeEsaClient = () => {
|
|
|
- // esaClient = esa({
|
|
|
|
|
- // team: configManager.getConfig('crowi', 'importer:esa:team_name'),
|
|
|
|
|
- // accessToken: configManager.getConfig('crowi', 'importer:esa:access_token'),
|
|
|
|
|
- // });
|
|
|
|
|
const team = configManager.getConfig('crowi', 'importer:esa:team_name');
|
|
const team = configManager.getConfig('crowi', 'importer:esa:team_name');
|
|
|
const accessToken = configManager.getConfig('crowi', 'importer:esa:access_token');
|
|
const accessToken = configManager.getConfig('crowi', 'importer:esa:access_token');
|
|
|
-
|
|
|
|
|
esaClient = new Esa(accessToken, team);
|
|
esaClient = new Esa(accessToken, team);
|
|
|
logger.debug('initialize esa importer');
|
|
logger.debug('initialize esa importer');
|
|
|
};
|
|
};
|
|
@@ -61,13 +54,9 @@ module.exports = (crowi) => {
|
|
|
*/
|
|
*/
|
|
|
const importPostsFromEsa = (pageNum, user, errors) => {
|
|
const importPostsFromEsa = (pageNum, user, errors) => {
|
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
|
- esaClient.posts({ page: pageNum, per_page: 100 }, async(err, res) => {
|
|
|
|
|
- const nextPage = res.body.next_page;
|
|
|
|
|
- const postsReceived = res.body.posts;
|
|
|
|
|
-
|
|
|
|
|
- if (err) {
|
|
|
|
|
- reject(new Error(`error in page ${pageNum}: ${err}`));
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ esaClient.posts({ page: pageNum, per_page: 100 }).then(async(res) => {
|
|
|
|
|
+ const nextPage = res.next_page;
|
|
|
|
|
+ const postsReceived = res.posts;
|
|
|
|
|
|
|
|
const data = convertEsaDataForGrowi(postsReceived, user);
|
|
const data = convertEsaDataForGrowi(postsReceived, user);
|
|
|
const newErrors = await createGrowiPages(data);
|
|
const newErrors = await createGrowiPages(data);
|
|
@@ -77,6 +66,9 @@ module.exports = (crowi) => {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
resolve(errors.concat(newErrors));
|
|
resolve(errors.concat(newErrors));
|
|
|
|
|
+
|
|
|
|
|
+ }).catch((err) => {
|
|
|
|
|
+ reject(new Error(`error in page ${pageNum}: ${err}`));
|
|
|
});
|
|
});
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
@@ -178,25 +170,15 @@ module.exports = (crowi) => {
|
|
|
* Get teams from esa (Promise wrapper)
|
|
* Get teams from esa (Promise wrapper)
|
|
|
*/
|
|
*/
|
|
|
const getTeamNameFromEsa = () => {
|
|
const getTeamNameFromEsa = () => {
|
|
|
- // return new Promise((resolve, reject) => {
|
|
|
|
|
-
|
|
|
|
|
- // // esaClient.api.team(team, (err, res) => {
|
|
|
|
|
- // // if (err) {
|
|
|
|
|
- // // return reject(err);
|
|
|
|
|
- // // }
|
|
|
|
|
- // // resolve(res);
|
|
|
|
|
- // // });
|
|
|
|
|
- // const team = esaClient.team();
|
|
|
|
|
- // logger.debug('ESA', team);
|
|
|
|
|
- // if (team) {
|
|
|
|
|
- // resolve(team);
|
|
|
|
|
- // }
|
|
|
|
|
- // else {
|
|
|
|
|
- // reject();
|
|
|
|
|
- // }
|
|
|
|
|
- // });
|
|
|
|
|
- const team = configManager.getConfig('crowi', 'importer:esa:team_name')''
|
|
|
|
|
- return esaClient.team(team);
|
|
|
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
|
+ const team = configManager.getConfig('crowi', 'importer:esa:team_name');
|
|
|
|
|
+ esaClient.team(team).then((res) => {
|
|
|
|
|
+ resolve(res);
|
|
|
|
|
+ }).catch((err) => {
|
|
|
|
|
+ return reject(err);
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
// initialize when server starts
|
|
// initialize when server starts
|