Files
lunchpick/lib/data/sample/sample_data_initializer.dart
2025-11-19 16:36:39 +09:00

28 lines
1010 B
Dart

import 'package:hive_flutter/hive_flutter.dart';
import 'package:lunchpick/core/constants/app_constants.dart';
import 'package:lunchpick/domain/entities/restaurant.dart';
import 'package:lunchpick/domain/entities/visit_record.dart';
import 'manual_restaurant_samples.dart';
/// 초기 구동 시 샘플 데이터를 채워 넣는 도우미
class SampleDataInitializer {
static Future<void> seedManualRestaurantsIfNeeded() async {
final restaurantBox = Hive.box<Restaurant>(AppConstants.restaurantBox);
final visitBox = Hive.box<VisitRecord>(AppConstants.visitRecordBox);
// 이미 사용자 데이터가 있으면 샘플을 추가하지 않음
if (restaurantBox.isNotEmpty || visitBox.isNotEmpty) {
return;
}
final samples = ManualRestaurantSamples.build();
for (final sample in samples) {
await restaurantBox.put(sample.restaurant.id, sample.restaurant);
for (final visit in sample.visits) {
await visitBox.put(visit.id, visit);
}
}
}
}