UNPKG

web-push-notifications

Version:
65 lines (64 loc) 2.06 kB
import { type Api } from './Api/Api'; import { type Data } from './Data/Data'; import DateModule from './DateModule'; import { type default as InboxMessagesModel } from '../models/InboxMessages'; import { type IInboxMessage, type IInboxMessagePublic, type IInboxMessages } from '../models/InboxMessages.types'; export default class InboxMessages implements IInboxMessages { private readonly data; private readonly api; private readonly inboxModel; private dateModule; constructor(data: Data, api: Api, inboxModel: InboxMessagesModel, dateModule?: DateModule); /** * Get message type by IInboxMessageActionParams * @param actionParams */ private messageTypeFactory; /** * Update messages status using codes from arguments * @param codes * @param messages * @param status */ private updateMessagesStatusWithCodes; /** * Build TInboxMessagePublic by TInboxMessage * @param message */ publicMessageBuilder({ action_type, action_params, image, title, send_date, inbox_id, text, status, }: IInboxMessage): Promise<IInboxMessagePublic>; /** * Count of messages with no action performed */ messagesWithNoActionPerformedCount(): Promise<number>; /** * All unread messages */ unreadMessagesCount(): Promise<number>; /** * All messages count */ messagesCount(): Promise<number>; /** * Get all active messages */ loadMessages(): Promise<Array<IInboxMessagePublic>>; /** * Mark messages as read * @param codes */ readMessagesWithCodes(codes: Array<string>): Promise<void>; /** * Execute message action. Type "richmedia" and "plain" does not support * @param code */ performActionForMessageWithCode(code: string): Promise<void>; /** * Delete messages by codes * @param codes */ deleteMessagesWithCodes(codes: Array<string>): Promise<void>; /** * Sync inbox messages with server */ syncMessages(): Promise<void>; }