X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;ds=sidebyside;f=flempires%2Flib%2Fplayer.dart;fp=flempires%2Flib%2Fplayer.dart;h=aa87c8411d844dba694e015d19bbcd90a72fe2e5;hb=5a60d2577ec9346fcaacd04260fc4a4c27696e92;hp=0000000000000000000000000000000000000000;hpb=b9c184f2a7fd491e736c32b02baa38b18f906eb9;p=lmno.games diff --git a/flempires/lib/player.dart b/flempires/lib/player.dart new file mode 100644 index 0000000..aa87c84 --- /dev/null +++ b/flempires/lib/player.dart @@ -0,0 +1,43 @@ +import 'dart:convert'; + +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 fetchFirstPlayer() async { + final response = await http.get('https://families.cworth.org/api/players'); + + if (response.statusCode == 200) { + List playerList = parsePlayers(response.body); + return playerList.elementAt(0); + } else { + throw Exception('Failed to load player'); + } + } + + static Future> fetchAllPlayers() async { + final response = await http.get('https://families.cworth.org/api/players'); + + if (response.statusCode == 200) { + return parsePlayers(response.body); + } else { + throw Exception('Failed to load players'); + } + } + + static List parsePlayers(String responseBody) { + final parsed = json.decode(responseBody).cast>(); + return parsed.map((json) => Player.fromJson(json)).toList(); + } +}