56 lines
1.3 KiB
Dart
56 lines
1.3 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:solian/services.dart';
|
|
|
|
class PostProvider extends GetConnect {
|
|
@override
|
|
void onInit() {
|
|
httpClient.baseUrl = ServiceFinder.services['interactive'];
|
|
}
|
|
|
|
Future<Response> listFeed(int page, {int? realm}) async {
|
|
final queries = [
|
|
'take=${10}',
|
|
'offset=$page',
|
|
if (realm != null) 'realmId=$realm',
|
|
];
|
|
final resp = await get('/api/feed?${queries.join('&')}');
|
|
if (resp.statusCode != 200) {
|
|
throw Exception(resp.body);
|
|
}
|
|
|
|
return resp;
|
|
}
|
|
|
|
Future<Response> listPost(int page, {int? realm}) async {
|
|
final queries = [
|
|
'take=${10}',
|
|
'offset=$page',
|
|
if (realm != null) 'realmId=$realm',
|
|
];
|
|
final resp = await get('/api/posts?${queries.join('&')}');
|
|
if (resp.statusCode != 200) {
|
|
throw Exception(resp.body);
|
|
}
|
|
|
|
return resp;
|
|
}
|
|
|
|
Future<Response> listPostReplies(String alias, int page) async {
|
|
final resp = await get('/api/posts/$alias/replies?take=${10}&offset=$page');
|
|
if (resp.statusCode != 200) {
|
|
throw Exception(resp.body);
|
|
}
|
|
|
|
return resp;
|
|
}
|
|
|
|
Future<Response> getPost(String alias) async {
|
|
final resp = await get('/api/posts/$alias');
|
|
if (resp.statusCode != 200) {
|
|
throw Exception(resp.body);
|
|
}
|
|
|
|
return resp;
|
|
}
|
|
}
|