Skip to content

Commit e784b8d

Browse files
committed
saving user in mongodb atlas with firebase admin
1 parent 7c2b1c8 commit e784b8d

File tree

5 files changed

+50
-36
lines changed

5 files changed

+50
-36
lines changed

backend/controllers/userControllers.js

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,37 @@
11
const firebaseAdmin = require('../firebase')
2+
const Users = require('../models/users')
3+
24

35
const UserControllers = (
46
function() {
57

68
const currentUser = async (req, res) => {
7-
console.log('req.headers: ', req.headers.token);
9+
810
try {
911
const firebaseUser = await firebaseAdmin.auth().verifyIdToken(req.headers.token)
12+
const user = await Users.findOne({email:firebaseUser.email })
1013

11-
console.log('req: ', firebaseUser);
12-
res.json(firebaseUser)
13-
14+
if(user) {
15+
res.json(user)
16+
} else {
17+
const newUser = new Users({
18+
name: firebaseUser.name || '',
19+
fullName: firebaseUser.fullName || '',
20+
email: firebaseUser.email || '',
21+
firstName: firebaseUser.firstName || '',
22+
lastName: firebaseUser.lastName || '',
23+
picture: firebaseUser.picture || '',
1424

25+
})
26+
newUser.save()
27+
res.json(newUser)
28+
}
1529
} catch (error) {
30+
console.log('error: ', error);
1631
res.status(401).json({
1732
error
1833
})
1934
}
20-
// const userInfo = await req.oidc.fetchUserInfo()
21-
22-
// const user = await User.findOne({auth0Id: req.oidc.user.sub})
23-
// if(user) {
24-
// console.log('User exist')
25-
// } else {
26-
// console.log('New User')
27-
// const oidcUserInfo = {
28-
// auth0Id: req.oidc.user.sub,
29-
// firstName: req.oidc.user.given_name,
30-
// lastName: req.oidc.user.family_name,
31-
// fullName: req.oidc.user.name,
32-
// picture: req.oidc.user.picture,
33-
// email: req.oidc.user.email
34-
// }
35-
// new User(oidcUserInfo).save()
36-
// }
37-
3835
}
3936

4037
return {

backend/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ app.use(express.json())
1414
const publicRoutes = require('./routes/publicRoutes')
1515

1616
// models
17-
const userModel = require('./models/users')
17+
// const UserModel = require('./models/users')
1818

1919
// DB connection
2020
mongoose.connect(process.env.MONGODB_URI, {useNewUrlParser: true, useUnifiedTopology: true}, function(error) {
@@ -31,7 +31,7 @@ mongoose.connect(process.env.MONGODB_URI, {useNewUrlParser: true, useUnifiedTopo
3131
})
3232

3333
// schema models
34-
userModel()
34+
// UserModel()
3535

3636
// auth0 middleware end
3737

backend/models/users.js

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,35 @@ const mongoose = require('mongoose')
22

33
const { Schema } = mongoose
44

5-
const userModel = () => {
5+
// const UserModel = () => {
66

77
const userSchema = new Schema({
8-
firstName: String,
9-
lastName: String,
10-
fullName: String,
8+
firstName: {
9+
type: String,
10+
trim: true
11+
},
12+
lastName: {
13+
type: String,
14+
trim: true
15+
},
16+
fullName: {
17+
type: String,
18+
trim: true
19+
},
20+
name: {
21+
type: String,
22+
trim: true,
23+
require: true
24+
},
1125
picture: String,
12-
email: String
13-
})
14-
mongoose.model('users', userSchema)
15-
}
26+
email: {
27+
type: String,
28+
trim: true,
29+
unique: true,
30+
require: true
31+
}
32+
}, { timestamps:true })
33+
// mongoose.model('Users', userSchema)
34+
// }
1635

17-
module.exports = userModel
36+
module.exports = mongoose.model('Users', userSchema)

backend/routes/publicRoutes.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
1-
const mongoose = require('mongoose')
21
const UserControllers = require('../controllers/userControllers')
32

43
const authRoutes = (app) => {
5-
const User = mongoose.model('users')
6-
74
app.post('/current-user', UserControllers.currentUser)
85
}
96
module.exports = authRoutes

frontend/src/components/signin.jsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ export default function SignIn() {
7676
googleLogin()
7777
.then(res=>{
7878
console.log('res: ', res);
79+
history.push("/")
7980
})
8081
.catch(err=> {
8182
console.log('err: ', err);

0 commit comments

Comments
 (0)