Уведомления — itd.notifications
Список, счётчик, отметки о прочтении и настройки. Все уведомления приведены к единой форме, поэтому объекты отсюда и из потока можно складывать в один список. См. Notification, NotificationType.
Список
list(params?: NotificationListParams): Promise<Page<Notification>>
iterate(params?: NotificationListParams): Paginator<Notification>Страница уведомлений / перебор. Пагинация по смещению (offset / nextOffset).
count(): Promise<number>Число непрочитанных уведомлений.
Отметки о прочтении
markRead(notificationId: string): Promise<number>Отмечает одно уведомление прочитанным. Возвращает, сколько записей отметил сервер.
markReadBatch(ids: string[]): Promise<number>Отмечает несколько. Список автоматически режется на части по 20 идентификаторов, части уходят последовательно, результат суммируется.
markAllRead(): Promise<number>Отмечает прочитанными все уведомления.
Настройки
getSettings(): Promise<NotificationSettings>
updateSettings(input: UpdateNotificationSettingsInput): Promise<NotificationSettings>Читает / обновляет настройки. Отправляются только изменяемые поля. Отсутствующая настройка считается включённой. См. NotificationSettings.
Типы
interface NotificationListParams extends RequestOptions {
limit?: number;
offset?: number; // смещение от начала списка
maxPages?: number;
}
type UpdateNotificationSettingsInput = Partial<NotificationSettings>;Вспомогательные функции
Экспортируются из корня пакета, работают с любым Notification:
formatNotificationText(notification: Notification): stringГотовый текст: «Аня и ещё 2 оценили ваш пост».
resolveNotificationUrl(notification: Notification): string | nullСсылка перехода: /@anya/post/9f1c…. Обычно точнее серверного clickUrl.
canonicalNotificationType(rawType: string): NotificationType
isKnownNotificationType(type: string): booleanПриведение серверного имени типа к каноническому и проверка известности.