import 'package:diameter/main.dart'; import 'package:diameter/models/log_entry.dart'; import 'package:diameter/models/log_event_type.dart'; import 'package:diameter/objectbox.g.dart'; // ignore: unnecessary_import import 'package:objectbox/objectbox.dart'; @Entity(uid: 4303325892753185970) class LogEvent { static final Box box = objectBox.store.box(); int id; @Property(type: PropertyType.date) DateTime time; @Property(type: PropertyType.date) DateTime? endTime; bool hasEndTime; String? notes; final logEntry = ToOne(); final endLogEntry = ToOne(); final eventType = ToOne(); LogEvent({ this.id = 0, required this.time, this.endTime, this.hasEndTime = false, this.notes, }); static LogEvent? get(int id) => box.get(id); static List getAll() => box.getAll(); static void put(LogEvent logEvent) => box.put(logEvent); static void remove(int id) => box.remove(id); static List getAllOngoing() { QueryBuilder query = box.query(LogEvent_.hasEndTime.equals(true) & LogEvent_.endTime.isNull())..order(LogEvent_.time); return query.build().find(); } }