forked from kaverti/website
Improve friends
This commit is contained in:
parent
e3e78c71d0
commit
ff3e10cacf
|
@ -30,7 +30,7 @@ router.post('/send', auth, async(req, res, next) => {
|
|||
Relationship.create({friend1Id: user.id, friend2Id: user2.id, type: 'pending'})
|
||||
Relationship.create({friend1Id: user2.id, friend2Id: user.id, type: 'pendingCanAccept'})
|
||||
res.status(200)
|
||||
res.json(user.toJSON())
|
||||
res.json({success: true})
|
||||
} else {
|
||||
res.status(400)
|
||||
res.json({success: false})
|
||||
|
@ -41,36 +41,32 @@ router.post('/send', auth, async(req, res, next) => {
|
|||
|
||||
router.get('/:username', auth, async(req, res, next) => {
|
||||
try {
|
||||
if(req.body.friend !== undefined) {
|
||||
let queryObj = {
|
||||
where: {username: req.userData.username}
|
||||
}
|
||||
let user = await User.findOne(queryObj)
|
||||
let queryObj2 = {
|
||||
where: {username: req.body.friend}
|
||||
}
|
||||
let user2 = await User.findOne(queryObj2)
|
||||
if (!user) {
|
||||
throw Errors.unknown
|
||||
}
|
||||
if(!user2) {
|
||||
throw Errors.accountDoesNotExist
|
||||
}
|
||||
let checkIfSent = await Relationship.findOne({
|
||||
where: {friend1Id: user.id, friend2Id: user2.id}
|
||||
})
|
||||
if (checkIfSent) {
|
||||
throw Errors.friendRequestAlreadySent
|
||||
}
|
||||
Relationship.create({friend1Id: user.id, friend2Id: user2.id, type: 'pending'})
|
||||
Relationship.create({friend1Id: user2.id, friend2Id: user.id, type: 'pendingCanAccept'})
|
||||
let queryObj = {
|
||||
where: {username: req.userData.username}
|
||||
}
|
||||
let user = await User.findOne(queryObj)
|
||||
if (!user) {
|
||||
res.status(200)
|
||||
res.json(user.toJSON())
|
||||
} else {
|
||||
res.status(400)
|
||||
res.json({success: false})
|
||||
}
|
||||
|
||||
let queryObj2 = {
|
||||
where: {username: req.params.username}
|
||||
}
|
||||
let user2 = await User.findOne(queryObj2)
|
||||
if(!user2) {
|
||||
throw Errors.accountDoesNotExist
|
||||
}
|
||||
let checkIfSent = await Relationship.findOne({
|
||||
where: {friend1Id: user.id, friend2Id: user2.id},
|
||||
include: [{ model: User, as: 'friend1', attributes: ['username', 'createdAt', 'id', 'color', 'picture', 'locked', 'admin', 'booster', 'executive', 'bot'] }, { model: User, as: 'friend2', attributes: ['username', 'createdAt', 'id', 'color', 'picture', 'locked', 'admin', 'booster', 'executive', 'bot'] } ]
|
||||
})
|
||||
if (checkIfSent) {
|
||||
res.status(200)
|
||||
res.json(checkIfSent.toJSON())
|
||||
} else {
|
||||
res.status(200)
|
||||
res.json({type: 'notFriends'})
|
||||
}
|
||||
} catch (err) { next(err) }
|
||||
})
|
||||
module.exports = router
|
||||
|
|
Loading…
Reference in New Issue