53 lines
1.5 KiB
Dart
53 lines
1.5 KiB
Dart
import 'package:flutter_common/utils/convert_utils.dart';
|
|
import 'package:flutter_common/utils/http_utils.dart';
|
|
import 'package:food_hub_app/config/app_config.dart';
|
|
import 'package:food_hub_app/models/moment.dart';
|
|
|
|
final httpUtil = HttpUtil(baseUrl: AppConfig.baseApiUrl);
|
|
|
|
Future<bool> addMomentApi(Moment moment) {
|
|
return httpUtil.post<bool>("/moment", data: moment);
|
|
}
|
|
|
|
Future<bool> updateMomentApi(int id, Moment moment) {
|
|
return httpUtil.put<bool>("/moment/$id", data: moment);
|
|
}
|
|
|
|
Future<bool> deleteMomentApi(int id) {
|
|
return httpUtil.delete<bool>("/moment/$id");
|
|
}
|
|
|
|
Future<List<Moment>> queryMomentListApi() {
|
|
return httpUtil.get<List<Moment>>(
|
|
"/moment",
|
|
converter: (data) => convertList<Moment>(data, Moment.fromJson),
|
|
);
|
|
}
|
|
|
|
Future<List<Moment>> queryMomentListByUserIdApi(int userId) {
|
|
return httpUtil.get<List<Moment>>(
|
|
"/moment/$userId",
|
|
converter: (data) => convertList<Moment>(data, Moment.fromJson),
|
|
);
|
|
}
|
|
|
|
Future<PageMoment> queryMomentByPageApi(int currentPage, int pageSize) {
|
|
return httpUtil.get<PageMoment>(
|
|
"/moment/page",
|
|
queryParameters: {"currentPage": currentPage, "pageSize": pageSize},
|
|
converter: (data) => PageMoment.fromJson(data),
|
|
);
|
|
}
|
|
|
|
Future<bool> addMomentCommentApi(int id, String content) {
|
|
return httpUtil.post<bool>("/moment/$id/comment", data: content);
|
|
}
|
|
|
|
Future<bool> addMomentLikeApi(int id) {
|
|
return httpUtil.post<bool>("/food/moment/$id/like");
|
|
}
|
|
|
|
Future<bool> deleteMomentLikeApi(int id) {
|
|
return httpUtil.delete<bool>("/food/moment/$id/like");
|
|
}
|