🐛 Dozens of microservices releated changes
This commit is contained in:
@@ -39,7 +39,7 @@ class WebFeedNotifier
|
||||
try {
|
||||
final client = ref.read(apiClientProvider);
|
||||
final response = await client.get(
|
||||
'/publishers/${arg.pubName}/feeds/${arg.feedId}',
|
||||
'/sphere/publishers/${arg.pubName}/feeds/${arg.feedId}',
|
||||
);
|
||||
return SnWebFeed.fromJson(response.data);
|
||||
} catch (e) {
|
||||
@@ -51,7 +51,7 @@ class WebFeedNotifier
|
||||
state = const AsyncValue.loading();
|
||||
try {
|
||||
final client = ref.read(apiClientProvider);
|
||||
final url = '/publishers/${feed.publisherId}/feeds';
|
||||
final url = '/sphere/publishers/${feed.publisherId}/feeds';
|
||||
|
||||
final response =
|
||||
feed.id.isEmpty
|
||||
@@ -98,7 +98,7 @@ class WebFeedNotifier
|
||||
try {
|
||||
final client = ref.read(apiClientProvider);
|
||||
await client.post(
|
||||
'/publishers/${arg.pubName}/feeds/$feedId/scrap',
|
||||
'/sphere/publishers/${arg.pubName}/feeds/$feedId/scrap',
|
||||
options: Options(
|
||||
sendTimeout: const Duration(seconds: 60),
|
||||
receiveTimeout: const Duration(seconds: 180),
|
||||
@@ -107,7 +107,7 @@ class WebFeedNotifier
|
||||
|
||||
// Reload the feed
|
||||
final response = await client.get(
|
||||
'/publishers/${arg.pubName}/feeds/$feedId',
|
||||
'/sphere/publishers/${arg.pubName}/feeds/$feedId',
|
||||
);
|
||||
state = AsyncValue.data(SnWebFeed.fromJson(response.data));
|
||||
} catch (error, stackTrace) {
|
||||
|
@@ -83,7 +83,7 @@ class PublisherMemberListNotifier extends _$PublisherMemberListNotifier
|
||||
final offset = cursor != null ? int.parse(cursor) : 0;
|
||||
|
||||
final response = await apiClient.get(
|
||||
'/publishers/$uname/members',
|
||||
'/sphere/publishers/$uname/members',
|
||||
queryParameters: {'offset': offset, 'take': _pageSize},
|
||||
);
|
||||
|
||||
@@ -143,14 +143,19 @@ class CreatorHubScreen extends HookConsumerWidget {
|
||||
);
|
||||
|
||||
void updatePublisher() {
|
||||
context.pushNamed('creatorEdit', pathParameters: {'name': currentPublisher.value!.name}).then((
|
||||
value,
|
||||
) async {
|
||||
if (value == null) return;
|
||||
final data = await ref.refresh(publishersManagedProvider.future);
|
||||
currentPublisher.value =
|
||||
data.where((e) => e.id == currentPublisher.value!.id).firstOrNull;
|
||||
});
|
||||
context
|
||||
.pushNamed(
|
||||
'creatorEdit',
|
||||
pathParameters: {'name': currentPublisher.value!.name},
|
||||
)
|
||||
.then((value) async {
|
||||
if (value == null) return;
|
||||
final data = await ref.refresh(publishersManagedProvider.future);
|
||||
currentPublisher.value =
|
||||
data
|
||||
.where((e) => e.id == currentPublisher.value!.id)
|
||||
.firstOrNull;
|
||||
});
|
||||
}
|
||||
|
||||
void deletePublisher() {
|
||||
@@ -350,7 +355,12 @@ class CreatorHubScreen extends HookConsumerWidget {
|
||||
horizontal: 24,
|
||||
),
|
||||
onTap: () {
|
||||
context.pushNamed('creatorStickers', pathParameters: {'name': currentPublisher.value!.name});
|
||||
context.pushNamed(
|
||||
'creatorStickers',
|
||||
pathParameters: {
|
||||
'name': currentPublisher.value!.name,
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
@@ -362,7 +372,12 @@ class CreatorHubScreen extends HookConsumerWidget {
|
||||
horizontal: 24,
|
||||
),
|
||||
onTap: () {
|
||||
context.pushNamed('creatorPosts', pathParameters: {'name': currentPublisher.value!.name});
|
||||
context.pushNamed(
|
||||
'creatorPosts',
|
||||
pathParameters: {
|
||||
'name': currentPublisher.value!.name,
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
ListTile(
|
||||
|
@@ -28,13 +28,16 @@ class StickersScreen extends HookConsumerWidget {
|
||||
actions: [
|
||||
IconButton(
|
||||
onPressed: () {
|
||||
context.pushNamed('creatorStickerPackNew', queryParameters: {'pubName': pubName}).then((
|
||||
value,
|
||||
) {
|
||||
if (value != null) {
|
||||
ref.invalidate(stickerPacksNotifierProvider(pubName));
|
||||
}
|
||||
});
|
||||
context
|
||||
.pushNamed(
|
||||
'creatorStickerPackNew',
|
||||
queryParameters: {'pubName': pubName},
|
||||
)
|
||||
.then((value) {
|
||||
if (value != null) {
|
||||
ref.invalidate(stickerPacksNotifierProvider(pubName));
|
||||
}
|
||||
});
|
||||
},
|
||||
icon: const Icon(Symbols.add_circle),
|
||||
),
|
||||
@@ -71,7 +74,10 @@ class SliverStickerPacksList extends HookConsumerWidget {
|
||||
subtitle: Text(sticker.description),
|
||||
trailing: const Icon(Symbols.chevron_right),
|
||||
onTap: () {
|
||||
context.pushNamed('creatorStickerPackDetail', pathParameters: {'pubName': pubName, 'packId': sticker.id});
|
||||
context.pushNamed(
|
||||
'creatorStickerPackDetail',
|
||||
pathParameters: {'pubName': pubName, 'packId': sticker.id},
|
||||
);
|
||||
},
|
||||
);
|
||||
},
|
||||
@@ -99,7 +105,7 @@ class StickerPacksNotifier extends _$StickerPacksNotifier
|
||||
|
||||
try {
|
||||
final response = await client.get(
|
||||
'/stickers',
|
||||
'/sphere/stickers',
|
||||
queryParameters: {
|
||||
'offset': offset,
|
||||
'take': _pageSize,
|
||||
@@ -129,7 +135,7 @@ class StickerPacksNotifier extends _$StickerPacksNotifier
|
||||
Future<SnStickerPack?> stickerPack(Ref ref, String? packId) async {
|
||||
if (packId == null) return null;
|
||||
final apiClient = ref.watch(apiClientProvider);
|
||||
final resp = await apiClient.get('/stickers/$packId');
|
||||
final resp = await apiClient.get('/sphere/stickers/$packId');
|
||||
return SnStickerPack.fromJson(resp.data);
|
||||
}
|
||||
|
||||
@@ -175,7 +181,7 @@ class EditStickerPacksScreen extends HookConsumerWidget {
|
||||
submitting.value = true;
|
||||
final apiClient = ref.watch(apiClientProvider);
|
||||
final resp = await apiClient.request(
|
||||
'/stickers',
|
||||
'/sphere/stickers',
|
||||
data: {
|
||||
'name': nameController.text,
|
||||
'description': descriptionController.text,
|
||||
|
@@ -25,14 +25,14 @@ part 'hub.g.dart';
|
||||
Future<DeveloperStats?> developerStats(Ref ref, String? uname) async {
|
||||
if (uname == null) return null;
|
||||
final apiClient = ref.watch(apiClientProvider);
|
||||
final resp = await apiClient.get('/developers/$uname/stats');
|
||||
final resp = await apiClient.get('/sphere/developers/$uname/stats');
|
||||
return DeveloperStats.fromJson(resp.data);
|
||||
}
|
||||
|
||||
@riverpod
|
||||
Future<List<SnPublisher>> developers(Ref ref) async {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
final resp = await client.get('/developers');
|
||||
final resp = await client.get('/sphere/developers');
|
||||
return resp.data
|
||||
.map((e) => SnPublisher.fromJson(e))
|
||||
.cast<SnPublisher>()
|
||||
@@ -243,7 +243,12 @@ class DeveloperHubScreen extends HookConsumerWidget {
|
||||
horizontal: 24,
|
||||
),
|
||||
onTap: () {
|
||||
context.pushNamed('developerApps', pathParameters: {'name': currentDeveloper.value!.name});
|
||||
context.pushNamed(
|
||||
'developerApps',
|
||||
pathParameters: {
|
||||
'name': currentDeveloper.value!.name,
|
||||
},
|
||||
);
|
||||
},
|
||||
),
|
||||
],
|
||||
@@ -334,7 +339,7 @@ class _DeveloperEnrollmentSheet extends HookConsumerWidget {
|
||||
Future<void> enroll(SnPublisher publisher) async {
|
||||
try {
|
||||
final client = ref.read(apiClientProvider);
|
||||
await client.post('/developers/${publisher.name}/enroll');
|
||||
await client.post('/sphere/developers/${publisher.name}/enroll');
|
||||
if (context.mounted) {
|
||||
Navigator.pop(context, true);
|
||||
}
|
||||
|
@@ -166,7 +166,7 @@ class RealmDetailScreen extends HookConsumerWidget {
|
||||
apiClientProvider,
|
||||
);
|
||||
await apiClient.post(
|
||||
'/realms/$slug/members/me',
|
||||
'/sphere/realms/$slug/members/me',
|
||||
);
|
||||
ref.invalidate(
|
||||
realmIdentityProvider(slug),
|
||||
@@ -213,7 +213,10 @@ class RealmDetailScreen extends HookConsumerWidget {
|
||||
return ChatRoomListTile(
|
||||
room: rooms[index],
|
||||
onTap: () {
|
||||
context.pushNamed('chatRoom', pathParameters: {'id': rooms[index].id});
|
||||
context.pushNamed(
|
||||
'chatRoom',
|
||||
pathParameters: {'id': rooms[index].id},
|
||||
);
|
||||
},
|
||||
);
|
||||
}, childCount: rooms.length),
|
||||
@@ -251,7 +254,10 @@ class _RealmActionMenu extends HookConsumerWidget {
|
||||
if (isModerator)
|
||||
PopupMenuItem(
|
||||
onTap: () {
|
||||
context.pushReplacement('/sphere/realms/$realmSlug/edit');
|
||||
context.pushReplacementNamed(
|
||||
'realmEdit',
|
||||
pathParameters: {'slug': realmSlug},
|
||||
);
|
||||
},
|
||||
child: Row(
|
||||
children: [
|
||||
@@ -319,7 +325,7 @@ class _RealmActionMenu extends HookConsumerWidget {
|
||||
if (confirm) {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
client.delete(
|
||||
'/realms/$realmSlug/members/me',
|
||||
'/sphere/realms/$realmSlug/members/me',
|
||||
);
|
||||
ref.invalidate(realmsJoinedProvider);
|
||||
if (context.mounted) {
|
||||
@@ -389,7 +395,7 @@ class RealmMemberListNotifier extends _$RealmMemberListNotifier
|
||||
final offset = cursor != null ? int.parse(cursor) : 0;
|
||||
|
||||
final response = await apiClient.get(
|
||||
'/realms/$realmSlug/members',
|
||||
'/sphere/realms/$realmSlug/members',
|
||||
queryParameters: {'offset': offset, 'take': _pageSize},
|
||||
);
|
||||
|
||||
@@ -432,7 +438,7 @@ class RealmMemberNotifier extends StateNotifier<RealmMemberState> {
|
||||
|
||||
try {
|
||||
final response = await _apiClient.get(
|
||||
'/realms/$realmSlug/members',
|
||||
'/sphere/realms/$realmSlug/members',
|
||||
queryParameters: {'offset': offset, 'take': take},
|
||||
);
|
||||
|
||||
@@ -487,7 +493,7 @@ class _RealmMemberListSheet extends HookConsumerWidget {
|
||||
try {
|
||||
final apiClient = ref.watch(apiClientProvider);
|
||||
await apiClient.post(
|
||||
'/realms/invites/$realmSlug',
|
||||
'/sphere/realms/invites/$realmSlug',
|
||||
data: {'related_user_id': result.id, 'role': 0},
|
||||
);
|
||||
// Refresh both providers
|
||||
@@ -619,7 +625,7 @@ class _RealmMemberListSheet extends HookConsumerWidget {
|
||||
apiClientProvider,
|
||||
);
|
||||
await apiClient.delete(
|
||||
'/realms/$realmSlug/members/${member.accountId}',
|
||||
'/sphere/realms/$realmSlug/members/${member.accountId}',
|
||||
);
|
||||
// Refresh both providers
|
||||
memberNotifier.reset();
|
||||
@@ -769,7 +775,7 @@ class _RealmMemberRoleSheet extends HookConsumerWidget {
|
||||
|
||||
final apiClient = ref.read(apiClientProvider);
|
||||
await apiClient.patch(
|
||||
'/realms/$realmSlug/members/${member.accountId}/role',
|
||||
'/sphere/realms/$realmSlug/members/${member.accountId}/role',
|
||||
data: newRole,
|
||||
);
|
||||
|
||||
|
@@ -108,7 +108,10 @@ class RealmListScreen extends HookConsumerWidget {
|
||||
title: Text(value[item].name),
|
||||
subtitle: Text(value[item].description),
|
||||
onTap: () {
|
||||
context.pushNamed('realmDetail', pathParameters: {'slug': value[item].slug});
|
||||
context.pushNamed(
|
||||
'realmDetail',
|
||||
pathParameters: {'slug': value[item].slug},
|
||||
);
|
||||
},
|
||||
contentPadding: const EdgeInsets.only(
|
||||
left: 16,
|
||||
@@ -253,7 +256,7 @@ class EditRealmScreen extends HookConsumerWidget {
|
||||
try {
|
||||
final client = ref.watch(apiClientProvider);
|
||||
final resp = await client.request(
|
||||
slug == null ? '/realms' : '/realms/$slug',
|
||||
'/sphere${slug == null ? '/realms' : '/realms/$slug'}',
|
||||
data: {
|
||||
'slug': slugController.text,
|
||||
'name': nameController.text,
|
||||
|
@@ -51,7 +51,7 @@ class TransactionListNotifier extends _$TransactionListNotifier
|
||||
final queryParams = {'offset': offset, 'take': _pageSize};
|
||||
|
||||
final response = await client.get(
|
||||
'/wallets/transactions',
|
||||
'/id/wallets/transactions',
|
||||
queryParameters: queryParams,
|
||||
);
|
||||
final total = int.parse(response.headers.value('X-Total') ?? '0');
|
||||
@@ -110,7 +110,7 @@ class WalletScreen extends HookConsumerWidget {
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
).center();
|
||||
}
|
||||
|
||||
return Column(
|
||||
|
@@ -27,7 +27,10 @@ class CloudFileWidget extends ConsumerWidget {
|
||||
final serverUrl = ref.watch(serverUrlProvider);
|
||||
final uri = '$serverUrl/drive/files/${item.id}';
|
||||
|
||||
var ratio = double.parse(item.fileMeta?['ratio'] ?? 1);
|
||||
var ratio =
|
||||
item.fileMeta?['ratio'] is num
|
||||
? item.fileMeta!['ratio'].toDouble()
|
||||
: double.parse(item.fileMeta?['ratio'] ?? 1);
|
||||
if (ratio == 0) ratio = 1.0;
|
||||
final content = switch (item.mimeType?.split('/').firstOrNull) {
|
||||
"image" => AspectRatio(
|
||||
|
@@ -34,7 +34,7 @@ class RealmListNotifier extends _$RealmListNotifier
|
||||
};
|
||||
|
||||
final response = await client.get(
|
||||
'/discovery/realms',
|
||||
'/sphere/discovery/realms',
|
||||
queryParameters: queryParams,
|
||||
);
|
||||
final total = int.parse(response.headers.value('X-Total') ?? '0');
|
||||
|
Reference in New Issue
Block a user