From 0e791b7181f2893b3b5be19f3a2b21f135debbb9 Mon Sep 17 00:00:00 2001 From: Kevin Worth Date: Sat, 2 May 2020 22:36:42 -0400 Subject: [PATCH] Add class Player with id and name attributes This data model will be used when hitting the /players endpoint See: git://git.cworth.org/git/empires-api/api.text at commit 0411bdc --- flutterempires/lib/player.dart | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 flutterempires/lib/player.dart diff --git a/flutterempires/lib/player.dart b/flutterempires/lib/player.dart new file mode 100644 index 0000000..c25a53b --- /dev/null +++ b/flutterempires/lib/player.dart @@ -0,0 +1,28 @@ +import 'dart:convert'; +import 'dart:js'; +import 'package:http/http.dart' as http; + +class Player { + final int id; + final String name; + + Player({this.id, this.name}); + + factory Player.fromJson(Map json) { + return Player( + id: json['id'], + name: json['name'], + ); + } + + static Future fetchPlayer() async { + final response = await http.get('https://families.cworth.org/api/players'); + + if (response.statusCode == 200) { + JsArray playerList = JsArray.from(json.decode(response.body)); + return Player.fromJson(playerList.elementAt(0)); + } else { + throw Exception('Failed to load player'); + } + } +} -- 2.43.0