|
@@ -9,8 +9,6 @@ module.exports = function(crowi) {
|
|
|
, request = require('request')
|
|
, request = require('request')
|
|
|
, esa = require('esa-nodejs')
|
|
, esa = require('esa-nodejs')
|
|
|
, esaClient = {}
|
|
, esaClient = {}
|
|
|
- , qiita = require('./qiitaClient')
|
|
|
|
|
- , qiitaClient = {}
|
|
|
|
|
, Page = crowi.model('Page')
|
|
, Page = crowi.model('Page')
|
|
|
, User = crowi.model('User')
|
|
, User = crowi.model('User')
|
|
|
, pageRouter = require('../routes/page')(crowi)
|
|
, pageRouter = require('../routes/page')(crowi)
|
|
@@ -29,11 +27,7 @@ module.exports = function(crowi) {
|
|
|
});
|
|
});
|
|
|
debug('esa client is initialized');
|
|
debug('esa client is initialized');
|
|
|
}
|
|
}
|
|
|
- qiitaClient = qiita({
|
|
|
|
|
- team: config.crowi['importer:qiita:team_name'],
|
|
|
|
|
- accessToken: config.crowi['importer:qiita:access_token'],
|
|
|
|
|
- });
|
|
|
|
|
- debug('qiita client is initialized');
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Get teams from esa (Promise wrapper)
|
|
* Get teams from esa (Promise wrapper)
|
|
|
*/
|
|
*/
|
|
@@ -120,80 +114,8 @@ module.exports = function(crowi) {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /**
|
|
|
|
|
- * Get posts from qiita (Promise wrapper)
|
|
|
|
|
- */
|
|
|
|
|
- function getPostsFromQiita() {
|
|
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
|
|
- qiitaClient.api.posts(function(err, res) {
|
|
|
|
|
- if (err) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- reject(err);
|
|
|
|
|
- }
|
|
|
|
|
- resolve(res);
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * Import post data from qiita to GROWI
|
|
|
|
|
- */
|
|
|
|
|
- importer.importAllPostsFromQiita = function(user) {
|
|
|
|
|
- /* Get posts from qiita */
|
|
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
|
|
- getPostsFromQiita()
|
|
|
|
|
- .then(function(res) {
|
|
|
|
|
- /* Import to GROWI */
|
|
|
|
|
- var basePage = '/';
|
|
|
|
|
- var ignoreNotFound = true;
|
|
|
|
|
- res.body.posts.forEach(function(post) {
|
|
|
|
|
- var pagePath = basePage + [post.category, post.name].filter(v => v).join('/')
|
|
|
|
|
- Page.findPage(pagePath, user, null, ignoreNotFound)
|
|
|
|
|
- .then(function(data) {
|
|
|
|
|
- if (data !== null) {
|
|
|
|
|
- reject('Page exists');
|
|
|
|
|
- }
|
|
|
|
|
- return Page.create(pagePath, post.body_md, user, { grant: Page.GRANT_PUBLIC, grantUserGroupId: null });
|
|
|
|
|
- })
|
|
|
|
|
- .then(function(createdPage) {
|
|
|
|
|
- if (!createdPage) {
|
|
|
|
|
- reject('Page exists');
|
|
|
|
|
- }
|
|
|
|
|
- debug('Crete page: ' + createdPage);
|
|
|
|
|
- resolve();
|
|
|
|
|
- })
|
|
|
|
|
- .catch(function(err) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- reject(err);
|
|
|
|
|
- })
|
|
|
|
|
- });
|
|
|
|
|
- })
|
|
|
|
|
- .catch(function(err) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- reject(err);
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /**
|
|
|
|
|
- * Import post data from esa to GROWI
|
|
|
|
|
- */
|
|
|
|
|
- importer.testConnectionToQiita = function() {
|
|
|
|
|
- return new Promise(function(resolve, reject) {
|
|
|
|
|
- getTeamsFromQiita()
|
|
|
|
|
- .then(function(res) {
|
|
|
|
|
- resolve();
|
|
|
|
|
- })
|
|
|
|
|
- .catch(function(err) {
|
|
|
|
|
- debug(err);
|
|
|
|
|
- reject(err);
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
initialize();
|
|
initialize();
|
|
|
importer.esaClient = esaClient;
|
|
importer.esaClient = esaClient;
|
|
|
- importer.qiitaClient = qiitaClient;
|
|
|
|
|
|
|
|
|
|
return importer;
|
|
return importer;
|
|
|
};
|
|
};
|