From babcdd3afe760c9078ddc67beb05c250ec196ee2 Mon Sep 17 00:00:00 2001 From: Matt Roberts Date: Mon, 24 Feb 2014 11:25:51 +0000 Subject: [PATCH 1/5] Adding clockwork SMS to the API mix --- app.js | 4 ++++ controllers/api.js | 33 +++++++++++++++++++++++++++++++++ package.json | 3 ++- views/api/clockwork.jade | 29 +++++++++++++++++++++++++++++ views/api/index.jade | 2 ++ 5 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 views/api/clockwork.jade diff --git a/app.js b/app.js index d8e6cdfd5f..5fb5501e2c 100755 --- a/app.js +++ b/app.js @@ -10,6 +10,8 @@ var mongoose = require('mongoose'); var passport = require('passport'); var expressValidator = require('express-validator'); + + /** * Load controllers. */ @@ -117,6 +119,8 @@ app.get('/api/paypal/cancel', apiController.getPayPalCancel); app.get('/api/steam', apiController.getSteam); app.get('/api/scraping', apiController.getScraping); app.get('/api/twilio', apiController.getTwilio); +app.get('/api/clockwork', apiController.getClockwork); +app.post('/api/clockwork', apiController.postClockwork); app.post('/api/twilio', apiController.postTwilio); app.get('/api/foursquare', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getFoursquare); app.get('/api/tumblr', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getTumblr); diff --git a/controllers/api.js b/controllers/api.js index 87bdf7209e..8139afea18 100644 --- a/controllers/api.js +++ b/controllers/api.js @@ -14,6 +14,7 @@ var Github = require('github-api'); var Twit = require('twit'); var paypal = require('paypal-rest-sdk'); var twilio = require('twilio')(secrets.twilio.sid, secrets.twilio.token); +var clockwork = require('clockwork')({key: secrets.clockwork.apiKey}); /** * GET /api @@ -415,6 +416,38 @@ exports.postTwilio = function(req, res, next) { }); }; + +/** + * GET /api/Clockwork + * Clockwork SMS API example. + */ + +exports.getClockwork = function(req, res, next) { + res.render('api/clockwork', { + title: 'Clockwork SMS API' + }); +}; + + +/** + * POST /api/clockwork + * Clockwork SMS API example. + * @param telephone + */ + +exports.postClockwork = function(req, res, next) { + var message = { + To: req.body.telephone, + From: 'Hackathon', + Content: 'Hello from the Hackathon Starter' + }; + clockwork.sendSms(message, function(err, responseData) { + if (err) return next(err.message); + req.flash('success', { msg: 'Text sent to ' + responseData.SMS_Resp.To}); + res.redirect('/api/clockwork'); + }); +}; + exports.getVenmo = function(req, res, next) { var token = _.findWhere(req.user.tokens, { kind: 'venmo' }); var query = querystring.stringify({ access_token: token.accessToken }); diff --git a/package.json b/package.json index a7512721b1..8d7f31d48b 100755 --- a/package.json +++ b/package.json @@ -34,6 +34,7 @@ "paypal-rest-sdk": "~0.6.4", "connect-mongo": "~0.4.0", "twilio": "~1.5.0", - "validator": "~3.2.1" + "validator": "~3.2.1", + "clockwork": "0.1.0" } } diff --git a/views/api/clockwork.jade b/views/api/clockwork.jade new file mode 100644 index 0000000000..7b523a8aa0 --- /dev/null +++ b/views/api/clockwork.jade @@ -0,0 +1,29 @@ +extends ../layout + +block content + .page-header + h2 + i.fa.fa-phone + | Clockwork SMS API + + .btn-group.btn-group-justified + a.btn.btn-primary(href='http://github.com/mediaburst/node-clockwork', target='_blank') + i.fa.fa-check-square-o + | Clockwork Node + //- a.btn.btn-primary(href='https://apigee.com/console/twilio', target='_blank') + //- i.fa.fa-laptop + //- | API Console + a.btn.btn-primary(href='http://www.clockworksms.com/doc/clever-stuff/xml-interface/send-sms/', target='_blank') + i.fa.fa-code-fork + | XML API + + h4 Send a text message + .row + .col-sm-6 + form(role='form', method='POST') + input(type='hidden', name='_csrf', value=token) + .form-group + .input-group + input.form-control(type='text', name='telephone', placeholder='Phone Number') + span.input-group-btn + button.btn.btn-success(type='submit') Send diff --git a/views/api/index.jade b/views/api/index.jade index 9798ac46fb..c59fc47055 100644 --- a/views/api/index.jade +++ b/views/api/index.jade @@ -26,6 +26,8 @@ block content a(href='/api/steam') Steam li a(href='/api/twilio') Twilio + li + a(href='/api/clockwork') Clockwork SMS li a(href='/api/tumblr') Tumblr small ⇢ Login Required From 675156629dbbc1fb1795a49c44a5c63c2dfc9221 Mon Sep 17 00:00:00 2001 From: Matt Roberts Date: Thu, 27 Feb 2014 16:05:23 +0000 Subject: [PATCH 2/5] Tweak to the clockwork view --- views/api/clockwork.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/api/clockwork.jade b/views/api/clockwork.jade index 7b523a8aa0..af2b9d21e1 100644 --- a/views/api/clockwork.jade +++ b/views/api/clockwork.jade @@ -24,6 +24,6 @@ block content input(type='hidden', name='_csrf', value=token) .form-group .input-group - input.form-control(type='text', name='telephone', placeholder='Phone Number') + input.form-control(type='text', name='telephone', placeholder='Phone Number (international format)') span.input-group-btn button.btn.btn-success(type='submit') Send From 3f9d2f3d7d5ebc895255f6ea4ad67c247aaf1b1b Mon Sep 17 00:00:00 2001 From: Matt Roberts Date: Thu, 27 Feb 2014 16:19:55 +0000 Subject: [PATCH 3/5] Removed commentted out lines from clockwork.jade --- views/api/clockwork.jade | 3 --- 1 file changed, 3 deletions(-) diff --git a/views/api/clockwork.jade b/views/api/clockwork.jade index af2b9d21e1..5b07fb9f1b 100644 --- a/views/api/clockwork.jade +++ b/views/api/clockwork.jade @@ -10,9 +10,6 @@ block content a.btn.btn-primary(href='http://github.com/mediaburst/node-clockwork', target='_blank') i.fa.fa-check-square-o | Clockwork Node - //- a.btn.btn-primary(href='https://apigee.com/console/twilio', target='_blank') - //- i.fa.fa-laptop - //- | API Console a.btn.btn-primary(href='http://www.clockworksms.com/doc/clever-stuff/xml-interface/send-sms/', target='_blank') i.fa.fa-code-fork | XML API From a76a500d7611460c07a396d2243c9dfe61462185 Mon Sep 17 00:00:00 2001 From: Matt Roberts Date: Thu, 27 Feb 2014 16:34:45 +0000 Subject: [PATCH 4/5] Using the newest clockwork npm package --- app.js | 2 +- controllers/api.js | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app.js b/app.js index 913c18bbc8..6e088c49d0 100755 --- a/app.js +++ b/app.js @@ -126,9 +126,9 @@ app.get('/api/paypal/cancel', apiController.getPayPalCancel); app.get('/api/steam', apiController.getSteam); app.get('/api/scraping', apiController.getScraping); app.get('/api/twilio', apiController.getTwilio); +app.post('/api/twilio', apiController.postTwilio); app.get('/api/clockwork', apiController.getClockwork); app.post('/api/clockwork', apiController.postClockwork); -app.post('/api/twilio', apiController.postTwilio); app.get('/api/foursquare', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getFoursquare); app.get('/api/tumblr', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getTumblr); app.get('/api/facebook', passportConf.isAuthenticated, passportConf.isAuthorized, apiController.getFacebook); diff --git a/controllers/api.js b/controllers/api.js index ae7f21f341..1d1460e28e 100644 --- a/controllers/api.js +++ b/controllers/api.js @@ -430,7 +430,7 @@ exports.getClockwork = function(req, res, next) { /** - * POST /api/clockwork + * POST /api/Clockwork * Clockwork SMS API example. * @param telephone */ @@ -443,7 +443,7 @@ exports.postClockwork = function(req, res, next) { }; clockwork.sendSms(message, function(err, responseData) { if (err) return next(err.message); - req.flash('success', { msg: 'Text sent to ' + responseData.SMS_Resp.To}); + req.flash('success', { msg: 'Text sent to ' + responseData.responses[0].to}); res.redirect('/api/clockwork'); }); }; diff --git a/package.json b/package.json index f991b287f0..4551cea270 100755 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "paypal-rest-sdk": "~0.6.4", "connect-mongo": "~0.4.0", "twilio": "~1.5.0", - "clockwork": ">=0.1.0", + "clockwork": "~0.1.1", "validator": "~3.3.0", "csso": "~1.3.11", "uglify-js": "~2.4.12" From bea521f3b33b6c0afcab2b69dee3ecbd0887de66 Mon Sep 17 00:00:00 2001 From: mattwoberts Date: Thu, 27 Feb 2014 20:47:42 +0000 Subject: [PATCH 5/5] Update README.md Added clockwork sms to the api list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6e794ebdc5..8b241d37ce 100644 --- a/README.md +++ b/README.md @@ -293,6 +293,7 @@ List of Packages | underscore | Handy JavaScript utlities library. | | paypal-rest-sdk | PayPal API library. | | twilio | Twilio API library. | +| clockwork | Clockwork SMS API library. | | validator | Used in conjunction with express-validator in **controllers/api.js**. |