part of '../oott_api.dart'; /// Notification endpoints: listing and read/new state transitions. extension NotificationApi on BackendAPI { Future markNotificationAsRead(int id) async { await _dio.get('/notifications/$id'); } Future markNotificationAsNew(int id) async { await _dio.post('/notifications/$id/mark_as_new'); } Future markAllNotificationsAsRead() async { await _dio.post('/notifications/mark_all_as_old'); } Future<({List items, bool hasNextPage})> listNotifications( bool? isNew, { int page = 0, int perPage = 5, CancelToken? cancelToken, }) async { final response = await _dio.get( '/notifications', queryParameters: { 'is_new': isNew ?? '', 'page_offset': page * perPage, 'page_limit': perPage + 1, }, cancelToken: cancelToken, ); return _paginate( response.data as List, (item) => Notification.fromJson(item), perPage, ); } }