import 'package:currency_picker/currency_picker.dart'; import 'package:json_annotation/json_annotation.dart'; import 'package:prasule/api/category.dart'; import 'package:prasule/api/entry.dart'; part 'wallet.g.dart'; Currency _currencyFromJson(Map data) => Currency.from(json: data); @JsonSerializable() class Wallet { final String name; final List categories; final List entries; double availableAmount; @JsonKey(fromJson: _currencyFromJson) final Currency currency; Wallet( {required this.name, required this.currency, this.categories = const [], this.entries = const [], this.availableAmount = 0}); /// Connect the generated [_$WalletEntry] function to the `fromJson` /// factory. factory Wallet.fromJson(Map json) => _$WalletFromJson(json); /// Connect the generated [_$PersonToJson] function to the `toJson` method. Map toJson() => _$WalletToJson(this); }