forked from axiom-team/gecko
Cleaner API code
This commit is contained in:
parent
a9d0f5a7a6
commit
2a24c15f17
70
lib/api.dart
70
lib/api.dart
|
@ -4,23 +4,11 @@ import 'package:gql_dio_link/gql_dio_link.dart';
|
|||
import 'package:gql_exec/gql_exec.dart';
|
||||
import "package:gql_link/gql_link.dart";
|
||||
|
||||
// Configure node
|
||||
const graphqlEndpoint = "https://g1.librelois.fr/gva";
|
||||
|
||||
const QcurrentUD = """{
|
||||
currentUd {
|
||||
amount
|
||||
base
|
||||
}
|
||||
}""";
|
||||
|
||||
Future getBalance(String pubkey) async {
|
||||
var qBalance = """{
|
||||
balance(script: "$pubkey") {
|
||||
amount
|
||||
base
|
||||
}
|
||||
}""";
|
||||
|
||||
// Build query
|
||||
Future buildQ(query) async {
|
||||
final client = dio.Dio();
|
||||
final Link link = DioLink(
|
||||
graphqlEndpoint,
|
||||
|
@ -29,17 +17,45 @@ Future getBalance(String pubkey) async {
|
|||
|
||||
final res = await link
|
||||
.request(Request(
|
||||
operation: Operation(document: gqlLang.parseString(qBalance)),
|
||||
operation: Operation(document: gqlLang.parseString(query)),
|
||||
))
|
||||
.first;
|
||||
|
||||
final balance = res.data["balance"]["amount"] / 100;
|
||||
return balance;
|
||||
return res;
|
||||
}
|
||||
|
||||
/* Requests functions */
|
||||
|
||||
// Get current UD
|
||||
Future getUD() async {
|
||||
const query = """{
|
||||
currentUd {
|
||||
amount
|
||||
base
|
||||
}
|
||||
}""";
|
||||
|
||||
final result = await buildQ(query);
|
||||
return result.data["currentUd"]["amount"];
|
||||
}
|
||||
|
||||
// Get balance
|
||||
Future getBalance(String pubkey) async {
|
||||
var query = """{
|
||||
balance(script: "$pubkey") {
|
||||
amount
|
||||
base
|
||||
}
|
||||
}""";
|
||||
|
||||
final result = await buildQ(query);
|
||||
return result.data["balance"]["amount"] / 100;
|
||||
}
|
||||
|
||||
// Get history
|
||||
Future getHistory(String pubkey) async {
|
||||
print(pubkey);
|
||||
var qHistory = """{
|
||||
var query = """{
|
||||
transactionsHistory(pubkey: "$pubkey") {
|
||||
received {
|
||||
writtenTime
|
||||
|
@ -50,18 +66,9 @@ Future getHistory(String pubkey) async {
|
|||
}
|
||||
}""";
|
||||
|
||||
final client = dio.Dio();
|
||||
final Link link = DioLink(
|
||||
graphqlEndpoint,
|
||||
client: client,
|
||||
);
|
||||
|
||||
final res = await link
|
||||
.request(Request(
|
||||
operation: Operation(document: gqlLang.parseString(qHistory)),
|
||||
))
|
||||
.first;
|
||||
final res = await buildQ(query);
|
||||
|
||||
// Parse history
|
||||
var result = res.data["transactionsHistory"]["received"];
|
||||
String outPubkey;
|
||||
for (var bloc in result) {
|
||||
|
@ -70,6 +77,5 @@ Future getHistory(String pubkey) async {
|
|||
print(outPubkey);
|
||||
}
|
||||
|
||||
final history = outPubkey;
|
||||
return history;
|
||||
return outPubkey;
|
||||
}
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
class TodoFetch {
|
||||
static String fetchAll = """
|
||||
query {
|
||||
currentUd {
|
||||
amount,
|
||||
base
|
||||
}
|
||||
}
|
||||
""";
|
||||
}
|
|
@ -18,13 +18,13 @@ class MyApp extends StatefulWidget {
|
|||
|
||||
class _MyAppState extends State<MyApp> {
|
||||
Uint8List bytes = Uint8List(0);
|
||||
TextEditingController _outputController;
|
||||
TextEditingController _outputPubkey;
|
||||
TextEditingController _outputAmount;
|
||||
|
||||
@override
|
||||
initState() {
|
||||
super.initState();
|
||||
this._outputController = new TextEditingController();
|
||||
this._outputPubkey = new TextEditingController();
|
||||
this._outputAmount = new TextEditingController();
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ class _MyAppState extends State<MyApp> {
|
|||
children: <Widget>[
|
||||
SizedBox(height: 20),
|
||||
TextField(
|
||||
controller: this._outputController,
|
||||
controller: this._outputPubkey,
|
||||
maxLines: 2,
|
||||
decoration: InputDecoration(
|
||||
prefixIcon: Icon(Icons.wrap_text),
|
||||
|
@ -120,14 +120,13 @@ class _MyAppState extends State<MyApp> {
|
|||
print('nothing return.');
|
||||
} else {
|
||||
print("Debug: " + barcode);
|
||||
this._outputController.text = "";
|
||||
this._outputPubkey.text = "";
|
||||
this._outputAmount.text = "";
|
||||
var myAmount = await getHistory(barcode.toString());
|
||||
this._outputController.text = barcode;
|
||||
print(myAmount.toString());
|
||||
this._outputAmount.text = myAmount.toString();
|
||||
|
||||
// _getAmount(barcode);
|
||||
// final udValue = await getUD();
|
||||
final myBalance = await getBalance(barcode.toString());
|
||||
this._outputPubkey.text = barcode;
|
||||
print(myBalance.toString());
|
||||
this._outputAmount.text = myBalance.toString();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue