import 'dart:convert'; import 'package:http/http.dart' as http; class Account { final int id; final DateTime createdAt; final bool archived; final String type; final String numberSuffix; final String name; final String currency; final String description; const Account(this.id, this.createdAt, this.archived, this.type, this.numberSuffix, this.name, this.currency, this.description); factory Account.fromJson(Map data) { final id = data['id'] as int; final createdAtStr = data['createdAt'] as String; final createdAt = DateTime.parse(createdAtStr); final archived = data['archived'] as bool; final type = data['type'] as String; final numberSuffix = data['numberSuffix'] as String; final name = data['name'] as String; final currency = data['currency'] as String; final description = data['description'] as String; return Account(id, createdAt, archived, type, numberSuffix, name, currency, description); } } Future> getAccounts(String token, String profileName) async { final http.Response response = await http.get( Uri.parse('http://localhost:8080/api/profiles/$profileName/accounts'), headers: { 'Authorization': 'Bearer $token' } ); if (response.statusCode == 200) { if (jsonDecode(response.body) == null) return []; final data = jsonDecode(response.body) as List; return data.map((obj) => Account.fromJson(obj)).toList(); } else { throw Exception('Failed to get accounts.'); } }