好友:拉黑bug,添加申请等推送
This commit is contained in:
@@ -62,22 +62,30 @@ export default class FriendRelation extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async moveFromFriend(roleId: string, friend: RoleType, friendShip: FriendShipType, toBlack: boolean ) {
|
||||
let update = {
|
||||
$pull: { friends: { roleId: friend.roleId } }
|
||||
public static async moveFromFriend(roleId: string, friend: RoleType, friendShip: FriendShipType, toBlack: boolean, hasFriend: boolean ) {
|
||||
let update = {}
|
||||
let setOnInsert = {};
|
||||
if(hasFriend) {
|
||||
update['$pull'] = { friends: { roleId: friend.roleId } };
|
||||
} else {
|
||||
setOnInsert['friends'] = [];
|
||||
}
|
||||
if(toBlack) {
|
||||
update['$push'] = { blacklist: { roleId: friend.roleId, role: friend._id, friendShip: friendShip? friendShip._id: null } };
|
||||
} else {
|
||||
setOnInsert['blacklist'] = [];
|
||||
}
|
||||
update['$setOnInsert'] = setOnInsert;
|
||||
|
||||
let result: FriendRelationType = await FriendRelationModel.findOneAndUpdate({ roleId }, update, { new: true });
|
||||
let result: FriendRelationType = await FriendRelationModel.findOneAndUpdate({ roleId }, update, { upsert: true, new: true });
|
||||
return result
|
||||
}
|
||||
|
||||
public static async removeFromBlack(roleId: string, frdRoleId: string ) {
|
||||
let result: FriendRelationType = await FriendRelationModel.findOneAndUpdate({ roleId }, {
|
||||
$pull: { blacklist: { roleId: frdRoleId } }
|
||||
}, { new: true });
|
||||
$pull: { blacklist: { roleId: frdRoleId } },
|
||||
$setOnInsert: { friends: [] }
|
||||
}, { upsert: true, new: true });
|
||||
return result
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user