jsbin/lib/dropbox/index.js
2014-04-10 16:23:11 +01:00

43 lines
1.0 KiB
JavaScript

'use strict';
var passport = require('passport');
var DropboxOAuth2Strategy = require('passport-dropbox-oauth2').Strategy;
var active = false;
var noop = function () {};
try {
var zmq = require('zmq');
var socket = zmq.socket('push');
} catch (err){
zmq = null
socket = {
send: noop
}
};
module.exports = function (options) {
return !!zmq ? {
initialize: function () {
socket.bind(options.dropbox.port, function(err) {
console.error(err);
});
passport.use(new DropboxOAuth2Strategy({
clientID: options.dropbox.id,
clientSecret: options.dropbox.secret,
callbackURL: options.dropbox.callback
}, function (accessToken, refreshToken, profile, done) {
profile.accessToken = accessToken;
done(null, profile);
}
));
}
} : { initialize: noop }
};
module.exports.saveBin = function (file, fileName, user) {
socket.send(JSON.stringify({
type:'dropbox',
file: file,
fileName: fileName,
token: user.dropbox_token
}));
};