1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 08:21:34 +02:00

Updates for static analysis

This commit is contained in:
David Bomba 2023-08-11 18:04:41 +10:00
parent b08d805728
commit b4d48c96d4

View File

@ -13,6 +13,8 @@ namespace App\Models;
use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Eloquent\Relations\Pivot; use Illuminate\Database\Eloquent\Relations\Pivot;
use Awobaz\Compoships\Exceptions\InvalidUsageException;
use Awobaz\Compoships\Database\Eloquent\Relations\HasMany;
/** /**
* App\Models\CompanyUser * App\Models\CompanyUser
@ -44,6 +46,28 @@ use Illuminate\Database\Eloquent\Relations\Pivot;
* @property-read \App\Models\User $user * @property-read \App\Models\User $user
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\User> $users
* @property-read int|null $users_count * @property-read int|null $users_count
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser authCompany()
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser onlyTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser query()
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereAccountId($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereCompanyId($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereIsAdmin($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereIsLocked($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereIsOwner($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereNinjaPortalUrl($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereNotifications($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser wherePermissions($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser wherePermissionsUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereReactSettings($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereSettings($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereSlackWebhookUrl($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser whereUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser withTrashed() * @method static \Illuminate\Database\Eloquent\Builder|CompanyUser withTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|CompanyUser withoutTrashed() * @method static \Illuminate\Database\Eloquent\Builder|CompanyUser withoutTrashed()
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $token * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\CompanyToken> $token
@ -107,53 +131,63 @@ class CompanyUser extends Pivot
} }
/** /**
* * @return \Awobaz\Compoships\Database\Eloquent\Relations\HasOne<User>
* @return \Illuminate\Database\Eloquent\Relations\HasOne<User>
*/ */
public function user_pivot(): \Illuminate\Database\Eloquent\Relations\HasOne
public function user_pivot()
{ {
return $this->hasOne(User::class)->withPivot('permissions', 'settings', 'react_settings', 'is_admin', 'is_owner', 'is_locked', 'slack_webhook_url', 'migrating'); return $this->hasOne(User::class)->withPivot('permissions', 'settings', 'react_settings', 'is_admin', 'is_owner', 'is_locked', 'slack_webhook_url', 'migrating');
} }
/** /**
* * @return \Awobaz\Compoships\Database\Eloquent\Relations\HasOne<Company>
* @return \Illuminate\Database\Eloquent\Relations\HasOne<Company>
*/ */
public function company_pivot(): \Illuminate\Database\Eloquent\Relations\HasOne public function company_pivot()
{ {
return $this->hasOne(Company::class)->withPivot('permissions', 'settings', 'react_settings', 'is_admin', 'is_owner', 'is_locked', 'slack_webhook_url', 'migrating'); return $this->hasOne(Company::class)->withPivot('permissions', 'settings', 'react_settings', 'is_admin', 'is_owner', 'is_locked', 'slack_webhook_url', 'migrating');
} }
public function user(): \Illuminate\Database\Eloquent\Relations\BelongsTo /**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function user()
{ {
return $this->belongsTo(User::class)->withTrashed(); return $this->belongsTo(User::class)->withTrashed();
} }
public function company(): \Illuminate\Database\Eloquent\Relations\BelongsTo /**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function company()
{ {
return $this->belongsTo(Company::class); return $this->belongsTo(Company::class);
} }
/** /**
* @return \Illuminate\Database\Eloquent\Relations\HasMany * @return HasMany
*/ */
public function users(): \Illuminate\Database\Eloquent\Relations\HasMany public function users()
{ {
return $this->hasMany(User::class)->withTrashed(); return $this->hasMany(User::class)->withTrashed();
} }
/*todo monitor this function - may fail under certain conditions*/ /**
* @return HasMany
*/
public function token() public function token()
{ {
return $this->hasMany(CompanyToken::class, 'user_id', 'user_id'); return $this->hasMany(CompanyToken::class, 'user_id', 'user_id');
} }
public function tokens(): \Illuminate\Database\Eloquent\Relations\HasMany /**
* @return HasMany
*/
public function tokens()
{ {
return $this->hasMany(CompanyToken::class, 'user_id', 'user_id'); return $this->hasMany(CompanyToken::class, 'user_id', 'user_id');
} }
public function scopeAuthCompany($query) public function scopeAuthCompany($query): \Illuminate\Database\Eloquent\Builder
{ {
/** @var \App\Models\User $user */ /** @var \App\Models\User $user */
$user = auth()->user(); $user = auth()->user();
@ -168,7 +202,7 @@ class CompanyUser extends Pivot
* *
* @return bool * @return bool
*/ */
public function portalType():bool public function portalType(): bool
{ {
return isset($this->react_settings->react_notification_link) && $this->react_settings->react_notification_link; return isset($this->react_settings->react_notification_link) && $this->react_settings->react_notification_link;
} }