diff --git a/routes/gitlab.js b/routes/gitlab.js new file mode 100644 index 0000000000000000000000000000000000000000..8af3898f0122a1132754c32dab11d49dc982f049 --- /dev/null +++ b/routes/gitlab.js @@ -0,0 +1,34 @@ +var env = process.env.NODE_ENV || 'testing' +const config = require('../config/config')[env] +const axios = require('axios') +const fs = require('fs') +var formData = require('form-data') + +var gitlab = { + createNewPages: function(newPagesdata, callback) { + let data = new formData() + data.append('avatar', fs.createReadStream(newPagesdata.avatar)) + + let dataConfig = { + method: 'post', + url: 'https://transfer.hft-stuttgart.de/gitlab/api/v4/projects/user/'+newPagesdata.gitlabId+ + '?name='+newPagesdata.name+'&description='+newPagesdata.description+'&tag_list=website'+ + '&use_custom_template=true&template_name=page_basic', + headers: { + 'Authorization': 'Bearer '+config.gitlab.token_readWriteProjects, + ...data.getHeaders() + }, + data : data + } + axios(dataConfig) + .then(function (response) { + callback(response.data) + }) + .catch(function (err) { + if(err) + callback(err.response.data) + }) + } +} + +module.exports = gitlab \ No newline at end of file