Skip to content

Commit 1ff5067

Browse files
authored
feat(rtm): create conv supports unique parameter (#431)
2 parents 8134558 + f383d64 commit 1ff5067

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

leancloud/conversation.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,20 @@ class Conversation(Object):
2222
"""
2323
:param name: 会话名称
2424
:param is_system: 是否系统会话
25-
:param is_transient: 是否暂态对话
25+
:param is_transient: 是否暂态会话
26+
:param is_unique: 是否重用成员相同的会话(暂停会话不支持此参数)
2627
"""
27-
def __init__(self, name=None, is_system=False, is_transient=False):
28+
def __init__(self, name=None, is_system=False, is_transient=False, is_unique=True):
2829
super(Conversation, self).__init__()
2930
if name:
3031
self.set('name', name)
3132
if is_system:
3233
self.set('sys', True)
34+
3335
if is_transient:
3436
self.set('tr', True)
37+
else:
38+
self.set('unique', is_unique)
3539

3640
@property
3741
def name(self):
@@ -82,6 +86,13 @@ def is_transient(self):
8286
"""
8387
return self.get('tr')
8488

89+
@property
90+
def is_unique(self):
91+
"""
92+
是否为 unique 会话。
93+
"""
94+
return self.get('unique')
95+
8596
def add_member(self, client_id):
8697
"""
8798
将指定参与者加入会话。

tests/test_conversation.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def test_create_conversation():
2727
conv = Conversation('testConversation')
2828
conv.save()
2929
assert conv.id
30+
assert conv.is_unique
3031
assert not conv.is_system
3132
assert not conv.is_transient
3233
conv.destroy()
@@ -36,6 +37,7 @@ def test_create_conversation():
3637
assert conv.id
3738
assert conv.is_system
3839
assert conv.is_transient
40+
assert not conv.is_unique
3941
conv.destroy()
4042

4143

tests/test_sys_message.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,10 @@ def setup():
2626

2727

2828
def test_sys_message():
29+
conv = Conversation('testConversation', is_system=True)
30+
conv.save()
2931
msg = SysMessage()
30-
msg.set('conv', Conversation.create_without_data('testconversationid'))
32+
msg.set('conv', conv)
3133
msg.set('bin', False)
3234
msg.set('msgId', 'testmsgid')
3335
msg.set('from', 'testfromclient')

0 commit comments

Comments
 (0)