CommentNotifier.php 1.64 KB
<?php

namespace FootyRoom\Core\Notification;

interface CommentNotifier
{
    /**
     * Notifies author of parent comment and all other users who also made a
     * reply to it.
     *
     * @param int $commentParentId
     * @param int $commentUserId
     * @param int $commentId
     * @param string $notificationContent
     */
    public function notifyReply($commentParentId, $commentUserId, $commentId, $notificationContent);

    /**
     * Notifies all subscribers to specified forum post.
     *
     * @param int $commentPostId
     * @param int $commentUserId
     * @param int $commentId
     * @param string $notificationContent
     */
    public function notifyForumReply($commentPostId, $commentUserId, $commentId, $notificationContent);

    /**
     * Notifies author of parent comment and all other users who also made a
     * reply to it as well as the owner of the wall.
     *
     * @param int $commentParentId
     * @param int $commentUserId
     * @param int $commentId
     * @param int $wallUserId
     * @param string $notificationContent
     */
    public function notifyProfileWallReply($commentParentId, $commentUserId, $commentId, $wallUserId, $notificationContent);

    /**
     * Notifies owner of the wall.
     *
     * @param int $wallUserId
     * @param int $commentUserId
     * @param int $commentId
     * @param string $notificationContent
     */
    public function notifyProfileWallComment($wallUserId, $commentUserId, $commentId, $notificationContent);

    /**
     * Remove all comment notifications triggered by specific comment.
     *
     * @param int $commentId
     */
    public function unnotify($commentId);
}