<?php

namespace App\Repositories\Eloquent;

use App\Models\User;
use App\Repositories\Interfaces\UserRepositoryInterface;
use Illuminate\Support\Collection;

class UserRepository extends BaseRepository implements UserRepositoryInterface
{

    /**
    * UserRepository constructor.
    *
    * @param User $model
    */
    public function __construct(User $model)
    {
       parent::__construct($model);
    }

    public function ordering($field, $order, $users)
    {
        $sorting = $order == 'asc' ? 'sortBy' : 'sortByDesc';

        return $users->$sorting($field);
    }

    public function getByRole($roleId)
    {
        return $this->model->where('role_id', $roleId)->get();
    }

    public function checkUniqueField($email, $username) {
        return $this->model->where('email', $email)->orWhere('username', $username)->first();
    }
}
