import 'package:dio/dio.dart'; import 'package:cheminova/models/notification_model.dart'; import '../utils/api_urls.dart'; class NotificationService { final Dio _dio = Dio(); Future?> fetchNotifications(String token, String date) async { final String url = ApiUrls.getNotificationUrl; try { final response = await _dio.get( url, options: Options( headers: { 'Authorization': 'Bearer $token', }, ), queryParameters: {'Date': date}, ); // Ensure the response is not void and contains expected data if (response.statusCode == 200 && response.data != null) { final Map data = response.data as Map; if (data.containsKey('success') && data['success'] == true) { List notifications = data['notifications'] ?? []; List notificationModels = notifications.map((notification) { return NotificationModel.fromJson(notification); }).toList(); return notificationModels; // Return the list of NotificationModel } else { print('Failed to fetch notifications: ${data['message'] ?? 'Unknown error'}'); } } else { print('Unexpected response: ${response.statusCode}'); } } catch (e) { print('Exception occurred: $e'); } return null; // Return null if fetching fails } }