conversation_handlers.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:chat 作者: SkygearIO 项目源码 文件源码
def __validate_conversation(participants):
    first_row = None
    with db.conn() as conn:
        result = conn.execute("""
                              SELECT c._id FROM
                                %(schema_name)s.conversation AS c
                                WHERE
                                    c.distinct_by_participants = TRUE
                                AND
                                (
                                    SELECT COUNT(DISTINCT uc.user)
                                    FROM %(schema_name)s.user_conversation
                                    AS uc
                                    WHERE
                                        uc.conversation = c._id
                                    AND
                                        uc.user IN %(user_ids)s
                                ) = %(count)s
                              """, {'schema_name': AsIs(_get_schema_name()),
                                    'user_ids': tuple(participants),
                                    'count': len(participants)})
        first_row = result.first()
    valid = first_row is None
    if not valid:
        raise ConversationAlreadyExistsException(first_row[0])
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号