3 import 'package:flempires/webService.dart';
4 import 'package:http/http.dart' as http;
10 Player({this.id, this.name});
12 factory Player.fromJson(Map<String, dynamic> json) {
19 // static Resource<List<NewsArticle>> get all {
22 // url: Constants.HEADLINE_NEWS_URL,
23 // parse: (response) {
24 // final result = json.decode(response.body);
25 // Iterable list = result['articles'];
26 // return list.map((model) => NewsArticle.fromJson(model)).toList();
32 // static Request<List<Player>> get all (String code) {
36 static Request<List<Player>> get all {
38 url: 'https://families.cworth.org/api/players',
41 final result = json.decode(response.body);
42 Iterable list = result['players'];
43 return list.map((model) => Player.fromJson(model)).toList();
47 static Future<Player> fetchFirstPlayer() async {
48 final response = await http.get('https://families.cworth.org/api/players');
50 if (response.statusCode == 200) {
51 List<Player> playerList = parsePlayers(response.body);
52 return playerList.elementAt(0);
54 throw Exception('Failed to load player');
58 static Future<List<Player>> fetchAllPlayers() async {
59 final response = await http.get('https://families.cworth.org/api/players');
61 if (response.statusCode == 200) {
62 return parsePlayers(response.body);
64 throw Exception('Failed to load players');
68 static List<Player> parsePlayers(String responseBody) {
69 final parsed = json.decode(responseBody).cast<Map<String, dynamic>>();
70 return parsed.map<Player>((json) => Player.fromJson(json)).toList();