tencent_cloud_chat_uikit/lib/data_services/friendShip/friendship_services.dart

95 lines
4.1 KiB
Dart

import 'package:tencent_cloud_chat_sdk/enum/V2TimFriendshipListener.dart';
import 'package:tencent_cloud_chat_sdk/enum/friend_application_type_enum.dart';
import 'package:tencent_cloud_chat_sdk/enum/friend_response_type_enum.dart';
import 'package:tencent_cloud_chat_sdk/enum/friend_type_enum.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_callback.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_callback.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_friend_application_result.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_friend_application_result.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_friend_check_result.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_friend_check_result.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_friend_info.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_friend_info.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_friend_info_result.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_friend_info_result.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_friend_operation_result.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_friend_operation_result.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_friend_search_param.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_friend_search_param.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_user_full_info.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_user_full_info.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_user_status.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_user_status.dart';
import 'package:tencent_cloud_chat_sdk/models/v2_tim_value_callback.dart'
if (dart.library.html) 'package:tencent_cloud_chat_sdk/web/compatible_models/v2_tim_value_callback.dart';
abstract class FriendshipServices {
Future<List<V2TimFriendInfoResult>?> getFriendsInfo({
required List<String> userIDList,
});
Future<List<V2TimUserFullInfo>?> getUsersInfo({
required List<String> userIDList,
});
Future<List<V2TimFriendOperationResult>?> addToBlackList({
required List<String> userIDList,
});
Future<V2TimValueCallback<V2TimFriendOperationResult>> addFriend({
required String userID,
required FriendTypeEnum addType,
String? remark,
String? friendGroup,
String? addSource,
String? addWording,
});
Future<List<V2TimFriendOperationResult>?> deleteFromBlackList({
required List<String> userIDList,
});
Future<List<V2TimFriendOperationResult>?> deleteFromFriendList({
required List<String> userIDList,
required FriendTypeEnum deleteType,
});
Future<List<V2TimFriendInfo>?> getFriendList();
Future<List<V2TimFriendInfoResult>?> searchFriends({
required V2TimFriendSearchParam searchParam,
});
Future<List<V2TimFriendInfo>?> getBlackList();
Future<List<V2TimFriendCheckResult>?> checkFriend({
required List<String> userIDList,
required FriendTypeEnum checkType,
});
Future<void> addFriendListener({
required V2TimFriendshipListener listener,
});
Future<void> removeFriendListener({
V2TimFriendshipListener? listener,
});
Future<V2TimFriendApplicationResult?> getFriendApplicationList();
Future<V2TimFriendOperationResult?> acceptFriendApplication(
{required FriendResponseTypeEnum responseType, required FriendApplicationTypeEnum type, required String userID});
Future<V2TimFriendOperationResult?> refuseFriendApplication(
{required FriendApplicationTypeEnum type, required String userID});
Future<V2TimCallback> setFriendInfo({
required String userID,
String? friendRemark,
Map<String, String>? friendCustomInfo,
});
Future<List<V2TimUserStatus>> getUserStatus({
required List<String> userIDList,
});
}