2026-07-01 18:25:58 +08:00

103 lines
3.0 KiB
Dart

import 'package:aslan/chatvibe_domain/models/res/at_famaily_leader_board_res.dart';
import 'package:aslan/chatvibe_domain/models/res/family_base_info_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_family_home_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_family_level_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_family_list_member_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_family_list_message_res.dart';
import 'package:aslan/chatvibe_domain/models/res/family_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_family_my_apply_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/at_family_news_list_res.dart';
abstract class ChatVibeFamilyRepository {
///创建家族
Future<num> createFamily(
String familyAvatar,
String familyName,
String familyIntro,
);
///获取加载列表
Future<ChatVibeFamilyListRes> familyList({
String? familyAccount,
int? current,
int? size,
});
///根据家族id获取家族详情
Future<ChatVibeFamilyBaseInfoRes> familyBaseInfo({String? familyId});
///根据用户id获取家族详情
Future<ChatVibeFamilyBaseInfoRes> familyUserBaseInfo(String userId);
///我的家族申请列表.
Future<List<ATFamilyMyApplyListRes>> familyMyApplyList({num? lastId});
///取消家族申请.
Future<bool> familyCancelApply({num? msgId});
///族长审核列表
Future<List<ATFamilyListMessageRes>> familyListMessage({String? lastId});
///家族成员列表
Future<ATFamilyListMemberRes> familyListMember({
String? familyId,
String? account,
int? pageNo,
int? pageSize,
});
///家族成员Top10排行榜
Future<ATFamailyLeaderBoardRes> familyMemberTop10(String familyId);
///家族成员Top100总排行榜
Future<ATFamailyLeaderBoardRes> familyMemberTop100(String familyId);
///编辑家族信息.
Future<bool> familyEdit(
String familyAvatar,
String familyName,
String familyIntro,
String familyNotice,
);
///投入宝箱金币.
Future<bool> familyBoxContribute(String familyId);
///家族消息处理.
Future<bool> familyMessageHandle(String familyMessageId, String event);
///申请加入家族.
Future<bool> familyApplyJoin(String familyId);
///用户主动退出家族.
Future<bool> familyUserExit();
///授权用户家族权限.
Future<bool> familyGrantUserRole(String authorizedMemberId, String roleKey);
///家族踢人
Future<bool> familyRemoveUser(String removeMemberId);
///领取宝箱奖励.
Future<bool> familyBoxClaim(num level);
///重新申请
Future<bool> familyReapply(String msgId);
///解散家族
Future<bool> familyDisband();
///家族等级配置
Future<List<ATFamilyLevelRes>> familyLevelConfig();
///首页家族列表.
Future<ATFamilyHomeListRes> familyHomeList({int? pageNo, int? pageSize});
///家族动态列表
Future<ATFamilyNewsListRes> familyNewsList(
String familyId, {
int? pageNo,
int? pageSize,
});
}