Server IP : 92.205.26.207 / Your IP : 216.73.216.16 Web Server : Apache System : Linux 207.26.205.92.host.secureserver.net 4.18.0-553.60.1.el8_10.x86_64 #1 SMP Thu Jul 10 04:01:16 EDT 2025 x86_64 User : zikryat ( 1002) PHP Version : 8.3.23 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/zikryat/public_html/src/common/notification_emitter/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/** * Copyright 2023, the hatemragab project author. * All rights reserved. Use of this source code is governed by a * MIT license that can be found in the LICENSE file. */ import {Injectable} from "@nestjs/common"; import {EventEmitter2} from "@nestjs/event-emitter"; import {UserService} from "../../api/user_modules/user/user.service"; import {UserDeviceService} from "../../api/user_modules/user_device/user_device.service"; import {NotificationType, PushTopics} from "../../core/utils/enums"; import {IMessage} from "../../chat/message/entities/message.entity"; import {RoomMemberService} from "../../chat/room_member/room_member.service"; import {RoomMiddlewareService} from "../../chat/room_middleware/room_middleware.service"; import {GroupMemberService} from "../../chat/group_member/group_member.service"; import {BroadcastMemberService} from "../../chat/broadcast_member/broadcast_member.service"; import {PushKeyAndProvider} from "../../core/utils/interfaceces"; import {IRoomMember} from "../../chat/room_member/entities/room_member.entity"; import {NotificationData} from "./notification.event"; export const rExp: RegExp = new RegExp("\\[(@[^:]+):([^\\]]+)\]", "g"); @Injectable() export class NotificationEmitterService { constructor( private readonly eventEmitter: EventEmitter2, ) { } async adminNotification(title: string, body: string) { this.eventEmitter.emit("send.all.active", title, body); } async subscribeOnesignalTopic(token: string, topic: PushTopics) { this.eventEmitter.emit("topic.onesignal", { token, topic }); } async subscribeFcmTopic(token: string, topic: PushTopics) { this.eventEmitter.emit("topic.fcm", { token, topic }); } async unSubscribeFcmTopic(token: string, topic: PushTopics) { this.eventEmitter.emit("un.sub", { token, topic }); } fcmSend(notificationData: NotificationData) { this.eventEmitter.emit("send.fcm", notificationData); } oneSignalSend(notificationData: NotificationData) { this.eventEmitter.emit("send.onesignal", notificationData); } }