fetchUrl(values.input, function(error, meta, body){ console.log('>>>>>>>>>>>>>>>' + meta.finalUrl); finalUrl = meta.finalUrl; var ind = finalUrl.indexOf('pinterest.com'); var pieces = finalUrl.substring(ind+13+1).split('/'); pinterest_user = pieces[0]; pinterest_board = pieces[1]; console.log('>>>>> pinterest user: '******'>>>>> pinterest board: ' + pinterest_board); // var pinterest = pinterestAPI(pinterest_user); var pinterest = pinterestAPI('juliana211'); pinterest.getPinsFromBoard('my-dream-house', true, function (pins) { for (var i=0; i<pins.data.length; i++){ console.log(pins.data[i].images['237x'].url); } messenger.send({text: `Thanks for sharing your Pinterest board. Taking a look...`}, sender); setTimeout(function(){ messenger.send({text: 'Wow, great taste! We found contemporary themes in your Pinterest board. Here are some great listings to check out.'}, sender); salesforce.findProperties({Home_Style__c: 'Contemporary'}).then(properties => { messenger.send(formatter.formatProperties(properties), sender); }); }, 2222); }); });
User.findOne({id:req.user.id}, function(err,user) { console.log("/items user",user) if(err) { console.log("Some kind of error fetching pins",err) res.sendStatus(400,err) } if(user.pin_username == null || user.pin_board == null) { res.sendStatus(400,err) } else { console.log("Returned user",user) var p = pinterest(user.pin_username) board = String(user.pin_board).replace("\\&([^;]{6})","")// .replace("\ufeff", ""); console.log("board",board) p.getPinsFromBoard(board, true, function (pins) { var keys = [] for (var v in pins.data) { keys.push(pins.data[v].id) } pinterest.getDataForPins(keys,function(data) { console.log("FULLDUMP",data) // Yeah... rewrite this for (var v in data.data) { var obj = {} var o = data.data[v] if(o.rich_metadata == null) { console.log("dropping", o) continue } obj.id = o.id ? o.id : "" obj.img = o.images["237x"].url ? o.images["237x"].url : "" obj.link = o.link ? o.link : "" var price = o.rich_metadata.products[0].offer_summary.price // Adjust for the aussies only for now var price_adjust = price.split("$")[0] == "A" ? price.split("$")[1] * .75 : price.split("$")[1] obj.price = price_adjust // console.log(obj) items.push(obj) } res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify(items)) }) }); } })
app.get('/user/pin-exist',ensureAuthenticated,function(req,res,next){ var p = pinterest(req.query.user) var b = [] try { p.getBoards(true, function(boards) { for(var v in boards.data) { b.push(String(boards.data[v].href).split('/')[2]) } res.setHeader('Content-Type', 'application/json'); res.send(JSON.stringify(b)) }) } catch(e) { console.log("error in fetching pin exists",e) res.setHeader('Content-Type', 'application/json'); res.send("No Boards or error") } })
exports.create = function(req, res) { if(!req.body.accountName || !req.body.boardName) { return res.status(400).send({ message: 'Account name or board name missing' }); } var pinterest = pinterestAPI(req.body.accountName); pinterest.setObtainDates(false); // default and max is 50 // pinterest.setItemsPerPage(50); pinterest.getPinsFromBoard(req.body.boardName, true, function (pins) { async.forEach(pins.data, function (pin, callback){ // adding some data pin._id = pin.id + req.user._id; pin.accountName = req.body.accountName; pin.boardName = req.body.boardName; pin.imageLink = pin.images['237x'].url; // replace some special character pin.description = pin.description.replace(/é/g, 'é'); pin.description = pin.description.replace(/<3/g, '♥'); pin.description = pin.description.replace(/ /g, ' '); pin = new Pin(pin); pin.user = req.user; pin.save(function(err) { callback(); // tell async that the iterator has completed }); }, function(err) { res.json({}); }); }); };
, passport = require('passport') , StravaStrategy = require('passport-strava-oauth2').Strategy , strava = require('strava-v3') , pinterest = require('pinterest-api') , mongoose = require('mongoose'); app.use(express.static(__dirname + '/views')); app.use(express.static(__dirname + '/public')); app.set('view engine', 'jade'); app.use(morgan('dev')); app.use(bodyParser()); app.use(sessions({ secret: 'shutuplegs' })); app.use(passport.initialize()); app.use(passport.session()); app.use(methodOverride()); var pin = pinterest("readywater"); // Mongoose var User = require('./model/User.js'); var Claimed = require('./model/Claimed.js') mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost/peddler-test'); // STRAVA METHODS (Auth and passport) passport.serializeUser(function(user, done) { console.log("serializeUser") console.log(user) done(null, user._id); }); passport.deserializeUser(function(id, done) {