together_mobile/lib/request/group_chat.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;
}