<?php

namespace App\Packages\v4\User\Notifications;

use App\Packages\User\Models\User;
use App\Packages\User\Models\UserNotificationPush;
use App\Packages\User\Models\UserNotification;

/**
 * Class NotificationNewFollower
 * @package App\Packages\User\Notifications
 */
class NotificationNewFollower extends AbstractNotification
{
    /** @var User */
    private $userActed;

    /**
     * @param User $owner
     *
     * @param User $userActed
     */
    public function __construct(User $owner, User $userActed)
    {
        $this->owner = $owner;
        $this->userActed = $userActed;
    }

    public function shouldSend()
    {
        return true;
    }

    public function sendApplication()
    {

    }

    public function sendPush()
    {
        $notification = UserNotificationPush::storeNotification($this->owner, TypesNotification::NEW_FOLLOWER);
        $result = $notification
            ->setUser($this->userActed)
            ->persist(true);

        return $result;
    }
}