Перейти к основному содержимому

index

@mineflow/client-react


@mineflow/client-react / notifications

notifications

Type Aliases​

Type AliasDescription
DeviceTokenЗарегистрированный токен: { id, userId, expoPushToken, platform }.
MarkNotificationsReadBodyТело отметки прочтения: { notificationIds }.
NotificationУведомление: { id, eventType, severity, messageKey, params, targetRoles, targetUserId, resourceType, resourceId, createdAt }. Текст НЕ приходит отрендеренным (Ось 2) — клиент локализует его своим каталогом по messageKey + params (как коды ошибок, ADR-0042). Сервер сам фильтрует фид по организации и роли/пользователю.
NotificationMarkReadResultРезультат отметки прочтения: { marked } (число ново отмеченных).
NotificationPageСтраница уведомлений (cursor-пагинация): { items, nextCursor }.
NotificationUnreadCountСчётчик непрочитанных: { count }.
RegisterDeviceTokenBodyТело регистрации push-токена: { expoPushToken, platform }.

Functions​

FunctionDescription
useNotificationsREST-backlog уведомлений получателя (cursor-пагинация, новые сверху). Источник истины ленты — realtime (useRealtimeNotifications) префиксит сюда новые, дедуп по id.
useUnreadNotificationsCountЧисло непрочитанных уведомлений получателя (BL-08) — для бейджа в UI. Сервер считает адресованные строки без receipt'а. Под ключом notifications.unreadCount (вложен в notifications.all) — инвалидация ленты/realtime обновляет и счётчик.

Запись​

FunctionDescription
useMarkAllNotificationsReadОтметить все уведомления прочитанными (BL-08). Идемпотентно. На успехе инвалидирует раздел уведомлений (лента + счётчик непрочитанных).
useMarkNotificationsReadОтметить уведомления прочитанными (BL-08). Идемпотентно (повторная отметка — no-op); адресность проверяет бэк. На успехе инвалидирует раздел уведомлений (лента + счётчик непрочитанных).
useRegisterDeviceTokenРегистрация Expo push-токена устройства за текущим пользователем (ADR-0069). Idempotent (повторная регистрация того же токена — upsert); Idempotency-Key проставляет fetch-слой. Владелец берётся из JWT на бэке — в теле только { expoPushToken, platform }.
useUnregisterDeviceTokenСнятие push-токена устройства по значению (logout, ADR-0069). Idempotent: чужой/несуществующий токен — no-op (204). Org-скоуп и владелец — на бэке.