Fix notification logic in TalkService to prevent self-notifications for admin users

This commit is contained in:
Narindra ezway 2025-03-12 16:30:50 +03:00
parent e7bf6d0902
commit 5591a27d82

View File

@ -76,9 +76,14 @@ class TalkService {
return '{"commentId":"'.$commentId.'"}';
}
public function sendDevisTalkNotifications(string $message,string $targetUser ,string $senderUser){
$senderAndTargetIsTheSameUser = $targetUser == $senderUser;
$senderUser = $senderAndTargetIsTheSameUser ? BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD : $senderUser;
if( $targetUser === BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD && $senderUser === BddConstant::DEFAULT_ADMIN_ID_NEXTCLOUD){
return;
}
$roomNames = $this->getUserDevisTalkRoomNames($targetUser , $senderUser);
$room = $this->talkDb->getDevisTalkRoomByNames($roomNames);
if($room == null){
@ -96,7 +101,6 @@ class TalkService {
$notificationsSubjectsParameters = $this->getNotificationsSubjectsParameters($senderUser);
$notificationsMessageParameters = $this->getNotificationsMessageParameters($devisMessage['id']);
$this->talkDb->sendAttendeeNotifications($targetUser,$roomToken,$notificationsSubjectsParameters,$notificationsMessageParameters);
return true;
}
}