Improve friends

This commit is contained in:
Troplo 2020-11-23 22:35:19 +11:00
parent e3e78c71d0
commit ff3e10cacf
1 changed files with 24 additions and 28 deletions

View File

@ -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