mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Display the list of members of a group
This commit is contained in:
@ -1,9 +1,11 @@
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:comunic/lists/group_members_list.dart';
|
||||
import 'package:comunic/lists/groups_list.dart';
|
||||
import 'package:comunic/models/advanced_group_info.dart';
|
||||
import 'package:comunic/models/api_request.dart';
|
||||
import 'package:comunic/models/group.dart';
|
||||
import 'package:comunic/models/group_membership.dart';
|
||||
import 'package:comunic/utils/api_utils.dart';
|
||||
import 'package:comunic/utils/map_utils.dart';
|
||||
|
||||
@ -254,6 +256,18 @@ class GroupsHelper {
|
||||
.addString("password", password)
|
||||
.execWithThrow();
|
||||
|
||||
/// Get the list of members of the group
|
||||
///
|
||||
/// Throws in case of failure
|
||||
static Future<GroupMembersList> getMembersList(int groupID) async =>
|
||||
GroupMembersList()
|
||||
..addAll((await APIRequest(uri: "groups/get_members", needLogin: true)
|
||||
.addInt("id", groupID)
|
||||
.execWithThrow())
|
||||
.getArray()
|
||||
.map((f) => _apiToGroupMembership(f))
|
||||
.toList());
|
||||
|
||||
/// Turn an API entry into a group object
|
||||
Group _getGroupFromAPI(Map<String, dynamic> map) {
|
||||
return Group(
|
||||
@ -290,4 +304,13 @@ class GroupsHelper {
|
||||
likes: map["number_likes"],
|
||||
userLike: map["is_liking"],
|
||||
);
|
||||
|
||||
/// Create [GroupMembership] object from API entry
|
||||
static GroupMembership _apiToGroupMembership(Map<String, dynamic> row) =>
|
||||
GroupMembership(
|
||||
userID: row["user_id"],
|
||||
groupID: row["group_id"],
|
||||
timeCreate: row["time_create"],
|
||||
level: _APIGroupsMembershipLevelsMap[row["level"]],
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user