diff --git a/app/js/users/controllers/profile_controller.js b/app/js/users/controllers/profile_controller.js
index 18278a6..fa1a865 100644
--- a/app/js/users/controllers/profile_controller.js
+++ b/app/js/users/controllers/profile_controller.js
@@ -14,5 +14,5 @@ module.exports = function(app) {
return correct/total;
};
- }])
-}
+ }]);
+};
diff --git a/app/js/users/controllers/scorecard_controller.js b/app/js/users/controllers/scorecard_controller.js
index 79df826..2fc9802 100644
--- a/app/js/users/controllers/scorecard_controller.js
+++ b/app/js/users/controllers/scorecard_controller.js
@@ -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;
@@ -57,4 +64,4 @@ module.exports = function(app) {
};
$scope.showResults();
}])
-};
\ No newline at end of file
+};
diff --git a/app/templates/views/profile_view.html b/app/templates/views/profile_view.html
index ad97e79..e28db2d 100644
--- a/app/templates/views/profile_view.html
+++ b/app/templates/views/profile_view.html
@@ -10,19 +10,19 @@
TriviApp
-
Sports
-
+
-
Entertainment
-
+
-
History
-
+
-
Science
-
+
diff --git a/models/user_model.js b/models/user_model.js
index 4f1d27b..3f50b07 100644
--- a/models/user_model.js
+++ b/models/user_model.js
@@ -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) {
diff --git a/routes/categories_routes.js b/routes/categories_routes.js
index 740784b..19e8425 100644
--- a/routes/categories_routes.js
+++ b/routes/categories_routes.js
@@ -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);
diff --git a/routes/users_routes.js b/routes/users_routes.js
index e2dacd0..d1f0516 100644
--- a/routes/users_routes.js
+++ b/routes/users_routes.js
@@ -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) {
@@ -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);
});
});
@@ -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);
});
-
-
-
-
-
-