feat(useragent): add SDK clients table screen
This commit is contained in:
34
useragent/lib/providers/sdk_clients/list.dart
Normal file
34
useragent/lib/providers/sdk_clients/list.dart
Normal file
@@ -0,0 +1,34 @@
|
||||
import 'package:arbiter/proto/user_agent.pb.dart';
|
||||
import 'package:arbiter/providers/connection/connection_manager.dart';
|
||||
import 'package:protobuf/well_known_types/google/protobuf/empty.pb.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'list.g.dart';
|
||||
|
||||
@riverpod
|
||||
Future<List<SdkClientEntry>?> sdkClients(Ref ref) async {
|
||||
final connection = await ref.watch(connectionManagerProvider.future);
|
||||
if (connection == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
final resp = await connection.request(
|
||||
UserAgentRequest(sdkClientList: Empty()),
|
||||
);
|
||||
|
||||
if (!resp.hasSdkClientListResponse()) {
|
||||
throw Exception(
|
||||
'Expected SDK client list response, got ${resp.whichPayload()}',
|
||||
);
|
||||
}
|
||||
final result = resp.sdkClientListResponse;
|
||||
|
||||
switch (result.whichResult()) {
|
||||
case SdkClientListResponse_Result.clients:
|
||||
return result.clients.clients.toList(growable: false);
|
||||
case SdkClientListResponse_Result.error:
|
||||
throw Exception('Error listing SDK clients: ${result.error}');
|
||||
case SdkClientListResponse_Result.notSet:
|
||||
throw Exception('SDK client list response was empty.');
|
||||
}
|
||||
}
|
||||
51
useragent/lib/providers/sdk_clients/list.g.dart
Normal file
51
useragent/lib/providers/sdk_clients/list.g.dart
Normal file
@@ -0,0 +1,51 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'list.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// RiverpodGenerator
|
||||
// **************************************************************************
|
||||
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
// ignore_for_file: type=lint, type=warning
|
||||
|
||||
@ProviderFor(sdkClients)
|
||||
final sdkClientsProvider = SdkClientsProvider._();
|
||||
|
||||
final class SdkClientsProvider
|
||||
extends
|
||||
$FunctionalProvider<
|
||||
AsyncValue<List<SdkClientEntry>?>,
|
||||
List<SdkClientEntry>?,
|
||||
FutureOr<List<SdkClientEntry>?>
|
||||
>
|
||||
with
|
||||
$FutureModifier<List<SdkClientEntry>?>,
|
||||
$FutureProvider<List<SdkClientEntry>?> {
|
||||
SdkClientsProvider._()
|
||||
: super(
|
||||
from: null,
|
||||
argument: null,
|
||||
retry: null,
|
||||
name: r'sdkClientsProvider',
|
||||
isAutoDispose: true,
|
||||
dependencies: null,
|
||||
$allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
@override
|
||||
String debugGetCreateSourceHash() => _$sdkClientsHash();
|
||||
|
||||
@$internal
|
||||
@override
|
||||
$FutureProviderElement<List<SdkClientEntry>?> $createElement(
|
||||
$ProviderPointer pointer,
|
||||
) => $FutureProviderElement(pointer);
|
||||
|
||||
@override
|
||||
FutureOr<List<SdkClientEntry>?> create(Ref ref) {
|
||||
return sdkClients(ref);
|
||||
}
|
||||
}
|
||||
|
||||
String _$sdkClientsHash() => r'833c249d9cc2f83921453e0ece354a9a2d9f4482';
|
||||
Reference in New Issue
Block a user