fetchPlayerBalance function

Future<PlayerBalance> fetchPlayerBalance(
  1. String playerToken,
  2. String playerUid,
  3. PlayMode playMode,
  4. Config config,
)

Implementation

Future<PlayerBalance> fetchPlayerBalance(String playerToken, String playerUid,
    PlayMode playMode, Config config) async {
  final response =
      await http.post(Uri.parse('${config.server}/api/player/get-balance'),
          headers: <String, String>{
            'Content-Type': 'application/json; charset=UTF-8',
          },
          body: jsonEncode(<String, String>{
            "operator_id": config.operatorId,
            "client_secret": config.clientSecret,
            "client_id": config.clientId,
            "player_id": playerUid,
            "mode": playMode.toString(),
            "token": playerToken,
          }));

  if (response.statusCode == 200) {
    // If the server did return a 200 OK response,
    // then parse the JSON.
    var rb = response.body;

    // store json data into list
    var list = json.decode(rb);

    // iterate over the list and map each object in list to Img by calling Img.fromJson
    // Auth auth = new Auth(token: rb);
    return PlayerBalance.fromJson(list["balance"]);
  } else {
    // If the server did not return a 200 OK response,
    // then throw an exception.
    throw Exception('Failed to get Player Token');
  }
}