👽 Update API to microservices
♻️ Refactor router pushes
This commit is contained in:
@@ -43,7 +43,9 @@ Future<Color?> realmAppbarForegroundColor(Ref ref, String realmSlug) async {
|
||||
Future<SnRealmMember?> realmIdentity(Ref ref, String realmSlug) async {
|
||||
try {
|
||||
final apiClient = ref.watch(apiClientProvider);
|
||||
final response = await apiClient.get('/realms/$realmSlug/members/me');
|
||||
final response = await apiClient.get(
|
||||
'/sphere/realms/$realmSlug/members/me',
|
||||
);
|
||||
return SnRealmMember.fromJson(response.data);
|
||||
} catch (err) {
|
||||
if (err is DioException && err.response?.statusCode == 404) {
|
||||
@@ -56,7 +58,7 @@ Future<SnRealmMember?> realmIdentity(Ref ref, String realmSlug) async {
|
||||
@riverpod
|
||||
Future<List<SnChatRoom>> realmChatRooms(Ref ref, String realmSlug) async {
|
||||
final apiClient = ref.watch(apiClientProvider);
|
||||
final response = await apiClient.get('/realms/$realmSlug/chat');
|
||||
final response = await apiClient.get('/sphere/realms/$realmSlug/chat');
|
||||
return (response.data as List).map((e) => SnChatRoom.fromJson(e)).toList();
|
||||
}
|
||||
|
||||
@@ -211,7 +213,7 @@ class RealmDetailScreen extends HookConsumerWidget {
|
||||
return ChatRoomListTile(
|
||||
room: rooms[index],
|
||||
onTap: () {
|
||||
context.push('/chat/${rooms[index].id}');
|
||||
context.pushNamed('chatRoom', pathParameters: {'id': rooms[index].id});
|
||||
},
|
||||
);
|
||||
}, childCount: rooms.length),
|
||||
@@ -249,7 +251,7 @@ class _RealmActionMenu extends HookConsumerWidget {
|
||||
if (isModerator)
|
||||
PopupMenuItem(
|
||||
onTap: () {
|
||||
context.pushReplacement('/realms/$realmSlug/edit');
|
||||
context.pushReplacement('/sphere/realms/$realmSlug/edit');
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
@@ -284,7 +286,7 @@ class _RealmActionMenu extends HookConsumerWidget {
|
||||
).then((confirm) {
|
||||
if (confirm) {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
client.delete('/realms/$realmSlug');
|
||||
client.delete('/sphere/realms/$realmSlug');
|
||||
ref.invalidate(realmsJoinedProvider);
|
||||
if (context.mounted) {
|
||||
context.pop(true);
|
||||
@@ -356,7 +358,7 @@ class _RealmActionMenu extends HookConsumerWidget {
|
||||
).then((confirm) {
|
||||
if (confirm) {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
client.delete('/realms/$realmSlug/members/me');
|
||||
client.delete('/sphere/realms/$realmSlug/members/me');
|
||||
ref.invalidate(realmsJoinedProvider);
|
||||
if (context.mounted) {
|
||||
context.pop(true);
|
||||
|
@@ -155,7 +155,7 @@ class _RealmAppbarForegroundColorProviderElement
|
||||
(origin as RealmAppbarForegroundColorProvider).realmSlug;
|
||||
}
|
||||
|
||||
String _$realmIdentityHash() => r'308d43eef8a6145c762d27bdf7e12e27149524db';
|
||||
String _$realmIdentityHash() => r'c5e2977d243260947b919bc27146c134e34f0db1';
|
||||
|
||||
/// See also [realmIdentity].
|
||||
@ProviderFor(realmIdentity)
|
||||
@@ -276,7 +276,7 @@ class _RealmIdentityProviderElement
|
||||
String get realmSlug => (origin as RealmIdentityProvider).realmSlug;
|
||||
}
|
||||
|
||||
String _$realmChatRoomsHash() => r'8207c1e6f0922323967f208efeed027e943039cc';
|
||||
String _$realmChatRoomsHash() => r'5f199906fb287b109e2a2d2a81dcb6675bdcb816';
|
||||
|
||||
/// See also [realmChatRooms].
|
||||
@ProviderFor(realmChatRooms)
|
||||
|
@@ -28,7 +28,7 @@ part 'realms.g.dart';
|
||||
@riverpod
|
||||
Future<List<SnRealm>> realmsJoined(Ref ref) async {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
final resp = await client.get('/realms');
|
||||
final resp = await client.get('/sphere/realms');
|
||||
return resp.data.map((e) => SnRealm.fromJson(e)).cast<SnRealm>().toList();
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
actions: [
|
||||
IconButton(
|
||||
icon: const Icon(Symbols.travel_explore),
|
||||
onPressed: () => context.push('/discovery/realms'),
|
||||
onPressed: () => context.pushNamed('discoveryRealms'),
|
||||
),
|
||||
IconButton(
|
||||
icon: Badge(
|
||||
@@ -81,7 +81,7 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
heroTag: const Key("realms-page-fab"),
|
||||
child: const Icon(Symbols.add),
|
||||
onPressed: () {
|
||||
context.push('/realms/new').then((value) {
|
||||
context.pushNamed('realmNew').then((value) {
|
||||
if (value != null) {
|
||||
ref.invalidate(realmsJoinedProvider);
|
||||
}
|
||||
@@ -108,7 +108,7 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
title: Text(value[item].name),
|
||||
subtitle: Text(value[item].description),
|
||||
onTap: () {
|
||||
context.push('/realms/${value[item].slug}');
|
||||
context.pushNamed('realmDetail', pathParameters: {'slug': value[item].slug});
|
||||
},
|
||||
contentPadding: const EdgeInsets.only(
|
||||
left: 16,
|
||||
@@ -139,7 +139,7 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
Future<SnRealm?> realm(Ref ref, String? identifier) async {
|
||||
if (identifier == null) return null;
|
||||
final client = ref.watch(apiClientProvider);
|
||||
final resp = await client.get('/realms/$identifier');
|
||||
final resp = await client.get('/sphere/realms/$identifier');
|
||||
return SnRealm.fromJson(resp.data);
|
||||
}
|
||||
|
||||
@@ -406,7 +406,7 @@ class EditRealmScreen extends HookConsumerWidget {
|
||||
@riverpod
|
||||
Future<List<SnRealmMember>> realmInvites(Ref ref) async {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
final resp = await client.get('/realms/invites');
|
||||
final resp = await client.get('/sphere/realms/invites');
|
||||
return resp.data
|
||||
.map((e) => SnRealmMember.fromJson(e))
|
||||
.cast<SnRealmMember>()
|
||||
@@ -423,7 +423,9 @@ class _RealmInviteSheet extends HookConsumerWidget {
|
||||
Future<void> acceptInvite(SnRealmMember invite) async {
|
||||
try {
|
||||
final client = ref.read(apiClientProvider);
|
||||
await client.post('/realms/invites/${invite.realm!.slug}/accept');
|
||||
await client.post(
|
||||
'/sphere/realms/invites/${invite.realm!.slug}/accept',
|
||||
);
|
||||
ref.invalidate(realmInvitesProvider);
|
||||
ref.invalidate(realmsJoinedProvider);
|
||||
} catch (err) {
|
||||
@@ -434,7 +436,9 @@ class _RealmInviteSheet extends HookConsumerWidget {
|
||||
Future<void> declineInvite(SnRealmMember invite) async {
|
||||
try {
|
||||
final client = ref.read(apiClientProvider);
|
||||
await client.post('/realms/invites/${invite.realm!.slug}/decline');
|
||||
await client.post(
|
||||
'/sphere/realms/invites/${invite.realm!.slug}/decline',
|
||||
);
|
||||
ref.invalidate(realmInvitesProvider);
|
||||
} catch (err) {
|
||||
showErrorAlert(err);
|
||||
|
@@ -6,7 +6,7 @@ part of 'realms.dart';
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
String _$realmsJoinedHash() => r'7c3367db97079365ec9973733cad9db6d8d50800';
|
||||
String _$realmsJoinedHash() => r'e8083f02ffae450bba2470c31757675b4df32cd0';
|
||||
|
||||
/// See also [realmsJoined].
|
||||
@ProviderFor(realmsJoined)
|
||||
@@ -22,7 +22,7 @@ final realmsJoinedProvider = AutoDisposeFutureProvider<List<SnRealm>>.internal(
|
||||
@Deprecated('Will be removed in 3.0. Use Ref instead')
|
||||
// ignore: unused_element
|
||||
typedef RealmsJoinedRef = AutoDisposeFutureProviderRef<List<SnRealm>>;
|
||||
String _$realmHash() => r'369d2f3dd80de9ab91457a772727ee89a0759c74';
|
||||
String _$realmHash() => r'4650b17608a9ee14170ef20295eb14d295e909c9';
|
||||
|
||||
/// Copied from Dart SDK
|
||||
class _SystemHash {
|
||||
@@ -156,7 +156,7 @@ class _RealmProviderElement extends AutoDisposeFutureProviderElement<SnRealm?>
|
||||
String? get identifier => (origin as RealmProvider).identifier;
|
||||
}
|
||||
|
||||
String _$realmInvitesHash() => r'e265999a03932f8077fb95a619fd8849a215375a';
|
||||
String _$realmInvitesHash() => r'ed73443c6423b92ed72982be2a93b7dcc7ce3945';
|
||||
|
||||
/// See also [realmInvites].
|
||||
@ProviderFor(realmInvites)
|
||||
|
Reference in New Issue
Block a user