42 lines
868 B
Dart
42 lines
868 B
Dart
import 'dart:html';
|
|
|
|
import 'package:grpc/grpc_web.dart';
|
|
import 'package:softplayer_dart_proto/main.dart';
|
|
|
|
class EnvironmentLocalData {
|
|
EnvironmentLocalData({
|
|
required this.uuid,
|
|
required this.token,
|
|
});
|
|
String uuid;
|
|
String token;
|
|
}
|
|
|
|
class EnvironmentsGrpc {
|
|
final GrpcWebClientChannel channel;
|
|
late EnvironmentsClient envStub;
|
|
EnvironmentsGrpc({
|
|
required this.channel,
|
|
});
|
|
|
|
void init() {
|
|
envStub = EnvironmentsClient(channel);
|
|
}
|
|
|
|
Stream<List<String>> list() async* {
|
|
List<String> envs = [];
|
|
try {
|
|
await for (var feature in envStub.list(Empty(),
|
|
options: CallOptions(metadata: {
|
|
"uuid": window.localStorage["uuid"]!,
|
|
"token": window.localStorage["token"]!,
|
|
}))) {
|
|
envs.add(feature.data.name);
|
|
}
|
|
} catch (e) {
|
|
rethrow;
|
|
}
|
|
yield envs;
|
|
}
|
|
}
|