<?php

namespace Codi22\VLAN;

use User;

class VLAN
{
    /**
     * $v_l_a_n_s object.
     */
    protected $v_l_a_n_s;

    /**
     * Constructor.
     */
    public function __construct(\Codi22\VLAN\Interfaces\VLANSRepositoryInterface $v_l_a_n_s)
    {
        $this->v_l_a_n_s = $v_l_a_n_s;
    }

    /**
     * Returns count of v_l_a_n.
     *
     * @param array $filter
     *
     * @return int
     */
    public function count()
    {
        return  0;
    }

    /**
     * Make gadget View
     *
     * @param string $view
     *
     * @param int $count
     *
     * @return View
     */
    public function gadget($view = 'admin.v_l_a_n_s.gadget', $count = 10)
    {

        if (User::hasRole('user')) {
            $this->v_l_a_n_s->pushCriteria(new \Litepie\Codi22\Repositories\Criteria\VLANSUserCriteria());
        }

        $v_l_a_n_s = $this->v_l_a_n_s->scopeQuery(function ($query) use ($count) {
            return $query->orderBy('id', 'DESC')->take($count);
        })->all();

        return view('v_l_a_n::' . $view, compact('v_l_a_n_s'))->render();
    }
}