// Local
import '/models/tracked_type_recurring.dart';
import '/models/frequency.dart';

class Income extends RecurringTrackedType {
  static String amountText = "Revenue";

  Income({
    super.id,
    required super.name,
    required super.amount,
    required super.frequency,
    required super.description,
  });

  factory Income.fromMap(Map<String, dynamic> json) => Income(
        id: json['id'],
        name: json['name'],
        amount: json['revenue'],
        frequency: Frequency.values
            .where((freq) => freq.title == json['frequency'])
            .first,
        description: json['description'],
      );

  @override
  Map<String, dynamic> toMap() {
    return {
      'id': id,
      'name': name,
      'revenue': amount,
      'frequency': frequency.title,
      'description': description,
    };
  }
}