Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
de936e5
New team member added to about/team page
banstack Aug 12, 2021
c8a4112
Merge branch 'master' of https://github.com/engaging-computing/MYR-ba…
banstack Aug 12, 2021
53c3801
Added new member to team about page
banstack Aug 12, 2021
efecc0f
Added usersettings in google login schema and controller to pull it
Jlu18 Nov 1, 2021
3f8dbc1
grid image (backend)
Nov 1, 2021
9e4901a
Modified bit so it will save the updated settings
Jlu18 Nov 8, 2021
f33bde0
Merge branch 'dev' of https://github.com/engaging-computing/myr-backe…
Jlu18 Nov 26, 2021
b5fd002
Removed darkMode field and change it to fontSize to match with fronte…
Jlu18 Jan 13, 2022
42b28ee
Merge branch 'dev' into jkmyrbackend
kdvalin Jan 13, 2022
e18545e
Merge pull request #273 from jf-kelly/jkmyrbackend
kdvalin Jan 13, 2022
4159123
Merge branch 'dev' into about-update
kdvalin Jan 13, 2022
54bd66b
Merge pull request #245 from bryanmontalvan/about-update
kdvalin Jan 13, 2022
c1a9b5f
Merge branch 'dev' into usersetting
kdvalin Jan 13, 2022
db4201f
Added myself to the team page, as well as centered the cards on the p…
jdones01 Jan 15, 2022
1767c74
Merge branch 'dev' into teamAdd
kdvalin Jan 26, 2022
dee36bf
Merge pull request #301 from jdones01/teamAdd
kdvalin Jan 26, 2022
6bec83c
Remove firebase dependency
kdvalin Jan 26, 2022
930733f
Merge branch 'dev' of github.com:engaging-computing/MYR-backend into …
kdvalin Jan 26, 2022
2813b52
Updated package lock
kdvalin Jan 26, 2022
b749e32
Removed Google Firebase from privacy statement
kdvalin Jan 26, 2022
9041957
Bump jest from 24.9.0 to 27.4.7
dependabot[bot] Jan 26, 2022
af308c3
Merge pull request #294 from engaging-computing/dependabot/npm_and_ya…
kdvalin Jan 26, 2022
9653b05
Merge branch 'dev' of https://github.com/engaging-computing/myr-backe…
Jlu18 Feb 2, 2022
df0d579
Merge branch 'dev' of https://github.com/engaging-computing/myr-backe…
Jlu18 Feb 2, 2022
ef21e63
Merge branch 'usersetting' of https://github.com/jlu18/myr-backend in…
Jlu18 Feb 2, 2022
951c036
Fixed UID check for getUserSettings, Removed a comment
Jlu18 Feb 2, 2022
9dbc9ab
Merge pull request #298 from Jlu18/usersetting
kdvalin Feb 2, 2022
1093d44
Merge branch 'dev' of https://github.com/engaging-computing/MYR-backe…
kdvalin Feb 16, 2022
67a83a0
fixed node version in docker-compose.yml
davidjonesma Feb 17, 2022
85d20a7
Merge pull request #310 from davidjonesma/dockerfix
kdvalin Feb 17, 2022
358726f
Merge pull request #304 from kdvalin/remove-firebase-depend
kdvalin Feb 22, 2022
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
89 changes: 88 additions & 1 deletion apiv1/controllers/GoogleLoginController.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
const { isAdmin } = require('../authorization/verifyAuth');
const { isAdmin, verifyGoogleToken } = require('../authorization/verifyAuth');
const GoogleLoginModel = require('../models/GoogleLoginModel');
const ObjectId = require('mongoose').Types.ObjectId;

Expand Down Expand Up @@ -75,5 +75,92 @@ module.exports = {
}

return resp.status(200).json(account);
},
getUserSetting : async function(req,resp){
let uid = req.headers['x-access-token'];

if(!uid || uid === "1"){
return resp.status(401).json({
message: "Invalid userID supplied",
error: "Unauthorized"
});
}

uid = await verifyGoogleToken(req.headers['x-access-token']);

if(!uid){
return resp.status(404).json({
message: "Failed to Found the supplied UserID",
error: "Not Found"
});
}

let setting;
try {
const user = await GoogleLoginModel.findOne({_id:uid});
setting = user.userSettings;
}catch(err){
return resp.status(500).json({
message: "Error finding User Setting",
error: err
});
}
return resp.json(setting);

},
updateUserSetting: async function(req,resp){
let id = req.params.id;
let body = req.body;

if(!req.headers['x-access-token']){
return resp.status(400).json({
message: "Missing user ID",
error: "Bad Request"
});
}

if(Object.keys(body) === 0 || body === undefined){
return resp.status(400).json({
message: "Missing required fields",
error: (Object.keys(body) == 0 ? "No body provided" : "No settings provided")
});
}

let uid = await verifyGoogleToken(req.headers['x-access-token']);
if(!uid){
return resp.status(401).json({
message: "Invalid token recieved",
error: "Unauthorized"
});
}

let googleId;
try {
googleId = await GoogleLoginModel.findById(uid);
} catch (err) {
return resp.status(500).json({
message: "Error getting id",
error: err
});
}

if(!googleId){
return resp.status(404).json({
message: `Could not find googleId "${id}"`,
error: "Id not found"
});
}

googleId.userSettings = body;
try {
await googleId.save();
}catch(err){
return resp.status(500).json({
message: "Error updating user settings",
error: err
});
}

return resp.status(200).json(googleId);
}
};
11 changes: 8 additions & 3 deletions apiv1/models/GoogleLoginModel.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
let mongoose = require('mongoose');
let Schema = mongoose.Schema;

let GoogleAccountSchema = new Schema({
const UserSetting = {
"fontSize": { type: Number, default: 12 }
};

const GoogleAccountSchema = new Schema({
"email": String,
"googleId": String
"googleId": String,
'userSettings':UserSetting
});

module.exports = mongoose.model('GoogleLogin', GoogleAccountSchema);
module.exports = mongoose.model('GoogleLogin', GoogleAccountSchema);
4 changes: 4 additions & 0 deletions apiv1/routes/GoogleLoginRoutes.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,8 @@ router.get('/', GoogleLoginController.list);

router.get('/id/:id', GoogleLoginController.getByID);

router.get('/settings', GoogleLoginController.getUserSetting);

router.put('/settings', GoogleLoginController.updateUserSetting);

module.exports = router;
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ services:
- "8081:8081"

API:
image: node
image: node:12
links:
- database
volumes:
Expand Down
Loading