From 233752a9c735bd418f4a4ffe540774df50a7ddde Mon Sep 17 00:00:00 2001 From: Baris Usakli Date: Tue, 14 May 2013 16:44:43 -0400 Subject: [PATCH] why does urls dont work when put into address bar --- public/templates/account.tpl | 5 +++++ src/routes/user.js | 33 ++++++++++++++++++++++++++++++++- src/user.js | 17 +++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/public/templates/account.tpl b/public/templates/account.tpl index c74286d953..058231d03a 100644 --- a/public/templates/account.tpl +++ b/public/templates/account.tpl @@ -101,6 +101,11 @@ var theirid = '{theirid}'; } addFriendBtn.on('click', function() { + $.post('/users/addfriend', {uid: theirid}, + function(data) { + + } + ); return false; }); diff --git a/src/routes/user.js b/src/routes/user.js index 73e6964ea7..038c8529cf 100644 --- a/src/routes/user.js +++ b/src/routes/user.js @@ -183,9 +183,35 @@ var user = require('./../user.js'), res.send({}); }); + app.post('/users/addfriend', function(req, res){ + if(!req.user) + return res.redirect('/403'); + + if(req.user.uid == req.body.uid) + return res.redirect('/'); + + user.addFriend(req.user.uid, req.body.uid, function(err, data) { + if(err) + res.send({error:err}); + else + res.send(data); + }); + }); + + app.get('/users/:username/friends', function(req, res){ + + if(!req.user) + return res.redirect('/403'); + + user.get_uid_by_username(req.params.username, function(uid) { + user.getFriends(uid, function(data) { + res.send(JSON.stringify(data, null, 0)); + }); + }); + }); function api_method(req, res) { - + console.log("fail "+req.params.section); var callerUID = req.user?req.user.uid : 0; if (!req.params.section && !req.params.username) { @@ -195,6 +221,9 @@ var user = require('./../user.js'), res.send(JSON.stringify({users:data})); }); + } + else if(String(req.params.section).toLowerCase() === 'friends') { + } else if (String(req.params.section).toLowerCase() === 'edit') { getUserDataByUserName(req.params.username, callerUID, function(userData) { @@ -210,6 +239,8 @@ var user = require('./../user.js'), app.get('/api/users/:username?/:section?', api_method); + + function getUserDataByUserName(username, callerUID, callback) { user.get_uid_by_username(username, function(uid) { diff --git a/src/user.js b/src/user.js index 71e588d719..3b75a70315 100644 --- a/src/user.js +++ b/src/user.js @@ -354,6 +354,23 @@ var config = require('../config.js'), }); } + User.addFriend = function(uid, friendid, callback) { + RDB.sadd('user:'+uid+':friends', friendid, function(err, data){ + if(err === null) + callback(data); + else + console.log(err); + }) + } + + User.getFriends = function(uid, callback) { + RDB.smembers('user:'+uid+':friends', function(err, data){ + if(err === null) + callback(data); + else + console.log(err); + }); + } User.exists = function(username, callback) { User.get_uid_by_username(username, function(exists) {