web-push-notifications
Version:
Pushwoosh web push notifications
65 lines (64 loc) • 2.06 kB
TypeScript
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>;
}