UNPKG

phx-node

Version:

PHX NODE

80 lines (79 loc) 2.1 kB
import { HttpService } from "@nestjs/axios"; import { ConfigService } from "@nestjs/config"; import { ActionCode, Attachment, EmailType, IGroupRequestType, NotificationType } from "./push-notification.service"; export interface PushNotiMobileV2 { title: string; message: string; module_code: string; app: string; payload: Record<string, unknown>; note?: string; description?: string; } export interface InappNotiEmailV2 { emailType: EmailType; subject: string; title: string; previewText: string; callToActionURL?: string; callToActionText?: string; content?: string; listRequests?: IGroupRequestType[]; description?: string; tag?: string; attachments?: Attachment[]; footerMessage?: string; } export interface RequiredActionV2 { task_target_id: string; due_date?: string; } export interface CompleteRequiredActionV2 { hostname: string; user_id: number; app?: string; action_code: string; task_target_id: string; } export interface PushInappNotiV2 { hostname: string; send_to_user_id: number; student_id?: number; action_code: ActionCode; notification_type?: NotificationType; call_to_action_url?: string; mobile_push?: { enabled: true; data: PushNotiMobileV2; } | { enabled: false; }; email_push?: { enabled: true; data: InappNotiEmailV2; } | { enabled: false; }; create_required_action?: { enabled: true; data: RequiredActionV2; } | { enabled: false; }; } export declare class PHXPushNotificationServiceV2 { private readonly httpService; private readonly configService; private readonly logger; constructor(httpService: HttpService, configService: ConfigService); private pushNoti; private complete; send(payload: PushInappNotiV2): Promise<{ status: string; message: string; }>; completeRequireAction(payload: CompleteRequiredActionV2): Promise<{ status: string; message: string; }>; }