<?php

namespace App\Models\Scopes;

use App\Models\Company;
use App\Models\TeamMember;
use App\Models\User;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Scope;
use Illuminate\Support\Facades\Auth;


class CompanyScope implements Scope
{
    public function apply(Builder $builder, Model $model): void
    {

        if (Auth::user()) {

//            $builder->where($model->getTable() . '.company_id', '=', Auth::user()->company_id);
            if (Auth::user()->super_admin || Auth::user()->company_admin) {
                $company = Company::query()
                    ->where('id',Auth::user()->company_id)
                    ->orWhere("parent_id", Auth::user()->company_id)
                    ->pluck("id");
                $builder->whereIn($model->getTable() . '.company_id', $company->toArray());
            }else{
                $builder->where($model->getTable() . '.company_id', '=', Auth::user()->company_id);
            }
        }

    }
}