mobile app chat notifications theme
This commit is contained in:
15
app.py
15
app.py
@@ -720,6 +720,21 @@ def api_accept_friend(request_id):
|
||||
if not req or req.friend_id != user_id or req.status != 'pending':
|
||||
return jsonify({'success': False, 'message': '请求不存在或无权操作'}), 404
|
||||
req.status = 'accepted'
|
||||
# 自动创建私聊室,让好友立即出现在聊天列表
|
||||
friend_user_id = req.user_id
|
||||
my_rooms = db.session.query(ChatRoomMember.room_id).filter_by(user_id=user_id).subquery()
|
||||
target_rooms = db.session.query(ChatRoomMember.room_id).filter_by(user_id=friend_user_id).subquery()
|
||||
existing_room = ChatRoom.query.filter(
|
||||
ChatRoom.type == 'private',
|
||||
ChatRoom.id.in_(db.session.query(my_rooms.c.room_id)),
|
||||
ChatRoom.id.in_(db.session.query(target_rooms.c.room_id))
|
||||
).first()
|
||||
if not existing_room:
|
||||
room = ChatRoom(type='private', creator_id=user_id)
|
||||
db.session.add(room)
|
||||
db.session.flush()
|
||||
db.session.add(ChatRoomMember(room_id=room.id, user_id=user_id, role='member'))
|
||||
db.session.add(ChatRoomMember(room_id=room.id, user_id=friend_user_id, role='member'))
|
||||
db.session.commit()
|
||||
return jsonify({'success': True, 'message': '好友已添加'})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user