mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-03-13 21:03:53 +00:00
add functionality for writing new member to google sheets
This commit is contained in:
@@ -24,6 +24,7 @@
|
|||||||
"cors": "^2.7.1",
|
"cors": "^2.7.1",
|
||||||
"express": "^4.11.0",
|
"express": "^4.11.0",
|
||||||
"lodash": "^3.10.1",
|
"lodash": "^3.10.1",
|
||||||
|
"moment": "^2.18.1",
|
||||||
"morgan": "^1.5.1",
|
"morgan": "^1.5.1",
|
||||||
"newrelic": "^1.18.0",
|
"newrelic": "^1.18.0",
|
||||||
"node-twitter": "0.5.2",
|
"node-twitter": "0.5.2",
|
||||||
|
|||||||
@@ -1,10 +1,54 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var Promise = require('bluebird');
|
var Promise = require('bluebird');
|
||||||
|
var GoogleSpreadsheet = require('google-spreadsheet');
|
||||||
|
var async = require('async');
|
||||||
|
var moment = require('moment');
|
||||||
|
|
||||||
|
// spreadsheet key is the long id in the sheets URL
|
||||||
|
var doc = new GoogleSpreadsheet('1BUL1pjaXVlO5MRuOk-W5MEmKqxfzGnj7eFMif8tIVaU');
|
||||||
|
var sheet;
|
||||||
|
|
||||||
var slack = require('../services/slack');
|
var slack = require('../services/slack');
|
||||||
var config = require('../lib/config');
|
var config = require('../lib/config');
|
||||||
var stripe = require('stripe')(config.stripe.secretKey);
|
var stripe = require('stripe')(config.stripe.secretKey);
|
||||||
|
|
||||||
|
|
||||||
|
function addNewMemberToSheets(name, email, residence, slackHandle) {
|
||||||
|
async.series([
|
||||||
|
function setAuth(step) {
|
||||||
|
console.log('Start Google Spreadsheed auth.');
|
||||||
|
var creds = require('../Koodiklinikka-f802649bba5e.json');
|
||||||
|
doc.useServiceAccountAuth(creds, step);
|
||||||
|
},
|
||||||
|
function getInfoAndWorksheets(step) {
|
||||||
|
console.log('Start Google Spreadsheet info fetch.');
|
||||||
|
doc.getInfo(function(err, info) {
|
||||||
|
sheet = info.worksheets[0];
|
||||||
|
step();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
function workingWithRows(step) {
|
||||||
|
console.log('Start Google Spreadsheet row write.');
|
||||||
|
sheet.addRow({
|
||||||
|
'jäsenmaksu': true,
|
||||||
|
'koko nimi': name,
|
||||||
|
'liittymispäivä': moment().format('DD.MM.YYYY'),
|
||||||
|
'lisääjä': 'Koodiklinikka.fi-api',
|
||||||
|
'paikkakunta': residence,
|
||||||
|
'slack': slackHandle,
|
||||||
|
'sähköposti': email
|
||||||
|
}, function(err){
|
||||||
|
console.log(`Error: ${err}`);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
], function(err){
|
||||||
|
if( err ) {
|
||||||
|
console.log(`Error: ${err}`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = function (app) {
|
module.exports = function (app) {
|
||||||
/*
|
/*
|
||||||
* POST /membership
|
* POST /membership
|
||||||
@@ -35,6 +79,8 @@ module.exports = function (app) {
|
|||||||
console.log(message);
|
console.log(message);
|
||||||
slack.createMessage(message);
|
slack.createMessage(message);
|
||||||
|
|
||||||
|
addNewMemberToSheets(req.body.userInfo.name, req.body.userInfo.email, req.body.userInfo.residence, req.body.userInfo.handle);
|
||||||
|
|
||||||
res.status(200).send({status_text: 'payment_success'});
|
res.status(200).send({status_text: 'payment_success'});
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user