<?php

namespace App\Models\Concerns;

use App\Models\Scopes\CompanyScope;
use App\Services\CompanyResolver;
use Illuminate\Database\Eloquent\Builder;

trait BelongsToCompany
{
    public static function bootBelongsToCompany(): void
    {
        static::addGlobalScope(new CompanyScope(app(CompanyResolver::class)));
    }

    public function company(): \Illuminate\Database\Eloquent\Relations\BelongsTo
    {
        return $this->belongsTo(\App\Models\Company::class);
    }

    public function scopeWithoutCompanyScope(Builder $builder): Builder
    {
        return $builder->withoutGlobalScope(CompanyScope::class);
    }
}
