aslan-flutter/lib/chatvibe_domain/repositories/dynamic_repository.dart
2026-07-01 18:25:58 +08:00

107 lines
2.5 KiB
Dart

import 'package:aslan/chatvibe_domain/models/req/at_dynamic_create_pic_cmd.dart';
import 'package:aslan/chatvibe_domain/models/res/at_comment_list_res.dart';
import 'package:aslan/chatvibe_domain/models/res/create_dynamic_res.dart';
import 'package:aslan/chatvibe_domain/models/res/dynamic_list_res.dart';
abstract class ChatVibeDynamicRepository {
///创建动态
Future<ChatVibeCreateDynamicRes> create({
String? content,
List<ATDynamicCreatePicCmd>? pics,
});
///最新动态列表
Future<ChatVibeDynamicListRes> dynamicListLatest({int? current, int? size});
///我的动态列表
Future<ChatVibeDynamicListRes> dynamicMyPage(
String userId, {
int? current,
int? size,
});
///点赞动态
Future<num> dynamicLike(String dynamicId, bool like);
///点赞评论
Future<bool> likeComment(
String dynamicId,
String commentId,
num rootCommentId,
String toUserId,
bool like,
);
///动态详情
Future<Records> dynamicDetails(String id);
///主动态评论列表
Future<ATCommentListRes> dynamicListComment(
String dynamicId,
int pageNumber,
int limit,
);
///动态子评论列表
Future<ATCommentListRes> dynamicListCommentChildren(
num rootCommentId,
int pageNumber,
);
///评论动态或回复用户
Future<CommentListRecords> dynamicComment(
String content,
String id, {
String? toUserId,
num? rootCommentId,
String? commentId,
});
///删除动态
Future<bool> dynamicDelete(String id);
///删除评论
Future<num> deleteComment(String id);
///动态关注列表
Future<ChatVibeDynamicListRes> dynamicListFollow({int? current, int? size});
///动态点赞列表
Future<ChatVibeDynamicListRes> dynamicListLike(
String dynamicId, {
int? current,
int? size,
});
///动态礼物列表
Future<ChatVibeDynamicListRes> dynamicListGift(
String dynamicId, {
int? current,
int? size,
});
///举报动态
Future<bool> dynamicReport(
String dynamicContentId,
num reportType, {
String? reportedContent,
String? imageUrls,
});
///校验发送动态权限
Future<bool> dynamicCheckSendPermission({String? userId});
///添加黑名单
Future<bool> dynamicAdminBlacklistAdd(String userId);
///删除黑名单
Future<bool> dynamicAdminBlacklistDelete(String userId);
///我的消息列表
Future<ChatVibeDynamicListRes> dynamicListMessage(
List<String> dynamicMessageEnums, {
int? current,
int? size,
});
}