166 lines
3.3 KiB
Dart
166 lines
3.3 KiB
Dart
import 'dart:typed_data';
|
|
|
|
import 'package:dio/dio.dart';
|
|
|
|
import 'server.dart';
|
|
|
|
Future<Map<String, dynamic>> createGroupChat(
|
|
String supervisor,
|
|
List<String> members,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/create',
|
|
data: {
|
|
'supervisor': supervisor,
|
|
'members': members,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> inviteMembers(
|
|
String groupChatId,
|
|
List<String> members,
|
|
) async {
|
|
Response response = await request.post('/group_chat/invite_members', data: {
|
|
'group_chat_id': groupChatId,
|
|
'members': members,
|
|
});
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> getGroupChatMemberNameAvatar(
|
|
String groupChatId,
|
|
String memberId,
|
|
bool isFriend,
|
|
) async {
|
|
Response response = await request.get(
|
|
'/group_chat/member_name_avatar',
|
|
queryParameters: {
|
|
'group_chat_id': groupChatId,
|
|
'member_id': memberId,
|
|
'is_friend': isFriend,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> getGroupChatFullProfile(String groupChatId) async {
|
|
Response response = await request.get(
|
|
'/group_chat/full_profile',
|
|
queryParameters: {'group_chat_id': groupChatId},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> changeGroupChatAvatar(
|
|
String groupChatId,
|
|
Uint8List avatar,) async {
|
|
Response response = await request.post(
|
|
'/group_chat/change_avatar',
|
|
queryParameters: {
|
|
'group_chat_id': groupChatId,
|
|
},
|
|
data: {
|
|
'file': avatar,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> changeGroupChatName(
|
|
String groupChatId,
|
|
String newName,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/change_name',
|
|
queryParameters: {
|
|
'group_chat_id': groupChatId,
|
|
'new_name': newName,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> changeGroupChatIntro(
|
|
String groupChatId,
|
|
String newIntro,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/change_intro',
|
|
queryParameters: {
|
|
'group_chat_id': groupChatId,
|
|
'new_intro': newIntro,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> changeMyRemark(
|
|
String userId,
|
|
String groupChatId,
|
|
String newMyRemark,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/change_my_remark',
|
|
queryParameters: {
|
|
'user_id': userId,
|
|
'group_chat_id': groupChatId,
|
|
'new_my_remark': newMyRemark,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> changeGroupChatRemark(
|
|
String userId,
|
|
String groupChatId,
|
|
String newRemark,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/change_remark',
|
|
queryParameters: {
|
|
'user_id': userId,
|
|
'group_chat_id': groupChatId,
|
|
'new_remark': newRemark,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> deleteGroupChat(
|
|
String groupChatId,
|
|
List<String> members,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/delete',
|
|
data: {'group_chat_id': groupChatId, 'members': members},
|
|
);
|
|
|
|
return response.data;
|
|
}
|
|
|
|
Future<Map<String, dynamic>> quitGroupChat(
|
|
String groupChatId,
|
|
String memberId,
|
|
) async {
|
|
Response response = await request.post(
|
|
'/group_chat/quit',
|
|
queryParameters: {
|
|
'group_chat_id': groupChatId,
|
|
'member_id': memberId,
|
|
},
|
|
);
|
|
|
|
return response.data;
|
|
}
|