mirror of
https://gitlab.com/comunic/comunicmobile
synced 2024-11-25 22:39:22 +00:00
Can add members to conversation
This commit is contained in:
parent
5d0ead5889
commit
bd73e265cc
@ -49,6 +49,15 @@ class ConversationsHelper {
|
||||
return response.getObject()["conversationID"];
|
||||
}
|
||||
|
||||
/// Add a member to a conversation.
|
||||
///
|
||||
/// Throws in case of failure
|
||||
static Future<void> addMember(int convID, int userID) async =>
|
||||
await APIRequest.withLogin("conversations/addMember")
|
||||
.addInt("convID", convID)
|
||||
.addInt("userID", userID)
|
||||
.execWithThrow();
|
||||
|
||||
/// Remove a member from a conversation.
|
||||
///
|
||||
/// Throws in case of failure
|
||||
|
@ -166,14 +166,11 @@ class _UpdateConversationScreen extends State<UpdateConversationScreen> {
|
||||
|
||||
// Add a member to the conversation
|
||||
PickUserWidget(
|
||||
resetOnChoose: true,
|
||||
keepFocusOnChoose: true,
|
||||
label: tr("Add member"),
|
||||
enabled: _canAddMembers,
|
||||
onSelectUser: (user) => setState(() {
|
||||
if (!_members.contains(user)) _members.insert(0, user);
|
||||
}),
|
||||
),
|
||||
resetOnChoose: true,
|
||||
keepFocusOnChoose: true,
|
||||
label: tr("Add member"),
|
||||
enabled: _canAddMembers,
|
||||
onSelectUser: (user) => _addMember(user)),
|
||||
|
||||
//Conversation members
|
||||
Column(
|
||||
@ -229,6 +226,20 @@ class _UpdateConversationScreen extends State<UpdateConversationScreen> {
|
||||
}
|
||||
}
|
||||
|
||||
void _addMember(User user) async {
|
||||
try {
|
||||
if (_members.contains(user)) return;
|
||||
|
||||
if (isUpdating)
|
||||
await ConversationsHelper.addMember(_conversation.id, user.id);
|
||||
|
||||
setState(() => _members.insert(0, user));
|
||||
} catch (e, s) {
|
||||
logError(e, s);
|
||||
snack(context, tr("Failed to add member to conversation!"));
|
||||
}
|
||||
}
|
||||
|
||||
void _removeMember(User user) async {
|
||||
try {
|
||||
if (isUpdating)
|
||||
|
Loading…
Reference in New Issue
Block a user