Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions app/js/users/controllers/profile_controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ module.exports = function(app) {
return correct/total;
};

}])
}
}]);
};
9 changes: 8 additions & 1 deletion app/js/users/controllers/scorecard_controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ module.exports = function(app) {
$scope.user = $rootScope.user;
}

$http.put('/api/savescore', { correct: $rootScope.right, category: $rootScope.gameData.category })
.then(function(res) {
$rootScope.user = res.data.msg;
}, function(res) {
console.log(res);
});

var scoreArr = $rootScope.scoreArr;
$scope.right = $rootScope.right;
$scope.wrong = $rootScope.wrong;
Expand Down Expand Up @@ -57,4 +64,4 @@ module.exports = function(app) {
};
$scope.showResults();
}])
};
};
8 changes: 4 additions & 4 deletions app/templates/views/profile_view.html
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,19 @@ <h1 class="icon-avatar-bw">TriviApp</h1>
<ul class="stats-list">
<li class="sports">
<p>Sports</p>
<progress value="70" max="100" class="icon-starbar"></progress>
<progress value="{{user.sports.rating}}" max="100" class="icon-starbar"></progress>
</li>
<li class="entertainment">
<p>Entertainment</p>
<progress value="10" max="100" class="icon-starbar"></progress>
<progress value="{{user.entertainment.rating}}" max="100" class="icon-starbar"></progress>
</li>
<li class="history">
<p>History</p>
<progress value="45" max="100" class="icon-starbar"></progress>
<progress value="{{user.history.rating}}" max="100" class="icon-starbar"></progress>
</li>
<li class="science">
<p>Science</p>
<progress value="85" max="100" class="icon-starbar"></progress>
<progress value="{{user.science.rating}}" max="100" class="icon-starbar"></progress>
</li>
</ul>
<!-- <p>{{user.category1.correct}}</p> -->
Expand Down
29 changes: 12 additions & 17 deletions models/user_model.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,27 @@ var userSchema = new Schema({
password: String,
token: String,
avatar: String,
category1: {
sports: {
correct: Number,
total: Number
total: Number,
rating: Number
},
category2: {
entertainment: {
correct: Number,
total: Number
total: Number,
rating: Number
},
category3: {
history: {
correct: Number,
total: Number
total: Number,
rating: Number
},
category4: {
science: {
correct: Number,
total: Number
total: Number,
rating: Number
}
});
//user stats
userSchema.methods.userCategoryStats = function(category) {
if(err) return err;
this.category = category;
var correct = this.correct;
var total = this.total;
var average = correct/total;
return average;
};

userSchema.methods.generateHash = function(pw, cb) {
bcrypt.hash(pw, 8, function(err, hash) {
Expand Down
1 change: 0 additions & 1 deletion routes/categories_routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ var categoryRouter = module.exports = exports = express.Router();
categoryRouter.use(passport.initialize());

categoryRouter.get('/categories/:category', bearerAuth.bearerAuthentication, function (req, res) {

Category.findOne({category: req.params.category}, function (err, data) {
if (err) return (err, res);
var questions = _.sample(data.questions, 5);
Expand Down
39 changes: 25 additions & 14 deletions routes/users_routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,13 @@ usersRouter.post('/signup', jsonParser, function(req, res) {
newUser.avatar = req.body.avatar;
var winLoss = {
correct: 0,
total: 0
total: 0,
rating: 0
};
newUser.category1 = winLoss;
newUser.category2 = winLoss;
newUser.category3 = winLoss;
newUser.category4 = winLoss;
newUser.sports = winLoss;
newUser.entertainment = winLoss;
newUser.history = winLoss;
newUser.science = winLoss;
newUser.generateHash(req.body.password, function(err, hash) {
if (err) return handleError.err500(err, res);
newUser.generateToken(function(err, token) {
Expand All @@ -31,7 +32,6 @@ usersRouter.post('/signup', jsonParser, function(req, res) {
if (err) return handleError.err500(err, res);
var user = data.toObject();
delete user.password;
console.log('signup route saved user: ', user);
handleResponse.send201(res, user);
});
});
Expand All @@ -41,24 +41,35 @@ usersRouter.post('/signup', jsonParser, function(req, res) {
usersRouter.get('/signin', basicAuth.basicAuthentication, function(req, res) {
var user = req.user.toObject();
delete user.password;
console.log('signin route toObject var: ', user);
handleResponse.send200(res, user);
});

usersRouter.get('/username', bearerAuth.bearerAuthentication, function(req, res) {
var user = req.user.toObject();
delete user.password;
console.log('username route toObject var: ', user);
handleResponse.send200(res, req.user)
});

usersRouter.put('/savescore', bearerAuth.bearerAuthentication, jsonParser, function(req, res) {
var category = req.body.category;
var correct = req.body.correct;
var userRecord = req.user[category]
var updateObj = {};
userRecord.correct += correct;
userRecord.total += 5;
userRecord.rating = userRecord.correct / userRecord.total * 100;
updateObj[category] = userRecord;
console.log('updateObj: ', updateObj);
User.findByIdAndUpdate(req.user._id, updateObj, { 'new': true }, function(err, data) {
if (err) return handleError.err500(err, res);
var user = data.toObject();
delete user.password;
console.log('savescore updated user: ', user);
handleResponse.send200(res, user);
});
});

usersRouter.get('/errRoute', function(req, res) {
res.append('WWW-Authenticate', 'Bad authentikitty!');
handleError.err401(null, res);
});