Example #1
0
def accept_friend():
    if not request.data:
        return INVALID_PARAM()
    
    req = json.loads(request.data)
    request_id = req.get('request_id')
    friend_uid = req.get('uid')
    if not request_id or not friend_uid:
        return INVALID_PARAM()
    
    friend_req = Friend.get_friend_request(g._db, request_id)
    if not friend_req:
        return INVALID_PARAM()

    if friend_req['uid'] != friend_uid or \
       friend_req['friend_uid'] != request.uid:
        return INVALID_PARAM()
    
    #添加双向的好友关系
    Friend.add_friend_relation(g._db, friend_req['uid'], friend_req['friend_uid'])
    
    sys_msg = {"friend":{"type":"accept", "uid":request.uid}}
    gobelieve.send_system_message(friend_req['uid'], json.dumps(sys_msg))
    
    return make_response(200, {"success":True})