Skip to content

Commit 9f2a982

Browse files
committed
Add api for requesting shelter
1 parent 50a3fb4 commit 9f2a982

File tree

3 files changed

+44
-1
lines changed

3 files changed

+44
-1
lines changed

server/api/users/model/User.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const userModel = new Schema({
1515
// first_name: { type: String, required: true },
1616
// last_name: { type: String, required: true },
1717
password: { type: String, required: true },
18-
shelter: { type: Schema.Types.ObjectId, ref: 'Shelter' }
18+
shelter: { type: Schema.Types.ObjectId, ref: 'Shelter' },
19+
shelterRequestLngLat: { type: String, required: true }
1920
});
2021
module.exports = mongoose.model('User', userModel);
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
const User = require('../model/User')
2+
3+
module.exports = {
4+
method: 'GET',
5+
path: '/api/users/request',
6+
options: {
7+
handler: async (request, h) => {
8+
const user = await User.findOne({
9+
_id: request.auth.credentials.id
10+
}).lean()
11+
12+
return { lngLat: user.shelterRequestLngLat }
13+
},
14+
auth: {
15+
strategy: 'jwt'
16+
},
17+
description: 'Returns coordinates for shelter request'
18+
}
19+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
const User = require('../model/User')
2+
3+
module.exports = {
4+
method: 'POST',
5+
path: '/api/users/request',
6+
options: {
7+
handler: async (request, h) => {
8+
const user = await User.findOneAndUpdate({
9+
_id: request.auth.credentials.id
10+
}, {
11+
shelterRequestLngLat: request.payload.lngLat
12+
}, {
13+
new: true
14+
})
15+
16+
return user
17+
},
18+
auth: {
19+
strategy: 'jwt'
20+
},
21+
description: 'Request shelter'
22+
}
23+
}

0 commit comments

Comments
 (0)