mark single notification as read

This commit is contained in:
amirrezaghabeli
2025-09-28 14:28:18 +03:30
parent 4069c79fd9
commit 6e82f2c73f
6 changed files with 130 additions and 27 deletions
+10 -4
View File
@@ -6,14 +6,20 @@ class NotificationApi {
}
static const String markAllAsRead = '/api/v1/notifications/mark';
static const String markAsRead = '/api/v1/notifications/mark-as-read';
static const String markAsRead = '/api/v1/notifications/mark';
static const String unreadNotifications = '/api/v1/notifications?seen=false';
static String getUnreadNotifications({required int limit, required int offset}) {
static String getUnreadNotifications({
required int limit,
required int offset,
}) {
return '/api/v1/notifications?seen=false&limit=$limit&offset=$offset';
}
static String getImportantNotifications({required int limit, required int offset}) {
static String getImportantNotifications({
required int limit,
required int offset,
}) {
return '/api/v1/notifications?priority=important&limit=$limit&offset=$offset';
}
}
}
+4 -6
View File
@@ -1,8 +1,8 @@
// notification_service.dart
import 'dart:convert';
import 'package:tm_app/core/utils/result.dart';
import 'package:tm_app/data/services/api/notification_api.dart';
import 'package:tm_app/data/services/model/notification__response/notification_response_model.dart';
import '../../core/network/network_manager.dart';
class NotificationsService {
@@ -34,13 +34,11 @@ class NotificationsService {
Future<Result<NotificationResponseModel>> markAsRead({
required String notificationId,
}) async {
final data = jsonEncode({'notification_id': notificationId});
final result = await _networkManager.makeRequest(
NotificationApi.markAsRead,
method: 'POST',
'${NotificationApi.markAsRead}/$notificationId',
method: 'GET',
(json) => NotificationResponseModel.fromJson(json),
data: data,
);
);
return result;
}