UNPKG

web-push-notifications

Version:
211 lines (210 loc) 6.51 kB
import { type IInboxMessage } from '../../models/InboxMessages.types'; import { type MultiRegisterDeviceRequest } from '../Api/Api.types'; type TMethodCheckDevice = 'checkDevice'; type TMethodGetConfig = 'getConfig'; type TMethodApplicationOpen = 'applicationOpen'; type TMethodRegisterDevice = 'registerDevice'; type TMethodUnregisterDevice = 'unregisterDevice'; type TMethodDeleteDevice = 'deleteDevice'; type TMethodMessageDeliveryEvent = 'messageDeliveryEvent'; type TMethodPushStat = 'pushStat'; type TMethodSetTags = 'setTags'; type TMethodGetTags = 'getTags'; type TMethodRegisterUser = 'registerUser'; type TMethodRegisterEmail = 'registerEmail'; type TMethodRegisterEmailUser = 'registerEmailUser'; type TMethodRegisterSmsNumber = 'registerSmsNumber'; type TMethodRegisterWhatsappNumber = 'registerWhatsappNumber'; type TMethodSetEmailTags = 'setEmailTags'; type TMethodPostEvent = 'postEvent'; type TMethodGetInboxMessages = 'getInboxMessages'; type TMethodInboxStatus = 'inboxStatus'; type TMethodPageVisit = 'pageVisit'; type TMethodSetPurchase = 'setPurchase'; type TMethodMultiRegisterDevice = 'multiRegisterDevice'; export interface IRequest { application: string; hwid: string; userId: string; device_type: number; device_model?: string; timezone?: number; language?: string; v?: string; } export interface IRequestEmail extends Omit<IRequest, 'hwid' | 'device_type'> { email: string; } export interface IRequestSmsNumber extends Omit<IRequest, 'hwid' | 'device_type'> { number: string; } export interface IRequestWhatsappNumber extends Omit<IRequest, 'hwid' | 'device_type'> { number: string; } interface IRequestGetConfig extends IRequest { features: string[]; } interface IRequestRegisterDevice extends IRequest { push_token?: string; public_key?: string; auth_token?: string; } interface IRequestRegisterUser extends IRequest { ts_offset: number; } interface IRequestRegisterEmail extends IRequestEmail { tags?: { [key: string]: any; }; ts_offset: number; } interface IRequestRegisterEmailUser extends IRequestEmail { ts_offset: number; } interface IRequestRegisterSmsNumber extends IRequestSmsNumber { ts_offset: number; } interface IRequestRegisterWhatsappNumber extends IRequestWhatsappNumber { ts_offset: number; } interface IRequestSetEmailTags extends IRequestEmail { tags: { [key: string]: any; }; } interface IRequestPostEvent extends IRequest { event: string; attributes?: { [key: string]: any; }; timestampUTC?: number; timestampCurrent?: number; } interface IRequestMessageDeliveryEvent extends IRequest { hash: string; metaData: { [key: string]: any; }; } interface IRequestPushStat extends IRequest { hash: string; metaData: { [key: string]: any; }; } interface IRequestSetTags extends IRequest { tags: { [key: string]: any; }; } interface IRequestGetInboxMessages extends IRequest { userId: string; last_code: string; count?: number; last_request_time: number; } interface IRequestInboxStatus extends IRequest { userId: string; inbox_code: string; time: number; status: number; hash?: string; device_type: number; } interface IRequestPageVisit extends IRequest { title: string; url_path: string; url: string; } interface IRequestSetPurchase extends IRequest { transactionDate: string; quantity: number; currency: string; productIdentifier: string; price: number; } type IResponse = void; interface IResponseCheckDevice { exist: boolean; push_token_exist: boolean; } interface IResponseGetConfig { features: { page_visit?: { entrypoint: string; enabled: boolean; }; vapid_key?: string; web_in_apps?: { enabled: boolean; }; events?: string[]; subscription_prompt?: { useCase: 'not-set' | 'default' | 'not-used'; }; }; } interface IResponseGetTags { result: { [key: string]: any; }; } interface IResponsePostEvent { code?: string; } interface IResponseGetInboxMessages { messages: Array<IInboxMessage>; next: string; deleted: Array<string>; new_inbox: number; } export type TMethod = TMethodCheckDevice | TMethodGetConfig | TMethodApplicationOpen | TMethodRegisterDevice | TMethodUnregisterDevice | TMethodDeleteDevice | TMethodMessageDeliveryEvent | TMethodPushStat | TMethodSetTags | TMethodGetTags | TMethodRegisterUser | TMethodRegisterEmail | TMethodRegisterEmailUser | TMethodRegisterSmsNumber | TMethodRegisterWhatsappNumber | TMethodSetEmailTags | TMethodPostEvent | TMethodGetInboxMessages | TMethodInboxStatus | TMethodPageVisit | TMethodSetPurchase | TMethodMultiRegisterDevice; export interface IMapRequest { checkDevice: IRequest; getConfig: IRequestGetConfig; applicationOpen: IRequest; registerDevice: IRequestRegisterDevice; unregisterDevice: IRequest; deleteDevice: IRequest; messageDeliveryEvent: IRequestMessageDeliveryEvent; pushStat: IRequestPushStat; setTags: IRequestSetTags; getTags: IRequest; registerUser: IRequestRegisterUser; registerEmail: IRequestRegisterEmail; registerEmailUser: IRequestRegisterEmailUser; registerSmsNumber: IRequestRegisterSmsNumber; registerWhatsappNumber: IRequestRegisterWhatsappNumber; setEmailTags: IRequestSetEmailTags; postEvent: IRequestPostEvent; getInboxMessages: IRequestGetInboxMessages; inboxStatus: IRequestInboxStatus; pageVisit: IRequestPageVisit; setPurchase: IRequestSetPurchase; multiRegisterDevice: MultiRegisterDeviceRequest; } export interface IMapResponse { checkDevice: IResponseCheckDevice; getConfig: IResponseGetConfig; applicationOpen: IRequest; registerDevice: IResponse; unregisterDevice: IResponse; deleteDevice: IResponse; messageDeliveryEvent: IResponse; pushStat: IResponse; setTags: IResponse; getTags: IResponseGetTags; registerUser: IResponse; registerEmail: IResponse; registerEmailUser: IResponse; registerSmsNumber: IResponse; registerWhatsappNumber: IResponse; setEmailTags: IResponse; postEvent: IResponsePostEvent; getInboxMessages: IResponseGetInboxMessages; inboxStatus: IResponse; pageVisit: IResponse; setPurchase: IResponse; multiRegisterDevice: IResponse; } export {};