latest digs

This commit is contained in:
Dobie Wollert
2013-09-04 03:05:47 -04:00
parent b4ca8d9ae3
commit 460e8f0be0
12 changed files with 229 additions and 46 deletions

View File

@ -1,11 +1,16 @@
module.exports = function(app, passport) {
app.get('/auth', passport.authenticate('google', {
app.get('/auth', function(req, res, next) {
console.dir(req.headers);
req.session.redirectUrl = req.headers['referer'];
passport.authenticate('google', {
accessType: 'offline',
scope: [
'https://www.googleapis.com/auth/userinfo.profile',
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/calendar'
]}));
]})(req, res, next);
});
app.get('/auth/callback', function(req, res, next) {
var options = {
@ -23,6 +28,10 @@ module.exports = function(app, passport) {
req.session.redirectUrl = null;
}
if (redirectUrl.indexOf('/login') != -1) {
redirectUrl = '/';
}
req.logIn(user, function(err) {
if (err) { return next(err); }
});
@ -34,7 +43,7 @@ module.exports = function(app, passport) {
return {
requiresUiLogin: function(req, res, next) {
if (!req.isAuthenticated()) {
req.session.redirectUrl = req.url;
// req.session.redirectUrl = req.url;
return res.redirect('/login');
}
next();

View File

@ -16,22 +16,36 @@ module.exports = function(config) {
var opts = { baseDiscoveryUrl: 'https://www.googleapis.com/discovery/v1/apis/' };
function toIsoDate(d) {
function pad(n) { return n < 10 ? '0' + n : n }
return d.getUTCFullYear()+'-'
+ pad(d.getUTCMonth()+1)+'-'
+ pad(d.getUTCDate())+'T'
+ pad(d.getUTCHours())+':'
+ pad(d.getUTCMinutes())+':'
+ pad(d.getUTCSeconds())+'Z';
}
return {
scheduleEvent: function(event, callback) {
console.log("schedule event");
api(function(client, callback) {
var resource = buildResource(event, {});
console.log("Insert Google Calendar");
console.log(resource);
var request = client.calendar.events.insert({
var params = {
calendarId: 'primary',
resource: resource
});
};
var resource = buildResource(event, { sequence: 1 });
var request = client.calendar.events.insert(params, resource);
request.withAuthClient(oauth2Client).execute(function(err, result) {
console.log("in request callback");
console.dir(err);
console.dir(result);
callback(err, result);
});
}, callback);
@ -57,24 +71,32 @@ module.exports = function(config) {
resource.sequence = 1;
}
var updateRequest = client.calendar.events.update({
var updateRequest = client.calendar.events.patch({
calendarId: 'primary',
eventId: event.eventId,
resource: buildResource(event, result)
});
eventId: event.eventId
}, buildResource(event, result));
updateRequest.withAuthClient(oauth2Client).execute(function(err, result) {
callback(err, result);
});
});
}, callback);
},
deleteEvent: function(eventId, callback) {
api(function(client, callback) {
var request = client.calendar.events.delete({
calendarId: 'primary',
eventId: eventId
});
request.withAuthClient(oauth2Client).execute(function(err, result) {
callback(err, result);
});
}, callback);
}
};
function buildResource(event, resource) {
console.log(event.start);
console.log(event.end);
resource.summary = event.summary;
resource.description = event.description;
resource.location = event.location;