Realm posts

This commit is contained in:
2024-05-29 22:42:11 +08:00
parent 5f06fc4f9d
commit 6bb29dfbc0
12 changed files with 321 additions and 37 deletions

View File

@ -7,8 +7,13 @@ class PostProvider extends GetConnect {
httpClient.baseUrl = ServiceFinder.services['interactive'];
}
Future<Response> listPost(int page) async {
final resp = await get('/api/feed?take=${10}&offset=$page');
Future<Response> listPost(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);
}

View File

@ -3,6 +3,21 @@ import 'package:solian/providers/auth.dart';
import 'package:solian/services.dart';
class RealmProvider extends GetxController {
Future<Response> getRealm(String alias) async {
final AuthProvider auth = Get.find();
if (!await auth.isAuthorized) throw Exception('unauthorized');
final client = GetConnect(maxAuthRetries: 3);
client.httpClient.baseUrl = ServiceFinder.services['passport'];
final resp = await client.get('/api/realms/$alias');
if (resp.statusCode != 200) {
throw Exception(resp.bodyString);
}
return resp;
}
Future<Response> listAvailableRealm() async {
final AuthProvider auth = Get.find();
if (!await auth.isAuthorized) throw Exception('unauthorized');