import 'package:lunchpick/domain/entities/recommendation_record.dart'; abstract class RecommendationRepository { /// 모든 추천 기록을 가져옵니다 Future> getAllRecommendationRecords(); /// 특정 맛집의 추천 기록을 가져옵니다 Future> getRecommendationsByRestaurantId(String restaurantId); /// 날짜별 추천 기록을 가져옵니다 Future> getRecommendationsByDate(DateTime date); /// 날짜 범위로 추천 기록을 가져옵니다 Future> getRecommendationsByDateRange({ required DateTime startDate, required DateTime endDate, }); /// 새로운 추천 기록을 추가합니다 Future addRecommendationRecord(RecommendationRecord record); /// 추천 기록을 업데이트합니다 Future updateRecommendationRecord(RecommendationRecord record); /// 추천 기록을 삭제합니다 Future deleteRecommendationRecord(String id); /// 추천 후 방문 여부를 업데이트합니다 Future markAsVisited(String recommendationId); /// 오늘의 추천 횟수를 가져옵니다 Future getTodayRecommendationCount(); /// 추천 기록을 스트림으로 감시합니다 Stream> watchRecommendationRecords(); /// 월별 추천 통계를 가져옵니다 Future> getMonthlyRecommendationStats(int year, int month); }