36 lines
602 B
Dart
36 lines
602 B
Dart
import 'package:isar/isar.dart';
|
|
import 'package:okane/database/collections/expense_category.dart';
|
|
|
|
import 'account.dart';
|
|
|
|
part 'budget.g.dart';
|
|
|
|
enum BudgetPeriod { month }
|
|
|
|
@collection
|
|
class BudgetItem {
|
|
Id id = Isar.autoIncrement;
|
|
|
|
late double amount;
|
|
|
|
final expenseCategory = IsarLink<ExpenseCategory>();
|
|
}
|
|
|
|
@collection
|
|
class Budget {
|
|
Id id = Isar.autoIncrement;
|
|
|
|
@Enumerated(EnumType.ordinal)
|
|
late BudgetPeriod period;
|
|
|
|
late String name;
|
|
|
|
late double income;
|
|
|
|
late bool includeOtherSpendings;
|
|
|
|
final account = IsarLink<Account>();
|
|
|
|
final items = IsarLinks<BudgetItem>();
|
|
}
|