UNPKG

web-push-notifications

Version:
83 lines (82 loc) 2.48 kB
import { type IInboxMessage } from './InboxMessages.types'; import { type EventBus } from '../core/modules/EventBus'; import { type Api } from '../modules/Api/Api'; import { type Data } from '../modules/Data/Data'; import DateModule from '../modules/DateModule'; import Storage from '../modules/storage/Storage'; import { type TInboxMessagesStoreName } from '../modules/storage/Storage.types'; export default class InboxMessages { eventBus: EventBus; data: Data; api: Api; storage: Storage; storeName: TInboxMessagesStoreName; dateModule: DateModule; constructor(eventBus: EventBus, data: Data, api: Api, storage?: Storage, dateModule?: DateModule); /** * Get inbox messages by api */ private getInboxMessages; /** * Store parameters for next getInboxMessages request * @param next * @param newMessagesCount */ private storeGetInboxMessagesRequestParams; /** * Put loaded messages. Add delete status to loaded messages if this status set locally. * @param messages */ private putServerMessages; /** * Create or update inbox message */ putMessage(message: IInboxMessage): Promise<string>; /** * Create or update messages pack * @param messages */ putBulkMessages(messages: Array<IInboxMessage>): Promise<Array<string>>; /** * Delete messages by codes * @param codes */ deleteMessages(codes: Array<string>): Promise<Array<void>>; /** * Delete expired by removal time messages */ deleteExpiredMessages(): Promise<Array<void>>; /** * Get message by code * @param code - inbox_id */ getMessage(code: string): Promise<IInboxMessage>; /** * Get all read messages */ getReadOpenMessages(): Promise<Array<IInboxMessage>>; /** * Get all unread messages */ getDeliveredMessages(): Promise<Array<IInboxMessage>>; /** * All messages count */ messagesCount(): Promise<number>; /** * Get count of messages with status "Delivered" */ getDeliveredMessagesCount(): Promise<number>; /** * Get count of messages with status "Read" */ getReadMessagesCount(): Promise<number>; /** * Get count of messages with status "Delivered" and "Read" */ getDeliveredReadMessagesCount(): Promise<number>; /** * Load messages and sync with locally */ updateMessages(): Promise<void>; }