Files
Krezus/lib/repositories/transactions/models/transaction.dart
2024-06-29 17:05:50 +02:00

43 lines
1.1 KiB
Dart

import 'package:equatable/equatable.dart';
import 'package:uuid/uuid.dart';
class Transaction extends Equatable {
final String uuid;
final DateTime date;
final String category;
final String description;
final String account;
final double value;
const Transaction({
required this.uuid,
required this.date,
required this.category,
required this.description,
required this.account,
required this.value
});
factory Transaction.fromJson(Map<String, dynamic> json) {
return Transaction(
uuid: json['uuid'] ?? const Uuid().v8(),
date: DateTime.parse(json['date']),
category: json['category'],
description: json['description'],
account: json['account'],
value: double.parse(json['value']),
);
}
Map<String, String> toJson() => {
'uuid': uuid,
'date': date.toIso8601String(),
'category': category,
'description': description,
'account': account,
'value': value.toString(),
};
@override
List<Object?> get props => [uuid, date, category, description, account, value];
}