|
@@ -15,29 +15,42 @@ module.exports = crowi => {
|
|
|
let esaClient = {};
|
|
let esaClient = {};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * Get teams from esa (Promise wrapper)
|
|
|
|
|
|
|
+ * Initialize importer
|
|
|
*/
|
|
*/
|
|
|
- const getTeamsFromEsa = () => {
|
|
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
|
|
- esaClient.api.team((err, res) => {
|
|
|
|
|
- if (err) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- return reject(err);
|
|
|
|
|
- }
|
|
|
|
|
- resolve(res);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ importer.initialize = () => {
|
|
|
|
|
+ esaClient = esa({
|
|
|
|
|
+ team: config.crowi['importer:esa:team_name'],
|
|
|
|
|
+ accessToken: config.crowi['importer:esa:access_token'],
|
|
|
|
|
+ });
|
|
|
|
|
+ debug('esa client is initialized');
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Import page data from esa to GROWI
|
|
|
|
|
+ */
|
|
|
|
|
+ importer.importPagesFromEsa = user => {
|
|
|
|
|
+ return new Promise(async(resolve, reject) => {
|
|
|
|
|
+ const data = await getAllDataFromEsa();
|
|
|
|
|
+ try {
|
|
|
|
|
+ await createGrowiPages(data.body.posts, user);
|
|
|
|
|
+ resolve();
|
|
|
|
|
+ }
|
|
|
|
|
+ catch (err) {
|
|
|
|
|
+ debug(err);
|
|
|
|
|
+ reject(err);
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* Get posts from esa (Promise wrapper)
|
|
* Get posts from esa (Promise wrapper)
|
|
|
*/
|
|
*/
|
|
|
- const getDataFromEsa = () => {
|
|
|
|
|
|
|
+ const getAllDataFromEsa = () => {
|
|
|
return new Promise((resolve, reject) => {
|
|
return new Promise((resolve, reject) => {
|
|
|
esaClient.api.posts((err, res) => {
|
|
esaClient.api.posts((err, res) => {
|
|
|
if (err) {
|
|
if (err) {
|
|
|
debug(err);
|
|
debug(err);
|
|
|
- reject(err);
|
|
|
|
|
|
|
+ return reject(err);
|
|
|
}
|
|
}
|
|
|
resolve(res);
|
|
resolve(res);
|
|
|
});
|
|
});
|
|
@@ -68,7 +81,7 @@ module.exports = crowi => {
|
|
|
return reject('Page exists');
|
|
return reject('Page exists');
|
|
|
}
|
|
}
|
|
|
debug('Crete page: ' + createdPage);
|
|
debug('Crete page: ' + createdPage);
|
|
|
- return resolve();
|
|
|
|
|
|
|
+ resolve();
|
|
|
})
|
|
})
|
|
|
.catch(err => {
|
|
.catch(err => {
|
|
|
debug(err);
|
|
debug(err);
|
|
@@ -78,47 +91,34 @@ module.exports = crowi => {
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * Initialize importer
|
|
|
|
|
- */
|
|
|
|
|
- importer.initialize = () => {
|
|
|
|
|
- esaClient = esa({
|
|
|
|
|
- team: config.crowi['importer:esa:team_name'],
|
|
|
|
|
- accessToken: config.crowi['importer:esa:access_token'],
|
|
|
|
|
- });
|
|
|
|
|
- debug('esa client is initialized');
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* Import page data from esa to GROWI
|
|
* Import page data from esa to GROWI
|
|
|
*/
|
|
*/
|
|
|
- importer.importPagesFromEsa = user => {
|
|
|
|
|
|
|
+ importer.testConnectionToEsa = () => {
|
|
|
return new Promise(async(resolve, reject) => {
|
|
return new Promise(async(resolve, reject) => {
|
|
|
- const data = await getDataFromEsa();
|
|
|
|
|
try {
|
|
try {
|
|
|
- await createGrowiPages(data.body.posts, user);
|
|
|
|
|
- return resolve();
|
|
|
|
|
|
|
+ await getTeamNameFromEsa();
|
|
|
|
|
+ resolve();
|
|
|
}
|
|
}
|
|
|
catch (err) {
|
|
catch (err) {
|
|
|
debug(err);
|
|
debug(err);
|
|
|
- return reject(err);
|
|
|
|
|
|
|
+ reject(err);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * Import page data from esa to GROWI
|
|
|
|
|
|
|
+ * Get teams from esa (Promise wrapper)
|
|
|
*/
|
|
*/
|
|
|
- importer.testConnectionToEsa = () => {
|
|
|
|
|
- return new Promise(async(resolve, reject) => {
|
|
|
|
|
- try {
|
|
|
|
|
- await getTeamsFromEsa();
|
|
|
|
|
- return resolve();
|
|
|
|
|
- }
|
|
|
|
|
- catch (err) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- return reject(err);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ const getTeamNameFromEsa = () => {
|
|
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
|
|
+ esaClient.api.team((err, res) => {
|
|
|
|
|
+ if (err) {
|
|
|
|
|
+ debug(err);
|
|
|
|
|
+ return reject(err);
|
|
|
|
|
+ }
|
|
|
|
|
+ resolve(res);
|
|
|
|
|
+ });
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|