Static analysis cleanup

This commit is contained in:
David Bomba 2023-04-27 07:46:59 +10:00
parent ff93f10f16
commit 2a926c419b
5 changed files with 18 additions and 4 deletions

View File

@ -44,6 +44,7 @@ use League\Fractal\Serializer\JsonApiSerializer;
/** /**
* Class BaseController. * Class BaseController.
* @method static Illuminate\Database\Eloquent\Builder exclude($columns)
*/ */
class BaseController extends Controller class BaseController extends Controller
{ {

View File

@ -52,7 +52,7 @@ class NinjaMailerJob implements ShouldQueue
public $override; public $override;
/* @var Company $company*/ /* @var Company $company*/
public $company; public Company $company;
private $mailer; private $mailer;

View File

@ -40,7 +40,10 @@ use Illuminate\Support\Str;
* @method static \Illuminate\Database\Eloquent\Builder|BaseModel withTrashed() * @method static \Illuminate\Database\Eloquent\Builder|BaseModel withTrashed()
* @method \App\Models\Company company() * @method \App\Models\Company company()
* @method int companyId() * @method int companyId()
* @method Builder|static exclude($columns)
* @method static Builder|static exclude($columns)
* @mixin \Eloquent * @mixin \Eloquent
* @mixin \Illuminate\Database\Eloquent\Builder
*/ */
class BaseModel extends Model class BaseModel extends Model
{ {

View File

@ -821,6 +821,7 @@ use Laracasts\Presenter\PresentableTrait;
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Vendor> $vendors * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Vendor> $vendors
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Webhook> $webhooks * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Webhook> $webhooks
* @method \App\Models\User|null owner()
* @mixin \Eloquent * @mixin \Eloquent
*/ */
class Company extends BaseModel class Company extends BaseModel
@ -1392,7 +1393,10 @@ class Company extends BaseModel
return $this->hasMany(CompanyUser::class)->withTrashed(); return $this->hasMany(CompanyUser::class)->withTrashed();
} }
public function owner() /**
* @return \App\Models\User|null
*/
public function owner(): ?User
{ {
return $this->company_users()->withTrashed()->where('is_owner', true)->first()?->user; return $this->company_users()->withTrashed()->where('is_owner', true)->first()?->user;
} }

View File

@ -11,6 +11,11 @@
namespace App\Models\Traits; namespace App\Models\Traits;
/**
* @template TModelClass of \Illuminate\Database\Eloquent\Model
* @extends \Illuminate\Database\Eloquent\Builder<TModelClass>
* @mixin \Illuminate\Database\Eloquent\Builder
*/
trait Excludable trait Excludable
{ {
/** /**
@ -20,6 +25,7 @@ trait Excludable
*/ */
private function getTableColumns() private function getTableColumns()
{ {
/** @var \Illuminate\Database\Eloquent\Builder|\App\Models\BaseModel $this */
return $this->getConnection()->getSchemaBuilder()->getColumnListing($this->getTable()); return $this->getConnection()->getSchemaBuilder()->getColumnListing($this->getTable());
} }
@ -28,11 +34,11 @@ trait Excludable
* @param Builder $query * @param Builder $query
* @param array $columns * @param array $columns
* *
* @return Builder * @return \Illuminate\Database\Eloquent\Builder|static
*/ */
public function scopeExclude($query, $columns): \Illuminate\Database\Eloquent\Builder public function scopeExclude($query, $columns): \Illuminate\Database\Eloquent\Builder
{ {
/** @var Builder $query */ /** @var Builder|static $query */
return $query->select(array_diff($this->getTableColumns(), (array) $columns)); return $query->select(array_diff($this->getTableColumns(), (array) $columns));
} }
} }