32 lines
1019 B
Dart
32 lines
1019 B
Dart
import 'package:hive_flutter/hive_flutter.dart';
|
|
import 'models/models.dart';
|
|
|
|
class DatabaseService {
|
|
static Future<void> initialize() async {
|
|
await Hive.initFlutter();
|
|
|
|
// Register adapters
|
|
Hive.registerAdapter(RoutineAdapter());
|
|
Hive.registerAdapter(ScheduleAdapter());
|
|
Hive.registerAdapter(ReminderAdapter());
|
|
Hive.registerAdapter(RoutineCategoryAdapter());
|
|
Hive.registerAdapter(ScheduleTypeAdapter());
|
|
Hive.registerAdapter(ActivityAdapter());
|
|
Hive.registerAdapter(MoodAdapter());
|
|
Hive.registerAdapter(GamificationStatsAdapter());
|
|
Hive.registerAdapter(BadgeAdapter());
|
|
Hive.registerAdapter(BadgeCategoryAdapter());
|
|
|
|
// Open boxes
|
|
await Hive.openBox<Routine>('routines');
|
|
await Hive.openBox<Activity>('activities');
|
|
await Hive.openBox<GamificationStats>('gamification');
|
|
await Hive.openBox('settings');
|
|
}
|
|
}
|
|
|
|
// Hive TypeAdapters - these need to be generated
|
|
generate_adapters() {
|
|
// Run: flutter packages pub run build_runner build
|
|
}
|