<?php

namespace App\Packages\v4\Capsule\Repository;

use App\Packages\Capsule\Models\Capsule;
use App\Packages\Capsule\Models\CapsuleRemoved;
use App\Packages\Capsule\Models\CapsuleSubscriber;
use App\Packages\v4\Core\Repository\AbstractRepository;
use App\Packages\User\Models\User;
use Illuminate\Support\Collection;

/**
 * Class CapsuleRemovedRepository
 * @package App\Packages\Capsule\Repository
 *
 * @method CapsuleRemoved firstById($id)
 *
 * @property CapsuleRemoved $model
 */
class CapsuleRemovedRepository extends AbstractRepository
{
    public static function init()
    {
        return new CapsuleRemovedRepository(CapsuleRemoved::class);
    }

    /**
     * @param Capsule $capsule
     * @param User $user
     *
     * @return bool
     */
    public function capsuleIsRemoved(Capsule $capsule, User $user)
    {
        return $this->query()
            ->where('user_id', '=', $user->id)
            ->where('capsule_id', '=', $capsule->id)
            ->exists();
    }

    /**
     * @param Capsule $capsule
     * @param User $user
     *
     * @return CapsuleRemoved|null|object
     */
    public function capsuleRelation(Capsule $capsule, User $user)
    {
        return $this->query()
            ->where('user_id', '=', $user->id)
            ->where('capsule_id', '=', $capsule->id)
            ->first();
    }
}
